Language Zealots

I think people are xenophobic by nature. Racism, sexism, being exclusionary, are all built into the human genome. Which makes it a foregone conclusion that in the world of software development, there are language zealots. These are the people running around claiming that Language X is better than Language Y for reasons 1,2, and 3.

After listening to me rave about Ruby for hours on end, many people have concluded that I am a Language Zealot, a Ruby Jihadi bent on destroying all Java using infidels. Nothing could be further from the truth — I’m happy to use the best language for the situation. I’ve coded C on embedded set top boxes due to processor and memory constraints, Java server side processes now that no one codes in C anymore :), and Perl when I had to rip through a thousand files quickly.

I’ve quickly become enamored with Ruby primarily because it lets me get my job done better — right now, as a manager, I tend to do more scripting that isn’t performance bound, and Ruby, unlike Perl, lets me do that in a clean, maintainable, dare I say potentially elegant way.

People use languages because they are inherently useful, somewhere, and in those specific situations using another language would be painful, usually from a performance perspective. After all, we are in the business of producing usable applications, not writing elegant algorithms.  I would gladly code in C again if I had to write a Ruby extension, I just haven’t found a really good reason to yet.  I may trip all over memory allocation — it’s been a while — but I would also hope that my exposure to other languages ends up making my C easier to understand/maintain than it would have been had I only known C.

This is because in learning a new language, I have had to apply the same underlying principles — i.e. expressions, error handling, I/O — that I knew from of my previous language(s), and in doing so I understand those concepts better. I think that the first part of coding is really understanding what you are trying to do — if you know that,  it will be concise and maintainable in any syntax.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: