Composer of Music and Software

Favorites

I have a solid background in Java, having used it for over ten years. Like many Java developers, I’m excited about the new JVM languages available, particularly Scala. The Scala language really hits the sweet spot of general-purpose languages, in my opinion, encouraging functional programming while recognizing that the object-oriented paradigm is useful in many situations. It is simultaneously concise, fast, and expressive, yet offers powerful compile-time checks. I think automated testing great, but it should complement good engineering and compiler checks, rather than replacing them.

Of the major Java IDEs, I prefer IntelliJ IDEA, though I have had a lot of experience with both NetBeans and Eclipse. Eclipse seems to be the least stable and intuitive, while IntelliJ has simultaneously a great feature set and is easy to use.

I’ve done both client-side and server-side development. On the client-side, I think JavaFX has promise and I like its approach; I used it to build Sebastian. Server-side, I like Play Framework 2. I’ve been able to put together small web applications extremely quickly using Play, and I appreciate its focus on static type checking. Now with Scala.js, which compiles Scala directly to JavaScript, it is possible to build all layers of a web application in the Scala, gaining the benefits of this language across the entire stack.