From: Phillip Gawlowski Date: 2008-04-08T23:36:27+09:00 Subject: Re: RubyâEURO(tm)s not ready - an indepth essay -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 | However I did sympathise with the author's comment on having too many | ways to do the same thing. They pretty much mirror my feelings: that | you either learn them all (in which case you lost in simplicity) or | you'll have a very hard time reading other people's code. I admit | though that it makes _writing_ code easier. | | I know however that the Ruby community is strongly in favour of this | "feature", so I was wondering why. Learning Ruby as my first language, I can emphasize with this issue. But: The TMTOWDI approach helps with productivity. A lot. I switch between the different idioms and methods as the situation requires. Sometimes it is more natural to use #match, sometimes it is more natural to use #scan, depending on the situation. The only problem I've had is the less than optimal documentation for Ruby, so it is rather difficult to find what a method does or, sometimes, where it comes from. And lets face it: Most code in the world is write-only: It's written once, and becomes instant legacy code. How often is code completely revisited, and has to be re-factored in an amount of time that makes it impossible to wrap one's head around it again? Not much, and it doesn't happen often (mostly in languages that are used in the enterprise, where refactoring tools are available, and IDEs are more useful than with Ruby at the moment). Besides, it helps with problem solving, I've noticed, the more Ruby I pick up. It's a matter of using the right tool for the right job within the language itself. However, I've not yet formalized my IT knowledge, so take it with a grain of salt. My view is an opinion. Treat it as such. - -- Phillip Gawlowski Twitter: twitter.com/cynicalryan Write first in an easy-to-understand pseudo-language; then translate into whatever language you have to use. ~ - The Elements of Programming Style (Kernighan & Plaugher) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkf7guQACgkQbtAgaoJTgL93AACgmigzprUIZJD87pcNyae5IO+7 W6AAn02u5jVsqJ3+2rYNB9xN5hOG88lX =FPEN -----END PGP SIGNATURE-----