Trust me, from a guy who's dealt with COBOL and Java, they're nothing alike in either corporate philosophy or boat-anchor of coding. For better or worse, Java and C# are essentially analogs in terms of what you can 'do' with them. Java sucks more in UI's, and some syntactic sugar that makes your life easier, and C#/.NET lacks the trillion toolkits used in Java for pretty much any common need. Many popular Java lib's are ported to .Net, but still a boat load you'll only find in Java land for now. Lets not labor the point. There will be a millions fan boys to jump on the point, but on a language stand point, they're so close that it shouldn't matter.
PHP is a simple language for beginners and it got its entrenched status because some novice PHP dev's wrote some great sites / tools which people have organically grown around. Its a lousy language, and a very specific use case. I've never used RoR, but sounds about the same but in a more sexy buzz word.
Erlang like all functional languages universally are very useful for their very limited number of business areas where they rock, and enevitably the evangelists of these languages always trump out how they're great for everything and the kitchen sink, but we all know they aren't, and will continually be relegated to areas where they shine. Hybrids like Scala have a chance, but frankly I'd hate to sit down and listen to a dev lead's meeting in a scala shop lay down the laws on when to use strictly functional no matter how broken it makes the code, and when to just use other paradigms that probably just work better, simpler, and faster to develop.