I have read a ton of posts and articles about all of these languages and the good and bad of each. I realize that some folks will say "Oh another 'best language question'" and frankly I don't care. I am genuinely curious about this and I think it is an interesting question for healthy discussion. I would like to learn a language that will teach good programming fundamentals while also allowing to get something up quickly. Ultimately I would like to be able to create sites and Web 2.0-like sites/apps. It would also be nice to be able to find some work in the event that I ever reach a level of expertise where that may be a possibility. I've started and switched between several platforms and one problem with a few was all of the required components and modules that were required from different vendors (Eclipse with Aptana and Zend caused some issues in setting up). One thing that I really liked about the .NET platform is that it is a cohesive environment with lots and lots of documentation that all works together quite easily. However, I know that the possibility exists for some cost issues down the road though I'm not sure how applicable this would be to a solo-developer with smaller projects. Also, while I think C# is a great language that would teach good fundamentals, is it realistic to gain some level of competence in a shorter period of time given off-hours studying.
I also looked at Java and it seemed like it may be overkill for what I'm trying to do though I can't state that with any certainty.
PHP seems like a great web development language that a lot of huge sites have been built with but one concern that I keep hearing over and over is the tendency to fall into poor habits with it (I know, this is a possibility with all languages-but again, I want one that minimized that potential given a reasonable amount of discipline.) Cost issues seem to be much less of an issue with php and it seems to be ubiquitous with hosts.
I've heard great things about Python and I went through some tutorials but it seems that it's been such a pain in the ass getting it to work as a cohesive system the way .NET does. I know Django is supposed to be great but it was also a pain in the ass to get going.
Ruby seems enjoyable to learn but does teach the fundamentals the best way? Does it matter in the end if it gets me going sooner? Plus there don't seem to be a lot of jobs the way there are with php and C# (it would at least be nice to be able to do some freelance work at some point).
This is a highly subjective question so apologies for that as well as the length of it. Any help would be much appreciated. I'm teetering on the verge of concentrating on one of several languages and your guidance would really help.
In summary, what language should I learn for web development (web 2.0-like sites) that allows a novice to get up reasonably quickly and teaches good habits such that it would be somewhat easy to pick up new languages?