Vaughn Vernon, author of Implementing Domain-Driven Design, recently talked about using Scala and the Actor Model implementation Akka together with Doman-Driven Design as a means to remove some of the architecture overhead typically found in event-driven or hexagonal architectures.
Oracle have released videos and slides from the 2013 JVM Language Summit, which saw uses of the JVM from the biggest data to the smallest mobiles, and future performance advances in the JVM runtime. Read on to find out more about what was covered.
core.typed adds an optional type system to Clojure, aiming to combine the best of both worlds: the brevity and flexibility of Clojure and the safety guarantees that a type-checker provides.
Charles Nutter, one of the lead developers of JRuby, announced the release of version 9000 (9K) in 2014. The new release targets the same feature set as Ruby MRI 2.0 and possibly 2.1 as well. Better performance, concurrency support and overall availability and portability provided by the use of the JVM can make this version suitable for production systems.
The 2.3 GA version of the Grails web framework was released this week. The release came in the midst of the SpringOne 2GX conference, and some of the new version's features were demonstrated during the second night keynote by Grails project lead, Graeme Rocher.
Ruby’s creator announced the move to generational garbage collection in Ruby 2.1 in what is expected to be an important performance boost for the language. The announcement took place during Barcelona Ruby Conference where Ruby’s GC was singled out as a major pain point in large scale Ruby deployments.
After active annotations were introduced in Xtend 2.4, they received an API for accessing the file system with version 2.4.3. Active annotations let developers influence the way, Xtend source code is translated to Java source code. With the help of the new file system API, further artifacts like property files or fingerprints and digests can be derived from Xtend sources.
Reactive programming (RP) is based on data flows and the propagation of change, with the underlying execution model of a programming language automatically propagating changes through the data flow. With the popularity of event-driven, scalable, and interactive architectures both on the server and the client, the concept of “reactiveness” is increasingly gaining attention.
For many of us Twitter has become an essential communications utility. Since experiencing scalability problems in 2010, Twitter has moved to a loosely coupled service oriented architecture based on the JVM, allowing it new levels of scalability and feature agility. Twitter engineering recently reported a new record throughput and took time out to describe their new architecture.
Oracle has reversed their decision to remove the method sun.reflect.Reflection.getCallerClass(int) in Java 7u40. The method is planned to remain at least through Java 7.
In recent years, new trends like mobile clients and social networks forced web applications to handle more and more concurrent connections. This resulted in new server architectures based on eventing and asynchronicity which you can find for example in Vert.x. Tim Fox told InfoQ what's new in version 2.0 of Vert.x.
While it has been less than a month since the announcement of the core.async Clojure/ClojureScript library, a number of blog posts have been published describing how to use it effectively to avoid "callback hell" in front-end code, and showing off simple code resulting in some impressive demos.
During QCon New York 2013, Rich Hickey gave a talk on functional databases. Hickey is well known for creating the Clojure programming language and is currently developing Datomic, which is a functional database. During his talk, Hickey argued that the useful properties of functional languages: data as values and pure functions, are just as useful in the context of databases.