# iain.nl  

Your argument doesn't cut wood

Written on

About once a month I read an article on comparing Ruby to another programming language. Usually it makes the point that Ruby is dynamic and open and therefore it is less suited for reliable applications for big companies with big needs.

To me this sounds like a professional carpenter saying that a chainsaw is less useful for making big things because you can hurt yourself with it or make a big mistake more easily. While it might be true that these things can and do happen, it's not a definitive reason not to use it. And while other tools might be better at a certain task, it can still do the job just fine.

With great power comes great responsibility. I cannot lecture you on the precautions you need to take when using power tools, but when it comes to software development the things you need to do is testing and refactoring. I believe this to be true for every programming language, just as you always need to be careful you don't hurt yourself or others when you saw something, no matter which kind of saw you use.

I don't consider Java to be a screwdriver, Ruby to be a saw and Python to be a hammer. Choosing the right tool for the right job is correct, but when it comes to programming languages, the tools aren't that different from each other. They're more like different kind of saws. They can all be used for cutting things in half. It's the skill of the person wielding the tools that makes the difference.

Analogies will take you only so far. They all break down at a certain point. I've already taken this one too far for its own good. The bottom line: I like reading about interesting stuff people do in software development, no matter which language. It's all cool! Stop trying to put them into an ordered list of greatness and use your knowledge to educate and inspire us!