Michael Tsai - Blog - Perl vs. Python vs. Ruby
July 20, 2007 6:59 PMI find it interesting the number of programmers who assume that shorter code == better code.
Having programmed for a quarter century and professionally for 15 years, having gone through literally dozens of languages, operating systems, and development environments, I’ve come to a few conclusions:
1. Good programmers are rarely flashy.
2. Good code is rarely impressive; rather, it’s clean and functional.
2a. Good code is easy to read.
2b. Good code is easy to understand (variant of 2a.)
2c. Good code is easy to maintain (result of 2a. and 2b.)
3. Good programmers produce good code.
3a. Good code is OPTIMIZED LATE. Early optimization (in other words, optimizing before you know the scope of the problem) is a telltale giveaway of a programmer who thinks he knows more than he does.
4. Good programmers rarely brag about it, rather they just know that it’s what they’re paid to do, and they do it instinctively.
5. Good programmers are rarely impressed with the newest hype or fad, and good programmers can write good code in any language.
6. The language usually doesn’t make anywhere near as much of a difference as the programmer’s skill does. I’ve seen beautiful, clean, maintainable, performant Perl code, and horrible, ugly, slow Python/Ruby code. It’s all in the skill of the coder. NB: I’m not bragging; I’ve written code that falls into both the former and the latter categories.
6a. API/portability differences usually make much more of an impact than syntax. The poster who recommended choosing your featureset/API first, then learning the language required, was spot on. It almost always takes much longer to roll your own than it does to learn a new system. No matter how much better you *think* you can do it.So while this is an interesting read (esp. wrt syntax differences between the three scripting languages), I don’t think it’s terribly edifying.
