Apr 22, 2008 10:00
A programmer I admire greatly twittered the following today:
Dear Ruby haters: I used to be afraid of the table saw until I learned how to use it safely. This did not involve nerfing the table saw.
I have great respect for this man, but we have a fundamental disagreement about a language he uses by choice and I use by necessity. I have a bunch of disagreements with the language, but my real problem is with the community. To continue with the power tool analogy, Ruby is a table saw with all sorts of dangerous fittings on it. It is powerful, and in skilled hands it can be exceedingly useful. However, part of the power is that it is easy to replace bits of the drive train or add extra blades as requires. Now, this is a non-issue in skilled hands. The problem is that many of the extra fittings and modifications are not built by skilled hands, including the manufacturer-supplied brand-stamped officially-approved ones. These dodgy fittings usually work fine, but can occasionally unleash a maelstrom of whirling metallic doom.
Back to reality from the analogy. The Ruby culture seems to value "clever" code and metaprogramming even when there are better alternatives. Individual programmers or competent teams can overcome this bias, but eventually they are going to want to use third-party code or some of the darker corners of the standard library. This is where the pain really starts.
programming,
ruby