August 8, 2006
Ruby is a terrible language. I learned the language and wrote a small program to exploit most of the language features. While doing so I recorded the idiosyncracies and inconsistencies as I tripped over them. The list just kept growing. Rather than list them all here, let me make a broader comment: there is no such thing as a scripting language. The moniker “scripting language” is often used as an excuse for a half-assed language design running on a poorly implemented interpreter. Advocates extol how easy it is to write trivial programs. Writing small programs was never a problem. The issue is that any popular language is going to be used to write large programs, and large programs require certain features to reduce complexity and prevent run-time errors. With all that’s known about good software engineering and programming language design, the fact that so many are drawn to Ruby is proof, if you still need it, that the vast majority of programmers are morons. If popular equals good, then McDonald’s is haute cuisine.