Enterprise Application Managers and developers don't always see eye to eye. Programming productivity is one area of contention. Java developers understand Java very well and it's truly amazing what Web applications they can create but some enterprise applications see limitations with what Java, as a language, can do. We're speaking today with Mike Gualtieri of Forrester Research whose recent comments about Java have made quite a stir. He asserts that Java is a dead-end when it comes to enterprise application development. Visit the SearchSOA Podcast Library for more expert commentary.
Download for later:
- Internet Explorer: Right Click > Save Target As
- Firefox: Right Click > Save Link As
Mike Gualtieri: I think with Java you can develop just about any enterprise application that needs to get developed. The question isn't as much "Can Java get the job done?" It can. It's a general purpose language with many frameworks available. It's got a large ecosystem of open source it's a very capable platform. The question that I've been examining with Java is whether it's the most productive way of getting enterprise applications done.
We see two trends. One is that business needs to get stuff developed faster. Therefore IT needs to build stuff faster. They also need to change existing applications faster. The second trend is to build better user experiences. I think Java is lacking in the toolsets necessary to do both of those.
I think there are frameworks that have come along and tried to ease the burden of Java development and yet you may be right when you say that those are complicated too.
Gualtieri: Frameworks have come along to fill gaps. Hibernate is one of them with object relational mapping. Spring is a popular one, I've used both. They're both great for Java development. But that's Java innovation. Those are frameworks that have made Java development [specifically] easier. If you take the question a level higher and you ask what we need to make enterprise application development better, then you start to bring in a whole different set of platforms. There's a difference between Java innovation and enterprise application development innovation.
We certainly don't see things like we used to too much, like PowerBuilder, and Microsoft Visual Basic – tools that were sort of tactical. For that matter, Visual Basic, with VB.NET, got to be more like Java. Where are these tools coming from that would call for a less rigorous developer pool?
Gualtieri: Well, I blame Al Gore for all of this. He invented the Internet!
Or the Information Super Highway, at least [laughs].
Gualtieri: Prior to the internet, [with things like] PowerBuilder, there was a whole push by vendors to create more productive tools for developers. When the Internet hit [in the early 1990's], everyone panicked because now everyone needed to develop Web applications.
People were predicting that car dealerships would go out of business and that you would never need a bookstore and certainly people do buy a lot online - but technology didn't exist to develop Web apps and so we had to go medieval and people were developing CGI bin scripts and then Java came along, and it was a better way. It was probably the best way to develop Web apps at the time.
That was fifteen years ago. Now we see evidence that there are many vendors and tool companies that are starting to bring back developer productivity tools that let enterprise application developers work at a higher level of abstraction.
So you're not calling for the end users to be the programmers.
Gualtieri: No, I'm not. I think there's a role for some end-user development with certain types of applications. But I think the professional developer still has a huge role, the biggest role in developing enterprise applications. There's no reason though, that the professional developer can't benefit from higher level tools.