On the Seattle Tech Startups mailing list, there’s been a discussion recently about the pros and cons of various development platforms. Eventually it devolved, as many of these discussions do, into a general throwing up of hands and a recommendation by several people to avoid development stack debates, because it inevitably leads nowhere.
I’m not so sure I agree with the proscription.
It seems to me that there are few things in play:
- Very few developers know more than a few stacks well enough to assess whether or not they are REALLY better or worse for certain tasks. For example, I don’t have enough Python or Ruby experience to be able to pass on anything other than secondhand knowledge (and my own guesses) about their true capabilities relative to, say, .NET.
- There are intrinsic and extrinsic factors that can be evaluated for each stack. Intrinsic factors are things like readability, breadth and depth of built-in libraries, expressiveness, flexibility, etc. Extrinsic factors are things like cost, availability of developers, vendor support, etc.
- The notion that each common stack is as good as the other is bunk, in my opinion. Maybe it’s my latent objectivist streak, but just as C# is objectively more productive than assembler for web development, you could pit any two languages, and – given perfect information – come up with a rank-ordered list for any required scenario.
Someone on the STS list asked the reasonable question: “where do I go to get information about the various choices?” I agree with the commenter who thought listservs like STS are a great place to go in theory. It’s mostly working professionals, in or near the startup experience, and refreshing lacks the anonymous yahoos that flame away on Google Groups tech lists.