I can't imagine what competitive advantage using Java (or C#) to create a startup provides these days. I can see why the JVM is sometimes a good idea. But java?
The only advantage Java provides *these* days over something like Clojure or Scala (or Python or even a c + scripting language combination depending on domain, let alone more powerful languages) is that you can be sure an average dumbo "programmer" hired off the street won't run away screaming when introduced to the code base. But if you are a software *startup* (vs big, fat and slow MegaCorp), why would you want to hire "average" (we'll be kind here) programmers?
I mean if you need a lot of libraries, use a better language on the JVM. If you need only a few, use the most powerful language you know. I would have thought it was obvious.
Well I thought about it and found an answer.
Startups are not necessarily founded by great programmers (who presumably are fluent in better languages than java or C#). They are often founded by MBA/business types who bring in a programmer they know and unsurprisingly enough these are the mediocre "enterprise" type of programmer. And they reach for what they know and are comfortable with, and hey presto, yet another j2ee/dotNet startup!
COntinued in Part 2, Part 3 , Part 4