- Don't look back
- Is support for OSS optional in your business?
- Nokia N810 Tablet + WiMax
- Vendors need to right-size their products
- Dolphins Invade Sun Campus!
- State of Open Source
- MySQL Workbench: open source data modeling
- Comments on The 451 Group's Database Report & Red Hat's 4Q revenue
- Kaplan: Guiding open source in IT
- Can the transportation market teach us anything about the software market?
June 12, 2007 | Comments: (0)
If LAMP is so easy, why isn't Java dead?
This is the question that Peter Yared asks in his blog, and it's fascinating given that he founded a company (ActiveGrid) based on the premise that Java was going to get shunted aside, as Stephen O'Grady notes. My company, Alfresco, is Java-based, so I'm biased in this, but it's interesting to hear the reasons Peter gives for Java's resilience:
1. Java has become easier.
2. It's really hard to move the world off a platform (Java) it is happy with.
On this latter point, Peter writes:
Even if it was quicker and cheaper to build a LAMP application than a Java application, the cost of getting a new software platform approved is pretty astronomical at a lot of enterprises. Adding staging servers, management software, security auditing, training staff in new technologies, etc. is very expensive. Linux and Apache have been enormously successful in the enterprise since they were brought in as a horizontal solution. Bringing in Linux to replace Solaris and running Apache for all static content significantly reduces costs. But running PHP or Python for some applications when an enterprise is already supporting Java and perhaps .Net is not viable for most enterprises, as the cost each added platform multiplies support costs.This has certainly been my experience. Enterprises are heavily invested in J2EE (or .Net), and just aren't throwing out that expertise. They're adding PHP expertise, but there is still the lion's share of the enterprise market for J2EE/.Net applications.
On the other side of the ledger, Google et al. are building massive businesses on the LAMP stack. Is LAMP the future of the enterprise and J2EE/.Net are its resilient past? I'm not sure, but based on the deals with which I'm involved, it's a past with a healthy future. I suspect there's ample room for both.
Posted by Matt Asay on June 12, 2007 10:27 AM
RATE THIS ARTICLE:
-

