Wrapping up the summer

Entering the crazy world of code

Published on 12 July 2012

It’s one of those posts that relates to everyone, but it had been on the edge of my mind recently. This post, titled the “Crazy World of Code”, appeared on Hacker News a few days ago. It references a comment on a different HN article.

This posts nests the comment three levels deep, so I’ll include the original comment.

I agree, I can’t keep up. I just finished learning backbone.js and now I’m found out on that it’s old news, and I should use ember.js, cross that, it has opinions, I should use Meteor, no, AngularJS, no, Tower.js (on node.js), and for html templates I need handlebars, no mustache, wait, DoT.js is better, hang on, why do I need an HTML parser inside the browser? isn’t that what the browser for? so no HTML templates? ok, DOM snippets, fine, Web Components you say? W3C are in the game too? you mean write REGULAR JavaScript like the Google guys? yuck, oh, I just should write it with CofeeScript and it will look ok, not Coffee? Coco? LiveScript? DART? GWT? ok, let me just go back to Ruby on Rails, oh it doesn’t scale? Grails? Groovy? Roo? too “Springy?” ok, what about node.js? doesn’t scale either?? but I can write client side, server side and mongodb side code in the same language? (but does it have to be JavaScript?) ok, what about PHP, you say it’s not really thread safe? they lie?? ok, let me go back to server coding, it’s still Java right? no? Lisp? oh it’s called Clojure? well, it has a Bridge / protocol buffers / thrift implementation so we can be language agnostic, so we can support our Haskell developers. Or just go with Scala/Lift/Play it’s the BEST framework (Foresquare use it, so it has to be good). of course we won’t do SOAP and will use only JSON RESTful services cause it’s only for banks and Walmart, and god forbid to use a SQL database it will never scale

One project, one language

This post had me thinking about a related topic. I was talking to one of my coworkers about mailing lists, and he said that he followed the Lua mailing list because he was “a big fan of the Lua language.”

Again, it’s one of those phrases that stick in my head. I’ve done about one distinct language per project1, 2, but I’ve never considered myself a “big fan” of any as a whole. Each time I start a new project, too, it’s hard not to chase the shiny objects. There’s a lot out there.

It would be nice to start working toward knowing a language more intimately, like how Jon Skeet knows C#.

The rest of the summer

I’m giving Scala a shot for my “standard language.” I’ve liked my experiences with both OCaml (functional, statically typed) and Java (object-oriented, compiled, statically typed). It seems like a language that I would really like, though, to clarify, it won’t be the right tool for all problems.

I thought deeply about this post because there’s two distinct ideas floating in my head, and I’m pretty excited to dig into both. I’ve read a lot this summer and depended on my internship for “doing,” but I finally sat down and started thinking about projects that I’d like to start.

One last reading for Scala, more exploit-exercises, and these (still under the radar) projects.

  1. Way different from one distinct project per language
  2. catch (Exception e) { Java, Objective-C }