When I start a project and choose my language, I do so with some knowledge of what I'm getting myself into. I realize that my choice of one language will present challenges that I might not have to face if I chose another, but I also know that I am much less likely to paint myself into a corner. That freedom and flexibility may be more important than the time required to slug through code that another choice may have handled in a simpler way. This is why different languages and development frameworks exist. If a solution existed that provided the best of all worlds, we'd all be using that, wouldn't we? (This is the part where the Python devs raise their hands anxiously.)
That's where we should finally realize that all of these things can coexist together. I can choose my language, and you can choose yours. My choice is likely to be different depending on the task at hand and -- here's the important part -- so should yours. We should be able to look at the various languages and frameworks available to us, look at what we're setting out to build, and arrive at a clear choice. We shouldn't all wield hammers, and we shouldn't see everything as a nail.
There are a boatload of projects that are absolutely perfect for Ruby, and tons that are great for Rails. There are myriad places where you could write something in Perl or Python. You could use Python or PHP for untold numbers of other projects. By the same token, you could use PostgreSQL here and MariaDB there. Heck, you could also leverage NoSQL databases in many places. We have a wide range of choices, all of them open source, that can provide whatever we need. We just need to be cognizant of the rules those choices bind us to when we make them.
I firmly believe that development is best if the developer is not glued to one language or the other. The multilingual developer has a much better chance of simultaneously producing a solid application and retaining their sanity than the developer who is convinced that their chosen language is the only way to fly.
And so, as with so very many things in IT and software development, YMMV. That's the way it should be.
This story, "You say Python, and I say Perl ...," was originally published at InfoWorld.com. Read more of Paul Venezia's The Deep End blog at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.