Does Open Source Java Matter?

If you are a web developer, the answer is almost certainly NO.

I write this knowing it will tweak those people who think that Java still matters to the web development world. But it doesn’t. So sorry.

What technologies do matter for web development?

  • HTML and CSS
  • JavaScript
  • PHP
  • MySQL

And perhaps:

  • Flash (but not if Adobe keeps being coy about it)

Why do these technologies matter? Because they’re the ones you cannot escape if you find yourself driven to build a web application.

You start with HTML and its superego CSS, so you can specify your basic pages and some forms. HTML is the XML dialect that ties it all together–okay, XML if you make it XHTML. [Aside: Why do we need XUL or XAML? I suppose because you can't specify the UI of a browser itself with HTML? Okay, fine. But for web developers, XHTML is good enough as an interface specification language. Not pretty, but still good enough.]

Then you need a little more action on your page and your forms, so you play around with JavaScript. Hey, make it Ajax if you need to. It’s still JavaScript.

You want some database access? Mix it right into the HTML with PHP accessing a MySQL database. [People complain about how PHP gets blended right into HTML, ignoring that this is the main reason for PHP's amazing reach as a language... it feels like part of HTML to people who are comfortable with that level of programming but who wouldn't think of using a "real" programming language like Java.]

What’s that you say? Your web app doesn’t scale? Uh, doesn’t Amazon offer some sort of scalable on-demand storage and computing capability… can I access that with PHP?

Hey, wait. Video is really hot right now. Let’s add some video!

To Summarize

It’s a short step from a web page to PHP to Amazon’s compute cloud, with never a step into the land of Java.

Just as there have always been COBOL and assembly language programmers, there will continue to be Java programmers. But that doesn’t mean that Java’s a growth business or that open sourcing it will affect the course of web application development. There are some people still writing PL/SQL programs. Does that mean that PL/SQL represents the future of programming, even of database programming? No. The bridge to everywhere starts at the web browser, and the browser only speaks Java reluctantly.

If you think Java still matters to web development, tell me why. I’ll go first: what about Apache Derby?

7 Comments

  1. Posted November 20, 2006 at 2:59 pm | Permalink

    Are we talking about Web sites or Web applications? There was a time when I did all my Web sites using HTML, CSS, Perl, JavaScript, and flat files (instead of databases). Once I moved into corporate development, it was strictly ASP.NET. I was at an advantage to most of my counterparts because I already understood concepts like CSS layout.

    For me, I do all my personal sites in ASP.NET now because it’s habit. It’s easier because I’m familiar with the toolset. I sometimes wonder whether ASP.NET is overkill. A lot of times I prototype without ASP.NET.

    I don’t know about Java’s relevance as an open source platform. I know that many .NET folks have expected use of Java to decline now that C# 2.0 has most of the same language features.

  2. Posted November 20, 2006 at 3:21 pm | Permalink

    I’m talking about web applications more than web sites. Good point that ASP.NET is an important contender in web development–that makes it even less likely that Java will make inroads.

    As an open-source language, I think Java will do okay. The legions of enterprise developers who depend on it for building massive transactional database systems won’t turn their back on it. But it didn’t need to be open source for that, probably.

    What language features does C# 2.0 offer that Java already had? That sounds like an interesting thing to look into… I was just reading an interview with Zimbra’s CEO where he was suggesting that .NET wouldn’t have ever gotten off the ground if Java had been open sourced four years ago.

  3. Posted November 22, 2006 at 10:06 pm | Permalink

    Much of java’s success is as a web development language, applets and many other areas just never took off so I’m very confused by this post. Most java developers build web applications often for medium and large scale businesses for internal applications. The options to use heavyweight J2EE frameworks like EJB, BPEL, and JBI exist, but many apps are simply written with frameworks like Struts, Spring, and Hibernate.

    Maybe you don’t consider the millions of java developers ‘web developers’, but many of them would beg to differ.

    And other options like Ruby on Rails are really taking off as well, so I’m confused by the only options for a web developer being PHP and MySQL.

    Finally, I don’t think for the average java web develper that open sourcing is a big deal. It’s just another step in the road to open sourcing most software tools which is a real issue if you’re Oracle, Microsoft, SAP, etc.

  4. Posted November 23, 2006 at 8:20 am | Permalink

    Ed - Yes, there are many languages used for web development. In corporate environments, Java is especially popular on all tiers of the system. I just got finished working on a contract where Java was used from the web front end on back to the database. Was that a web development project? I wouldn’t think of it as one–the vast majority of the work was in creating the massive back end and some GUI front ends. Then little bits of it were to be exposed through the web browser for a limited set of users.

    Do corporate IT developers count as web developers? It’s not what I think of when I think of web development. But you could call them that. They’re not what I was thinking of here.

    My line of thought proceeded from the question “does open source Java matter to web developers?” From there, I began thinking about the people who are most likely to choose open source (especially free versions)–small dev projects taking place on the open web. Ruby is getting a lot of press and seems to be very popular, true. That would tend to make Java even less important in the areas I’m thinking about.

    True, PHP and MySQL are not the only options. They’re just ones you will very likely run into if you’re thinking about building a web app. You may not choose them, but you’re unlikely to leave them out of your initial consideration, especially if you’re looking at using open source tools.

    Thanks for your comment, Ed. I was hoping to get some alternate perspectives, and you provided a good one.

  5. Posted November 23, 2006 at 6:31 pm | Permalink

    I think it’s more a question of common definitions. I checked wikipedia just to see if I was confused about the generally understood definition of web developers:

    http://en.wikipedia.org/wiki/Web_developer

    I think the term is very broad, but I’ve always considered myself a web developer even when I was doing just HTML, building animated gifs, or writing Perl CGIs. When I got started in 1994-5 most of the work was HTML, Photoshop and animated gifs. Then came Perl CGIs and javascript. Not long after I moved onto Java and JSP and even a brief stint doing PHP. After that I mostly covered java web development and then the last year or so I’ve been playing around with Ruby on Rails. I consider all of this to be web development.

    My sense is that you’re talking about people who didn’t have a programming background, but found the barrier to entry to something like PHP or Coldfusion reasonable. And it possibly includes a lot of hobbyists who maintain sites in something like Drupal or Wordpress. For them the most important thing is that their hosting provider supports PHP and MySQL. Java does very poorly in the hosting space. For these ‘web developers’ anything in the Java world has little impact on them.

  6. Posted November 25, 2006 at 9:32 am | Permalink

    My reaction to this post was similar to Ed’s. Most of the developers that I know who build Web applications using .NET don’t call themselves Web developers. I often hear the term .NET developer or ASP.NET developer. I don’t call myself a Web dev because I do more than that. I call myself a corporate developer instead, because as Anne points out, corporate apps often involve extensive class libraries along with multiple kinds of user interfaces.

    To resond to Anne’s query about C# features, I was thinking about new 2.0 features such as partial classes, generics, and nullable types. These are features of .NET, but C# implements them.

    Also, related to the comment about .NET not getting off the ground, here’s my take: Microsoft shops are Microsoft shops through and through. I’ve worked in plenty of them. They often use Microsoft products without evaluating alternatives. Having said that, there are many “closeted” open source friendly .NET developers who are also familiar with Java. Many of these pre-.NET devs were itching for the features of Java, but many others were caught off guard. There’s still a contingent of VB6 devs who aren’t willing to let go of that language. I believe that many Microsoft shops will forego a technology while they wait for Microsoft to release their version than make the switch to a competing technology. In some instances devs and other technologists can convince management to evaluate alternatives, but a lot of times it’s like talking to a brick wall.

  7. Posted November 26, 2006 at 3:24 pm | Permalink

    I’m not just talking about hobbyists and people without programming backgrounds, but I was thinking more of greenfield development projects on the open web and not ongoing corporate development.

    True that Java does poorly in the hosted space. I’m curious to investigate where it might be used for noncorporate web apps though. For instance, Zimbra is using Java to do their disconnected mode–I believe they picked it because it was an easy port from their regular mode–so they are probably using Java for database access on the server side.

    It would also be interesting to learn about .NET being used for web app development beyond corporate intranet projects.

Post a Comment

Comments are moderated. Rude comments may be edited or deleted.

Your email is never published nor shared. Required fields are marked *

*
*