While trying to decide how to approach a given project a few weeks ago, I had the choice of using one of several programming languages. This prompted me to look around for ideas of what other people had said comparing languages.
In my opinion, the best comparison I found was David Howard's essay C++ vs Java vs Python vs Ruby : a first impression. While mostly devoid of bias, what really won me over was the ability to compare the implementations of his example matter, a "Red-Black tree algorithm."
Fortunately, for me, the project I was working on did not need anything spectacular for a user interface or deployment. However, most "real" projects are limited by some requirement based around usage or target audience. Writing custom web applications is usually limited by the abilities of the target webserver. Writing applications for deployment on desktop machines is limited by the support for the target OS and its GUI in the programming language or libraries. Writing applications for deployment on a security-audited machine can require the application only being able to use what is already installed.
Since I do not plan to be limited to a particular platform, application, etc. in the future, I find it behooves me to learn how to implement tasks (some "real-world", some "toy") in various languages (and, in some instances, various libraries within the languages). Each implementation will have its own article and will be written with my thoughts as I go. (Or that's the intention anyway.)
By posting what I come up with publicly, I hope to help others looking to fulfill these tasks and I hope to get people more knowledgeable than I to comment on what I've done wrong.
Add new comment