Submitted by Bryan on

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.

CMS Topics: 

Comments

interesting observation

gamer's picture

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?

The difference in developer

theneemies@drupal.org's picture

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

Brian Rock's picture

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.