http://qs321.pair.com?node_id=168649

This thought has been wandering through my head for a few years, but today it was keeping me from getting work done. Might as well share it with the Monastery and find out if the folks here can beat it down where it belongs.

I assign personality traits to everything. Food, cars, computers, and occasionally people. It is hard to remember that the ice tray is empty because of evaporation, and not because of the freezer holding some grudge against me. A lot of people have this trait, so it doesn't bother me much.

This odd habit has turned its attention to the programming languages I have learned in my time as a geek.

C is gruff, terse, and more than willing to let you nail-gun your foot to the floor. Eventually you'll figure out on your own that you need to be more careful with nail guns, so why should C have to tell you? Sounds like the classic "Dad in the garage" personality. Just remember to be careful with the power drill.

Python is distinctly maternal. It will go out of its way to make sure that you do things properly: "Don't go out without a sweater! Always use proper indentation!" And you know how sometimes Mom was upset, and you couldn't quite understand why? How well does "Syntax Error: Invalid Syntax" match up to that experience? I thought so!

Java has got to be an aging model, or maybe the prom queen 20 years later. Even though it has gained a lot of weight over the years, it still wants to be on the cover of every magazine, loved or hated (or both) by throngs of programmers. Described by a handful of buzzwords and exclamation points: "It's hot! It's now! It's platform independent and OO, it's Object Oriented, too!" Of course, if you don't speak her language with no mistakes, you'll never be able to make her get any work done. You have to speak 100 percent Java, or nothing for you, plebeian!

Yeah, I've had troubles with Java. Those girls would never go out with me. Hmmm ... pardon me while I go deal with some issues...

Okay, I'm better now. Back to the languages.

Perl ... I'm not exactly sure what Perl is. Is it male or female? I don't know, but it sure is ugly! It isn't symmetrical, syntactically clean, or particularly hygienic. Don't even get me started on OO in Perl - Perl's objects go to a different school, where none of the other OO kids will even talk to them. Still, Perl is friendly. It will try to do what you meant to say, rather than force its own opinions on you. Don't like the way it works? A little AUTOLOAD here, some CPAN there, and you're practically using a different language. It has flexibility that a yoga master would be envious of. That grotesque syntax isn't so bad, either, if you look at it in the right light - beautiful, in its own unique way. Mind you, it'll never make it on the cover of a magazine, but still ...

And how can you not like a language that is willing to give you closure(s)?

(And the Monks groan at the bad pun ...)

Ruby is a bit like Perl, but younger and cuter. Maybe the neighbor's genius kid or something. A lot of potential there, make no mistake about it. It's clever, fun, and handles all those buzzwords the Java folk throw around, then throws a couple more right back at them. Of course, it's still growing up. There'll be some time to wait before Ruby reaches the level of maturity that Perl has. Besides, I hear Perl's up for some major reconstructive surgery in the next couple of years.

So these are my thoughts. The right thing to do now would be to close the browser window, banishing these strange thoughts to /dev/null. But I'm curious how everybody else looks at their languages. There is a small sane part of me that hopes I am the only geek who carries on a conversation with the Perl interpreter at 3am, but I've gotta know: who is Perl for the rest of you?

"All you need is ignorance and confidence; then success is sure."-- Mark Twain