prog: (monkey)
prog ([personal profile] prog) wrote2007-04-26 11:38 am
Entry tags:

Perl 6

I feel the gentle winds of conventional wisdom buffeting me towards Ruby.

Is there a practical reason why I might want to do this? Coz if I learned it just for S&G but then didn't immediately start using it for serious, I'd forget it.

"Dude, Rails" is not a sufficient reason, unless you can tell me why I'd want to use Rails over any Mason-based solution.

(Referring to Ruby as "Perl 6" is from [livejournal.com profile] xach, and the funniest in-joke I've heard all week.)

Re: Mr. Grumpy

[identity profile] radtea.livejournal.com 2007-04-27 12:55 am (UTC)(link)

I was walking down the hall at a client's office the other day and commented to one of their engineers, "I'm old and cynical." A VP who was behind us, who's known me for years, piped up with, "I'm certainly not going to contradict you on that!" So I guess I count as a grumpy old man too.

About ten years ago I stopped learning new languages. I am guru-level with C++ (and FORTRAN, not that it matters anymore), pretty good with Perl, adequate with Java and Python and a few others. I resisted Python for a long time because maturity is the big value-add: I want to be able to dig up a lib to do any reasonable and most unreasonable tasks with a language. That's the only way it's worth my investment to learn the quirks.

So I'm a sworn enemy of all these languages like Ruby, Haskell and Lua, despite their growing popularity in many circles. Like you said, syntax is over-rated, which is why I like Perl: it doesn't have any! LIBRARIES are what make a language great, once it has reached a basic level of syntactical maturity.

No one would call Perl or C++ pretty, but they not only have the expressive power to do everything I could possibly want (and a good deal more than some maintenance programmers can handle) they also have really deep libraries, covering all the ground I need. There are very, very few things that someone hasn't already done in these languages, and I'm happy to exploit that store of past effort rather than waste my time reinventing the wheel.

So my advice to anyone who wants to learn a new language is to do it for fun if you want, but for production code a) stick to what you know and b) focus on what has the best, deepest, richest libs.