Language wars - it defines who we are. But at the moment there are programmers who are thinking hard about the language they use. Should my next one be one of these?
Python and Ruby are probably in the same group, but PHP is something different. Both Python and Ruby are languages of choice in the sense you have to make a positive choice to use them. PHP, on the other hand, is often thrust upon the poor programmer. After all, it is integral to LAMP - Linux, Apache, MySQL, PHP, and many of us just have to work with the delivery system that the hosting service provides as standard, and that means PHP. Of course, you can set up an alternative language, but that involves making a choice.
PHP is often thrust upon you.
There is also a very real difference in where PHP and the other two started from. PHP is a language that was put together to solve a particular problem - creating web pages. The other two, Ruby and Python, are "designer" languages. The people who started them were passionate about languages and wanted to design the best language ever invented. Of course they were doomed to failure as there is no such thing and the goal is unattainable.
But the passion is there and it shows in their developer communities and the constant striving for a better version of their pet language. When PHP attempted to try to reinvent itself as PHP 6 developers rebelled and stuck with version 5.3. Python and Ruby programmers, on the other hand, seem to delight in the new.
So watch the video - it's fast and loud so make sure you have your mouse over the pause button:
You could say that all that really matters is what the job prospects are, but we in interesting times. The rock solid foundations of Java and C# are no longer as solid as they used to be. Which language should you invest your time in with a reasonable prospect of being able to continue using it into the future? Java is both threatened and invigorated by being owned by Oracle. The .NET languages of Windows that once seemed so promising are now threatened by Microsoft's indifference and its tendency to "re-imagine" everything.
Jay Forrester. the computer pioneer who invented core memory while working on Project Whirlwind at MIT in the 1940s, and is even better known as the founder of the field of system dynamics modeling, d [ ... ]