|Just another Perl shrine|
Ok, I admit it. I am getting turned on by eclectic language voodoo. I'm becoming a language snob. I judge languages by the transparency of anonymous-function usage and the level of gorp one has to wade through to achieve things that are (by public consensus) actually quite insane. It's not enough for a language to have map anymore -- what level would I have to go through to manipulate the symbol table, to create a transaction, to use higher level functions effectively...
When I used to learn a language, I'd look up how to do File I/O, or I might implement Conway's Game of Life. No longer. And hey, I didn't use to be this way at all. In college, I thought I liked order. Maybe that was because I wasn't exposed to chaos... Ah, the joys of chaos... In chaos lies beauty (ok, you are thinking TSI is nuts now).
So, rambling am I? I have a phone-interview Monday with a Python shop. Pulled up the language today and said "it can't be that bad", and no .. after 1.5 yrs of not touching Python, it's not that bad. But it's not that good either. They limit lambdas to one liners. I was in shock. Anonymous functions? Castrated for no apparent reason? Ok, I can deal with it... but not having anonymous functions makes me feel like I'm writing COBOL. Why? I'm deranged, that's why. Err, no...Different languages are written for different people -- not just for different tasks. So this language isn't broken to many people, a lot of people love it, but I'm hung up on why lambdas are broken. It's like a giant albatross over my head. You don't want to write Python. Lambdas are broken. Lambdas are broken.
On the other hand (at least for me), Ruby (minus CPAN, of course) is looking incredibly sexy. The block constructs and ways to define interators and transactions is very cool. The user community thinks in good design terms just like the Perl one, it just doesn't have the size. This will, of course, hamper my usage of Ruby in certain settings -- but I'm looking for it to take off depending on Perl 6's future. Of course, I'm still here. Perl has an amazing codebase of modules and more so, an amazing group of people working in it.
The same funky-stuff that makes people run away from Perl screaming in terror (and defaming it for life) is turning me onto it more. The same thing that makes people like Python or Java turns me away from it. (Do I percieve a happy union between Python and Java fans or is it just me?) Anyhow, the basic theme here is that languages fit totally different mental states of programmers....
I guess what I'm getting at is there is a notable psychology to programming, and seeing I'm not a psychologist, I can't quite put my finger on it ... but we aren't all the same. While I would like to say that the world should be full of ENTJ future-world-conquerors with an air for funky language voodoo, we all aren't that way.
Perl fortunately fits more idioms than most, not just all. It's beautiful that you can write it the way you want it... Yet that beauty is, in itself, a disadvantage to some.
What makes us think in these different ways? It's all very interesting ...
Bottom line: Hooray for psychology, however it works. Let's keep learning from watching people do things differently than us.