- COMMENTS
Java won't be unseated until something comes along with more of an incentive to switch than "faster development". Rapid development is cute... until some thing breaks or requirements change, and you have to refactor a loosely-typed mess with shoddy tools.
PS. Matt, didn't you get the memo from Sun marketing? Its "JEE" now. ;-)
And the job market seems to prove it, take a look at this graph of job postings comparing java, .net and lamp
http://www.indeed.com/trendgraph/jobgraph.png?q=Java%2C+.net%2C+Linux+Apache+MySQL+Php
Posted by: Rene Muniz at June 12, 2007 03:03 PMhmm. you don't quite take a firm stand here, but i'll say this: the extension of that logic is that any hard-to-dismantle legacy technology is here because of quality. that may be true of some things. but it also happens just because organizations feel no rush to rebuild, but at the same time are not investing deeper.
i really don't like Java. I just don't. Our enterprise any Java apps, and they are not popular. Many Java devs respond to negative Java experiences saying that the problems lay at the feet of the developer, not the language.
Fine, that may be true. But I will not approve any *new* project or tool that is Java-based.
I will not rush to kill off existing ones, but no more new Java stuff will come in to our organization. On the server and the client, it's been way too slow for us.
On a different note, I quite enjoy your blog. Keep it up!
Posted by: jose wvh at June 12, 2007 05:32 PMDefinitely all of the pure play web companies are running almost exclusively on the LAMP stack. There has been a slow creep of uptake in the enterprise, but the reticence to adoption was very surprising to me. Definitely different from the client/server and web 1.0 waves. :) Peter
Posted by: Peter Yared at June 12, 2007 09:41 PMI too one of big fan of Java but working as a lamp developer, not because i have nothing to do in java but symply it do not suit our development requirement. LAMP came up with good quality stuff last year and has been continue adding many stuff to make it up to enterprise level. Why small/mid size application opt Java while doing in LAMP symply reduce time frame, man power by almost half.
Posted by: Nilay Anand at June 13, 2007 09:14 AMFWIW, Blogger was written in Java, and Gmail was written largely in Java.
Posted by: Scott Mace at June 13, 2007 11:22 AMCould it be a factor that Java applications are compiled and can be delivered without the source code? I suppose many proprietary vendors do not want to deliver all of their source code to all of their customers.
Posted by: Todd at June 13, 2007 03:43 PM"If LAMP is so easy, why isn't Java dead?"
Because it's un-dead and can't die?
Posted by: Bob Robert at June 13, 2007 04:44 PMWow, that's some loaded graph there, Renee, comparing the results for one term to the results for 4 terms. Let's compare things on a little more level playing field:
languages only:
http://www.indeed.com/trendgraph/jobgraph.png?q=perl%2cpython%2cphp%2cjava%2c.net
OS platforms:
http://www.indeed.com/trendgraph/jobgraph.png?q=solaris%2cwindows%2clinux
web server software:
http://www.indeed.com/trendgraph/jobgraph.png?q=apache%2cIIS
There are fewer job postings for LAMP because LAMP is (at least) 4 technologies: these people are relatively rare. Anyone who knows Linux, apache, mysql and perl-python-php has a much wider breadth of knowledge than someone who just knows the database or just the language tech.
some combined terms, for jack-of-all-trade jobs:
http://www.indeed.com/trendgraph/jobgraph.png?q=Java+SUN+solaris+oracle%2C+.net+IIS+windows+mssql%2CLinux+Apache+MySQL+Php
http://www.indeed.com/trendgraph/jobgraph.png?q=Java+j2ee+solaris+oracle%2C+.net+IIS+windows+mssql%2CLinux+Apache+MySQL+Php
Wow, comparatively, no one is looking for .Net developers who also know MSSQL!
Job postings are an extremely rough comparison anyway. Often times hiring managers will post the same job posting multiple times after it expires if a position isn't filled. This would show more job postings for jobs that are not being filled than those that are. Perhaps there are so fewer open source technology job postings because they are filled faster and the hire stays with the company longer. These are questions that a simple graph of search terms does not answer.
Posted by: Andy at June 13, 2007 05:55 PMThe Java platform has a bright future and the Java language is enjoying a resurgence now that it's been open sourced (Seam, Wicket, Facelets, Matisse, Hibernate, etc.). Ever here of JRuby???? You can run Ruby apps within an already existing Java container like Tomcat. This will allow enterprises to keep their existing infrastructure in place while simply adding a few new pieces. Sun's virtual machine will be around for quite some time to come, even if it's used to run languages other than Java.
Posted by: Dean Del Ponte at June 13, 2007 07:00 PMPerl/python/php/ruby are seldom seen in computer programming classes. Java is taught as a first language and/or to immerse in OOP.
Because of the great demand for web programmers (the web still grows!), more and more people choose to work in the field, and to attain that goal, go to school, pick a 1-2 year program and join the workforce. Most of the resulting coders don't exhibit real passion — computer programmer or plumber, bills must be paid, might as well work seated. They won't spend 20 hours of their free time at home to become effective in another language - they already know Java. They get Java jobs, so they seldom learn a new language at work.
Though LAMP languages may be picked up quickly, these graduates have no incentive to "waste" a weekend to learn python and then forget it a week later because they don't use it. Job listings overflow with Java jobs, so they feel no market pressure to broaden their horizons. When these graduates become project managers, what language will they require when opening positions?
I'm not comparing Java to LAMP languages on their technical merit — they may all work as well. But the popularity of Java is artificially boosted and does not represent its relevance. The same argument could be used to explain why Visual Basic still exists.
I dont understand why there's so much Java envy in the development world. Many have predicted its demise; there's even been over exagerrated rumours of its death but it keeps chugging along pretty nicely.
Maybe you guys should ask yourselves certain questions; first of all why ?. I guess its because Java is in sync with the open source paradigm and is very portable. No other language boasts the number of open source frameworks that java does - just take a look at sourceforge - its got the most projects.
I am amazed at the level of ignorance and quite frankly stupidity that pitches Java directly against LAMP. Java may not have a relationship with P - PHP but its does have a tight integration and support for the rest of the LAMP stack. L - Works brilliantly on Linux, A - in Apache tomcat features the best web application server which can be linked to Apache, M - has excellent drivers for mySQL - what is better than JDBC ?, P - support for many scripting languages which keeps growing by the day.
I hear somebody mention .NET ? - get a life. .NET is removed from the paradigm shift and is not even in the race.
Java is built to stand the test of time - get it and get a life.
Posted by: Tochi at June 13, 2007 11:42 PMWhy isn't java being clobbered by the likes of the LAMP stack, ROR and etC?
For one, those other platforms are domain specific, web only.
Java on the other hand is general purpose. You can write Desktop Apps with it, Mobile Games (don't Blue Ray DVD players use Java now too?), Server Apps (not everything is a web-app), it has great interconnectivity api's with legacy systems (databases, ERP's).
Moreover, there's been alot of open source innovation in the Java Space during the last couple of years. Just look at Apache's Java Portfolio, or even SourceForge.
It's clear from the amount of code produced that Java as a platform is stable and that people are generally more productive in it than the competition (C++, C) and definitely more secure to boot.
It's also the only platform that I know of that let's you choose. Multiple JDK's are available (Sun, IBM, Bea, and now OpenJDK), moreover - there's a myriad of enterprise quality capable application servers for you to choose from. A few examples from the open source camp includes the JBOSS App Server, Apache Geronimo, Sun Glassfish and etc. That's not counting the commercial offerings.
If one looks at 800 lb gorilla's in the enterprise space (eq. SAP, Oracle, IBM), there's one thing that's common - Java Based middleware stacks (interoperable) middleware stacks (eq. SAP Netweaver, Oracle Fusion, IBM WebSphere).
The only other platform stack that matches it is .NET (and we all know what happens when MS gets involved).
If Linux/Mac/Solaris is so good, why Windows is still not dead?
Stupid...
Because the billions of corporate dollars invested in the 'supported/enterprise-level' technology won't be replaced anytime soon with a free version, even if it's a better option...
Recently I've been working with one of these new shiny "Java Replacement" technologies, and it has cause me to formulate my law of Software Conservation of Agony.
I first got an inkling of this idea when I adopted C++. I spent more time in the design phase but less in the debugging phase. More recently, working with one of the late-binding dynamic environments, I've seen a reduction in the amount of time it takes to get pages on the web, but the app will die in production without warning because of the subtle operations that a compiler can't catch when data types aren't nailed down at compile time.
Personally, I hate being paged in the wee hours of the morning, so the sometimes cumbersome rigidity of Java is very comforting to me. Others may like the feeling of being needed, however. Certainly it's a lot harder to dispose of employees whose programs require constant stroking, and job security in these perilous times has its own worth!
Posted by: Tim Holloway at June 14, 2007 04:54 AMJava EE certainly has higher intellectual barriers of entry than LAMP or PHP. It's a lot easier to teach average (or below average) developers the latter two. It seems most PHP developers I run into are people who just screwed around with computers in highschool and entered the workforce; whereas, most Java people I've delt with typically have degrees in CS or related engineering fields and have more depth of experience in software development.
I deal with both, right tool for the job - but I see where the bias comes from in the people I deal with.
As a C programmer who has dipped his toe into the Java pool and did not joyfully dive in head first, I can say that I have no horse in this race (several metaphors were in fact hurt in the writing of this sentence ;-).
The reason Java is not dead is because it has a lot to offer. Java servlets, Java apps, Javascript and AJAX, Java for embedded devices, etc. It is easy to learn, especially for C/C++ programmers. It has robust library support. There are multiple JDKs and IDEs. It is being taught not only in colleges, but even high schools (in the US). There are many web sites with tutorials, sample code, and help forums. With so many players invested in the huge infrastructure built around Java, for a large percentage of sites, there would first have to be a motivation to move 'away' from Java, on top of the motivation to move 'to' another platform.
My question is, with Sun GPL'ing some parts of Java (I'm not involved enough to know the details), will the bad parts of Java get fixed? By that I mean: I/O (Java's weakest area IMHO--SSLSockets + SocketChannels are just the latest painful experience I have had with it) and display issues (did they ever fix the requirement of servlets having to have a tty to build a graphics object?). Like I say, I have just dipped my toe in it, I'm sure more experienced people can add to the list.
Later . . . Jim
When discussing Java most people just focus on the language itself, not the technologies evolved around Java. Not just sun technologies such as J2EE, but third party technologies produced by the Jarkata group for example.
And to answer Jim's question, Java has been 'headless' since Java 1.4 (I think), so you do not need tty to build a graphics object.
Also with the gui improvements that Sun have done in Java 1.6, I think there will be some more applications written for the desktop environment.
Posted by: Sanj at July 9, 2007 08:14 AM
- Get Started
- Port 25 Blogs
- OSS News
- Join a Project
{Open Source} Heroes Happen Here
Start today and order your own Hero Hack Pack – which includes Getting Started with Open Source, Windows Server 2008 and Visual Studio 2008 Trial. Each pack is a chance to win a free pass to OSCON 2008.
TOP STORIES
WiMax OK for commercial useAgile mgmnt for small teams
Why developers avoid Vista
CBS to buy CNET Networks
Icahn's letter to Roy Bostock
Yahoo opens up Search Monkey
AT&T limits iPhone purchases
Silverlight gets put on Linux
Intel to develop PC with Alibaba
Cybercriminals can rent a botnet
ADDITIONAL RESOURCES

- Virtualization: A Step by Step Approach to Success
- Dialing up Agility with Business Transformation
- 5 Things You Need to Know About Storage Virtualization

- Is your smaller organization ready for High Availability?
- Is system maintenance doing more harm than good?
- Virtual Test Lab Automation: Manage development infrastructure








