InfoQ Homepage Java Content on InfoQ
-
Programming with Values in Clojure
Alan Dipert discusses the benefits of functional programming in Clojure, suggesting using pure functions to process values and sometimes explicit procedures for needed side effects.
-
The Design of Datomic
Rich Hickey discusses the design decisions made for Datomic, a database for JVM languages: what problems they were trying to solve with it, the solutions chosen, and their implementations.
-
Oracle Public Cloud Architecture
Tyler Jewell discusses the multi-tenancy model and elasticity solution implemented by Oracle Public Cloud which provides a database, Java and a number of sales and marketing applications as services.
-
Evident Code, at Scale
Stuart Halloway shares advice on creating evident code that scales. Evident code is software that clearly expresses its meaning and purpose.
-
Is Enterprise Java Ready for Mobile and Cloud?
Mark Little reviews the hardware and software forces that led to today’s ubiquitous computing marked by mobile and cloud computing, and its impact on Java and middleware in the enterprise.
-
Ozma: Extending Scala with Oz Concurrency
Peter Van Roy discusses solving concurrency issues with deterministic concurrency using Ozma, an extension of the Scala language employing the Oz deterministic dataflow concepts.
-
Why Prismatic Goes Faster With Clojure
Bradford Cross recommends creating custom libraries containing composable abstractions instead of monolithic frameworks, exemplifying with Flop, Store, Graph, and Newsfeeds, all written in Clojure.
-
Have Your Cake and Eat It Too: Meta-Programming Java
Howard Lewis Ship explains how to perform meta-programming in Java using annotations, bytecode manipulation and component architecture, as it is done by the Tapestry framework.
-
Why is a Monad Like a Writing Desk?
Carin Meier tells the story of Alice discovering Monads, meeting three types of monads – Identity, Maybe, State-, and learning how to implement them in Clojure.
-
Do You Really Get classloaders?
Jevgeni Kabanov discusses the existing problems with Java class loaders and corresponding solutions, covering live code updates through process isolation and in-app updates.
-
Polyglot Programming: The Power of Hybridization
Bruce Eckel emphasizes using different languages within a project, each one for the task it is better fitted for, and giving several such examples: Python+Scala, Go+Python, Python+CoffeeScript.
-
Play!: I’ll See Your Async and Raise You Reactive
Guillaume Bort and Sadek Drobi introduce Play, a Java and Scala web development framework, insisting on its asynchronous reactive capabilities built on Iteratee IO.