Blog of RubiKen Inc.

Web Development: A Crazy World

UPDATE: Added A Few References

This post made it the top list on Hacker News. A few people there mentioned the original English post that was written by eranation. Here is the original piece: http://www.zemanta.com/blog/i-bet-you-over-engineered-your-startup/#comment-685047168, which was picked up by Tilo Mitra: http://tilomitra.com/the-crazy-world-of-code/ and previously discussed in HN at http://news.ycombinator.com/item?id=4226990. So my translation in this post should be considered ‘unofficial’. Glad that it’s not too far off from the original English post after being translated twice. For the purpose of completeness, I would also mention that the Chinese post I referred to can be found at http://www.newsmth.net/nForum/#!article/Java/308660, thought that eranation was a member of newsmth.org but couldn’t find him there. Need to improve me Google-fu next time, thank you guys for all the tips.

Web development has been an open arena for multiple competing technologies since its birth, and even more so nowadays. The other day I encountered a rant at newsmth.org (a Chinese tech forum) that resonates what I've been observing for the past two years. The original piece was in Chinese. Here is my translation.

I admit: I couldn’t keep up. Just learned Backbone.js and only found out it’s already out of fashion, I probably should have used ember.js. Trying to get a hold of ember.js, someone told me to use Meteor, oh, no, no, should be Angular, um, Tower.js is the current hottie (based on node.js). As for HTML template, I should use handlebars, not mustache, wait a second, DOT.js, seems better, wait, why use a HTML parser in a browser? Is that the browser supposed to do? Thus, no need to use HTML template? Yes, use DOM snippets, wait, are you talking about web components? Isn’t that W3C for? Or you are talking about developing web apps in plain Javascript like what Google does? Bullshit, I only need CoffeeScript, it performs very well, so why not CoffeeScript? Or use Coo, LiveScript, DART, GWT? OK, that’s too many to choose from, I might as well go back to Ruby on Rails. No? Ruby on Rails is clunky and not extensible? How about Grails, Groovy, Roo? Too simple to use? All right, how about node.js? Not extensible as well? But, it enables me to write code for both client side and server side, oh, even MongoDB in one language - Javascript. No, don’t like Javascript? How about PHP? I hear ya, it’s not thread-safe. Are you joking? All right, let’s go back to server-side programming. Back to Java? No good? Lisp, or Clojure? Great, it has a bridge/protocol buffer/thrift, in this way even Haskell programmers can come on board to write web apps. Or use Scala/Lift/Play, they are the best framework came into being, because FourSqure is using them so they must be good. Of course, we shouldn’t use SOAP and will use JSON RESTful services, only banks and Walmarts use SOAP, and (for persistence) certainly no SQL DB, since they are not flexable.

I see. I plan to outsource it. The vendor may use a Wordpress template, then copy and paste a few jQuery code, which will achieve the same effects, no need to make any difficult technical decisions as above.