Ruby + Python together < 1%.![]()
Starting language wars is never really a smart thing to do, it's in most cases pointless and wastes people's time (don't get me wrong I'm not saying you are). But here's my humble opinion on the subject :
PHP is certainly by far the most popular scripting language out there, miles ahead of Python and Ruby. In my opinion it boils down to a few things : wide and easy hosting available for all, brain dead simple to get started with (which is one of it's big drawbacks since it leads to spaghetti code -> PHP mixed with HTML).
I actually do code in PHP for some of my projects, it's a tool like any other, it's never really the tools fault more often bad code is written by bad programmers regardless of the tools at hand.
I "dislike" PHP, for it's lack of structure, even the naming convention of core functions is really messed up. Most PHP code out there, is of a really bad quality, it's simplicity is its weakness since it attracts many bad coders -> sloppy code.
I'm not a big fan of Ruby, it's just another language/tool, that I would use I "needed" to.
You might have guessed that out of the 3, Python is my favourite (funnily enough I disliked it a lot to start off with). Python is really a beautiful language, the std libraries respect naming conventions (you rarely waste time looking up names), it's well structured (indentation gives it visual structure), it's widespread so there are a lot of clean well designed libraries available.
For web development Python has a few good frameworks (Pyramid, Django, Webpy, etc ...), I use django but also write a lot of vanilla Python code, but Django itself is really a very nice framework to use, it's clean, structured, modular, provides a clean and easy to use ORM, templating engine, caching framework ...
I've really only covered scripting languages here, I myself come from a system's development background (Assembly, C, C++), but I'm comfortable writing code in Asm, C, C++, C#, Java, Javascript, PHP and Python. The point is : the language doesn't really matter, if you don't know what you are doing (from an algorithmic point of view or from a technical point of view) you'll be damned no matter what language you learn/use. Ideally one should learn "how to program" (data structures/algorithms) before learning a programming language.
Regards