Trying to find a Java equivalent for Clojure + Compojure + Noir

Originally published November 17, 2013

For a few years my most used stack for writing web applications has been Clojure + Compojure+ Noir, usually using Bootstrap, with some experiments using Ember.js and Meteor. After playing a lot with Java 8 (with lambdas, Streams, etc.) I am considering once again using Java as one of my go-to languages for new projects.

Even with new language features, Java 8 is not quite the fun developer's experiences as Clojure, JRuby, and Scala but Java has a few advantages: lots of available developers, great tooling, mature tooling, and a wealth of libraries.

I looked hard at Scala and Scalatra but there are rough edges to Scala (like sbt!) that I don't particularly like. Clojure is close to the efficiency of Java (about a factor of 2, in both space and time) but not as efficient. I love coding in Ruby, but the runtime performance keeps me from using Ruby except for small scripts for text processing, quick Sinatra web apps, etc.

I have experimented this weekend with Java 8 + Spark (has Sinatra style routing) + Freemarker templating + Bootstrap. I don't have the warm feeling with this combination that I do for Clojure + Compojure+ Noir and for Ruby + Sinatra. I need to try a small project to kick the tires, but I would really like to give Java 8 a shot at recapturing my "developer's mindshare."


Popular posts from this blog

Ruby Sinatra web apps with background work threads

My Dad's work with Robert Oppenheimer and Edward Teller

Time and Attention Fragmentation in Our Digital Lives