Why do cool kids build Websites with PHP or Ruby, not Java?

Coach Wei, Java developer, asks the following question on his blog.

Here is a question that I have been pondering on and off for quite a while: Why do "cool kids" choose Ruby or PHP to build websites instead of Java?

At work we're actually moving many of our in-house desktop applications from Python to Java. I wouldn't be too surprised to see us migrate more PHP Web applications over to Java too for some of the reasons Wei gives in his blog post. But I have a theory as to why PHP and Ruby could be considered "cool" and it has less to do with Java's features and more to do with the culture of open source.

While Java may have been open sourced recently by Sun, the language's roots are clearly embedded in corporate control and culture. Java was a product that Sun intended not to "give to the community", but to sell to developers of companies as an alternative to Microsoft's Visual products. While Java works well on the browser, most people I knew in the late 90s learning Java intended to develop applications for their company's desktop or on the in-house servers. When I think of Java development, I place it with other languages such as Microsoft's Visual products, C, Fortran, Pascal, etc...corporate controlled, profit driven, and traditional system life cycle development.

Contrast that to when you learned Perl, PHP, Ruby, and even Python...did you learn those languages solely with enterprise level software in mind? No, you likely learned those languages for those projects you felt were personal initiatives and in your control.

When you started using Java was it for a desktop application or the Web? How does that compare with PHP or Ruby? I bet when it came to PHP and Ruby your first use of those languages was for the Web wasn't it? And when you looked at Web applications that you built...did you develop the code alone or did you reach out to others and develop the code in a collaboration process with others?

PHP and Ruby have always had an "open community" in the background, but until recently I'm not so sure Java was always so open. When you see the "cool kids" you never once questioned their "coolness", just like you never really doubted that PHP and Ruby were open source. But with Java, it's only now that they have showed up to the party...and unlike the cool kids you're not sure where they stand on the social ladder.

Your rating: None

The same thing could be asked...

...about .Net.

And it was asked, in fact.

interesting observation

interesting observation about both java and .Net.  is it really the programming langauge or is the fact that the developers seemed to be less independent (and vocal).  if you're hired by a big company you may not want to blog much about your employer and your work.  if you are independent or a small startup, you may have more reason to show that you are "cool".

by the way, which pays more for development, .java, .net, php, or ruby?

Another Gagdetopia post

I like what you say in the other Gadgetopia post:

I’ve always maintained that there’s a difference between a “Web Developer” and a “[insert platform here] Developer”. If you’ve never done any work outside of ColdFusion, then you’re not a Web Developer, you’re a ColdFusion Developer. This is fine if you work in an exclusively ColdFusion shop, but you’re depriving yourself of a lot of learning by not digging into other languages and the core protocols in general.

Though I think .Net and Java aren't as cool to work with for different reasons.

Interesting isn't it, that Apple has supplied the Mac with quite a few open source tools and the Mac is also considered cool over the PC? I think in the end, developers want choices which runs counter to a vendor or company (such as Sun or Microsoft) tyring to promote their sole solution. The world of IT is just too complex today to trust a single company to provide solutions for all their needs.

 

The difference in developer

The difference in developer cultures (open community) is an interesting point.

As an ex-Java (web/services) developer, I couldn't agree more with Joel Spolksky's sentiments regarding its frameworks (so the answer to Coach Wei's question whether there aren't enough frameworks would be that there are too many). But my disillusionment peaked as a first hand observer to a year long project to rebuilding a major retailing website in Java (on Websphere) that was delayed by over a year, in part due to massive performance issues.

PHP's future is bright with the likes of Facebook API leveraging it. It will be interesting to observe how both languages evolve.

Spot On

Spot on analysis, at least from one angle.

When I was first introduced to Java, it was in school. Java was the "next step" after we learned C++. Although I realized it have some potential for applets and cross-platform development, it seemed very suited for developing stand alone desktop applications. Kind of like C++.

Several years later I got back into programming - this time with PHP. I needed to develop a web application for some friends of mine and PHP seemed to be the concensus for easy web development. After two years of PHP, I'm thinking of branching back out into other languages - but there was no competition when I was looking for an easy way into web development.