Clojure
Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.
- Java,
Tracking change and innovation in the enterprise software development community
Posted by R.J. Lorimer on May 25, 2008 12:18 PM
As announced by John Rose, The early draft review for JSR-292 has been released on the heels of JavaOne. JSR-292 is an effort to define the specification of the invokedynamic instruction for the Java Virtual Machine.Later in the same entry, he describes the solution the JSR-292 team is proposing:Why add another invoke bytecode? The answer is that call sites (instances of invoke bytecodes) are useful, and yet the existing formulas for invocation are tied so closely to the Java language that the natural capabilities of the JVM are not fully available to languages that would benefit from them. The key restrictions are:
Dynamic languages implementors expend much time and effort working around these limitations, simulating generic calls in terms of JVM invoke bytecodes constrained by the Java language.
- the receiver type must conform to the resolved type of the call site
- there is no generic way to create adapters around call targets (a corollary of the previous point)
- the call site must link, which means the resolved method always pre-exists
- the symbolic call name is the name of an actual method (a corollary of the previous point)
- argument matching is exact with no implicit coercions (another corollary)
- linkage decisions cannot be reversed (although optimization decisions change, invisibly)
Our solution to these requirements is in three steps. First, we factor out method handles as a simple and generic way of managing methods (arbitrary JVM methods) as units of behavior, which are (as methods should be) directly callable. Second, we define an invokedynamic instruction with one machine word of linkage state, a handle to the call site’s target method. Third, we define a set of core Java APIs for managing linkage state and creating the target method handles for call sites, taking care they these APIs can present the right optimization opportunities to JVMs that wish to exploit them.The announcement of the early draft review kicks off the 90-day review period of the JSR, which will conclude on August 17th, 2008. There are a number ways to stay informed and provide feedback on this JSR as the review period continues:
Gnip Case Study: Reliable and Scalable Access to Massive Data Streams from Multiple Sources
Terracotta 10x Faster Than Oracle Coherence
Hibernate without Database Bottlenecks
Why Should I Care About Terracotta?
Terracotta 2.7 Download now for scalability without tradeoffs
Terracotta is Scalability and Availability for Java Applications. It clusters the JVM itself, which dramatically simplifies development and reduces database dependency.
Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.
We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.
Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.
Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.
Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.
Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.
The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.
Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.
No comments
Reply