Now that it is starting to become popular to switch to a more modern programming language rather than just programming in the more traditional languages such as C or Java, there comes an important question: which programming language to use? There are many programming languages to choose from, I myself prefer some of the more esoteric ones such as Scheme and Haskell. These are great languages to be sure, but they have a reputation as being too weird to learn for most. Most popular opinion favors either Ruby or Python as being the easiest languages with a large user base. So I’ll focus on those two options.
Ruby is relatively new to the world of programming. It was developed in Japan and is certainly extremely easy to use and learn. Ruby has a strong community, with many resources available to those who need to make programs, even better is that most of the community is focused on web development. So some of the best web tools are available for Ruby; such as Ruby on Rails and Hpricot.
The major downside of these languages being two-fold. Most well known is that Ruby is slow. There are implementations that make Ruby run in the JVM for Java, but those can have compatibility issues. The other oft-cited complaint is that Ruby gives you too much power to change the syntax and keywords of the language, essentially laying traps for yourself if you’re not careful.
Python, on the other hand, is somewhat older as a language. Python originally developed as the opposite of Perl. Perl is a language that is commonly referred to as the Swiss army knife of languages, there are tons of obscure commands to do any given task, most famous of all being Regex. When the creators of Python set out to create a language, they wanted one that was simple, powerful, and focused on only having one way to accomplish a given task.
There are lots of great things about Python:
- It is easy to learn and write.
- It has a vast library of code and functionality that others have already written for it.
- It is easy to install and runs on all platforms.
And so on, but one of the most recent developments is that Google has announced a project called Unladen Swallow whose goal is to speed up Python up to 6 times faster so as to make it a viable an alternative to C and Java for systems programming.
You can see from reading this which one I tend to prefer. Overall, both programming languages, though a little older, are an excellent option for programmer or hobbyist to learn and use on their computers.