I have worked with C++, Smalltalk, Java, Perl, and Python extensivly, I wish I could speak for Ruby as well but I cannot. It may be superior to Python for all I know. What I do know is that if speed and performance is not your issue, Java is twice as simple a language to work with then C++, if only because there are no pointers. That being said, Python is twice as easy as Java. If your project is to be published to thousands of users and is the main focal point of your business, Java is the way to go because of the huge support group, growing reliability and standards, and simplicity over C++. But for any other app I will continue to choose Python. When you download Linux now you get Python, and for good reason, its a wonderful sys admin scripting language. It can do anything Perl can do in a more readable fashion. On a rare occasion Python takes longer to code then Perl its usually because of the wonderful native pattern matching in Perl, but other then that Python will win once you get longer then 30 lines of code every time. Its simply easy to read. But also, CGI scripts are terribly easy as the XML and HTML standard development kit classes are good in Python. I suggest the Zope Application Server for any small web project before turning to Servlets and JSP's for a large application. But this is just one programmer's opinion. If somebody could throw in a Ruby comment I think it would help this thread of commentary.