Why scripting languages of today are doomed
Rant.
What do Python, Perl and Ruby all have in common? They all utterly suck at multithreading.
None of these scripting languages can take advantage of modern operating systems and the threading support they have. This might not have been important when these scripting languages were invented many years ago when a 386 was state of the art but today we are in the many-multi-core era. This lack of good threading support will make them less and less interesting.
I just spend a couple of hours to get a multithreaded http client working in Python. Threading 101. Create a bunch of thread objects, pass them a list of urls to fetch and go. Well no. The code works great with one thread. With multiple threads it just falls apart with strange and unpredictable errors. I think it is a combination of the Python standard library that is not thread safe and the giant interpreter lock that is messing things up.
I would love to write my simple tools and hacks in a scripting language so that I can be more agile, but this lack of proper thread support does not leave me much choice to go back to Java.
Modified

Taras Tielkes says:
Added on August 21st, 2007 at 8:33 pmFor the languages mentioned the ‘lack’ is partly ‘by design’ - AFAIK. The authors of the three languages mentioned prefer concurrency at the OS process level.
In addition, making the libraries for those three languages threadsafe would be a nontrivial task - to say the least.