Welcome!

Agile Computing Authors: Liz McMillan, Pat Romanski, Yeshim Deniz, Carmen Gonzalez, Elizabeth White

Related Topics: Java IoT

Java IoT: Article

"Java Is Dead, Long Live Java!" – The Future of Java

Lightweight Frameworks Like Hibernate, Spring, and HiveMind are the Future of Java

It seems that lately lots of writers have been bashing Java. Some people seem to think that Java has stagnated, and that the "hyper-enthusiasts" have left. Well, the rest of us are just quietly coding on a platform that is more exciting than ever. Other technologies like Ruby, PHP, .NET, or AJAX might get more hype and acclaim lately, but hype aside, Java still produces the majority of innovation in the software profession.

You can get a sense of Java's health by simply looking at how many projects are out there using Java. Pop on over to Sourceforge and look at the number of projects by language: http://sourceforge.net/softwaremap/trove_list.php?form_cat=160.

Certainly Sourceforge is not the final measure, but it's a reasonable reality check. Anyway, you'll find 17300+ Java projects, the most of any language. That's more than PHP (12675), Ruby (425), and .NET (3094 C#, 347 VB.Net) combined.

Because of its prominence, Java gets a lot of attention and with it much criticism, some of it valid. What many may not realize is that some big breakthroughs have arrived and that the Java development landscape is solving important problems. Let's take a view of where Java is going to go in the next year or two as these ideas gain traction.

The first big arena of innovation is the addition of scripting support. Some people rightly claim Ruby or Python is better the Java for some tasks. Groovy and Beanshell solve these same problems and will become a standard (in the JSR sense) part of the Java stack. Each offers something better than standalone scripting. Both integrate into a truly mixed environment with compiled bytecode and interpreted scripts interoperating smoothly. Beanshell's syntax offers as little surprise as possible for the Java developer and Groovy gives a Ruby-like syntactic efficiency, but can also be compiled to pure bytecode and reused seamlessly, a big improvement over JRuby or Jython.

Second, the days of heavyweight frameworks are gone. J2EE-style EJBs are out. Now, the lightweight frameworks like Hibernate, Spring, and HiveMind are the future of Java. The heavy Struts of the past is being replaced with two new directions: Struts Shale based on JSF and Struts Ti is a wholesale merge with Webwork. These projects share a common idea that the framework should stay out of the way of your object model. EJB3 takes the same view.

A third major innovation where Java leads is aspect-oriented programming (AOP). AOP will unclutter your code by moving "cross-cutting" concerns like logging and security to transparent method interceptors. AspectJ is the Rolls Royce for AOP, but Spring has lightweight AOP themes as does the new JBoss.

Fourth, the PHP crowd had a legitimate gripe that banging out a simple web page took too much work if you were using JSP and Struts. But our templating solutions like Velocity, Freemarker, and now Groovy don't make you choose between ultralight text generation and powerful mid-tier solutions. Groovlets should make for some rapid servlet solutions. For those people who really like PHP, keep it: Java 1.6 makes it the reference implementation for the new web scripting language bindings, so you can do your web views in PHP and use Java for model and controller.

Finally, Java's traditional strength in the tools arena just keeps increasing. Eclipse is the best IDE on the planet, and it appears that Eclipse has reached critical mass like Ant and JUnit did, in that people simply expect solutions that extend it. Eclipse's team coding capabilities for CVS and Subversion (via the Subclipse plugin) are first-rate. The refactoring and debugging support are top notch. Integration of standard tools like ant, compilers, JUnit, and javadocs are about as good as you can imagine.

So perhaps the hyper-enthusiasts have left and the buzzword mongers will proclaim that Java is dead. If Java is "dead," it's only because it was laid to rest so that a better, lighter, more agile, form of Java could replace it, so Long Live Java!

 

More Stories By Bryan W. Taylor

Bryan Taylor is a Senior Software Engineer at Rackspace Managed Hosting based
in San Antonio, Texas. He has designed and developed enterprise systems for
over 10 years.

Comments (21) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
ash 03/17/08 12:05:00 AM EDT

reply to #20:
hey maciej, i faced the very same problem that you had faced(even i had a athlon1700 +512 mb ram). but after upgraded my ram to 1 gb, eclipse runs smoothly. eclipse is a ram guzzler for sure, but its necessity undermines everything else.

Maciej Grela 02/08/06 07:38:18 AM EST

Hmm, Eclipse is the best. I`d say s/best/beast/ . Ever tried to run it ? For me its the sloooowest software i`ve used. And I have an athlon1700 + 512 MB. I have yet to see a fast and slick java application which has nice features and doesn`t eat my whole ram.

Hal Arnold 02/06/06 03:13:42 AM EST

Nice article; but one niggling point: your assertion that Eclipse "is the best IDE on the planet". Those of us that use Idea would beg to differ.

Rick O'Shay 02/04/06 03:02:31 AM EST

Classic JDJ article: a misinformed pile of google scrapings that appears to have been stitched together at the last minute. The future of Java is EJB 3.0 and Java 5.0 with Facelets and JSF. EJB 3.0 embodies Hibernate. Java 5.0 supports aspect-oriented features. JSF replaces Struts and Facelets replace Tapestry and other frameworks with a standard. What these technologies have in common is the mind-boggling simplicity of using them. If you want to write about the future of Java you should look at the new features and where they are going with it.

Rick O'Shay 02/04/06 03:00:51 AM EST

Classic JDJ article: a misinformed pile of google scrapings that appears to have been stitched together at the last minute. The future of Java is EJB 3.0 and Java 5.0 with Facelets and JSF. EJB 3.0 embodies Hibernate. Java 5.0 supports aspect-oriented features. JSF replaces Struts and Facelets replace Tapestry and other frameworks with a standard. What these technologies have in common is the mind-boggling simplicity of using them. If you want to write about the future of Java you should look at the new features and where they are going with it.

Bryan Taylor 01/23/06 11:20:20 PM EST

More responses from the author...

Several people take issue with my point that "Eclipse is the best IDE on the planet". No one who objected had any rebutal to the reason I gave why Eclipse is the best: it has reached critical mass as an open source extensible platform whose community is assuring that all important tools work with it.

Anonymous Kuhirt threw us a barb: "afraid of .NET, are we?" Yes, very much so. For two primary reasons: (a) vendor lock-in and (b) security. The java community has embraced open standards and open source, and Microsoft simply doesn't offer that. I don't see much traffic crossing that divide in either direction.

Finally, some people seem to think that because I'm pro-Java, I advocate it as the one-size fits all language. Of course, I never said that. In fact, my first point about groovy and beanshell filling a gap pretty much guarantees that I don't think programming is a one size fits all task. The same goes when I touted PHP interoperability. It would be hard for me to argue against C being the right tool for some tasks, since java and my OS are all written in it. C is great for performance critical tasks, and Java plays along with C via JNI as Eclipse's SWT proves. Sometimes you do need to control memory use more than Java allows. But choosing C without specific evidence that you need the extra performance is simply a form of premature optimization. In most enterprise settings, where time to market and long term maintainability drive the economics, it is an very wrong choice.

Disappointed 01/16/06 04:43:58 AM EST

I think he's a Senior Engineer with 10 year experience...

Jman 01/16/06 04:42:07 AM EST

Do JDJ publish college kid articles these days?

Disappointed 01/16/06 04:38:57 AM EST

Nothing wrong with the article except that it has no stuff just fluff. Everything is old news and provide no meaty support for personal opinions. I think its recieving so much flake not because people disagree generally to the stand points, but because we really so seldom see such a unprofessional article being written.

Anonymous Architect 01/16/06 04:14:06 AM EST

The most naive article ever! nuff said.

Reader 01/16/06 04:05:30 AM EST

Eclipse the best IDE on the Planet??? Its great, but I wouldn't say best. Personally I prefer IDEA, even thought I use eclipse on a day to day basis (More than Idea) because its the company standard. Some people think Visual Studio is King, which is also justifiable. I don't wanna get into a fanatic religious war on IDEs, but I'm just annoyed by unsupported claims. It totally takes away the credibility of the whole article (even though the article is not related).

Anonymous Kuhirt 01/15/06 11:28:32 AM EST

"Java remains at the top today and for at least then next few years"

This is exacly the self-reassurance I was talking about. The "rejoice - we're at the top" feeling (afraid of .NET, are we?). However, being at the "top" does lead only one way: down
(BTW: there are areas where COBOL is still at the "top", too. Not because of technological merits and active development, but because of huge amounts of code written in the times where people thought about COBOL like you think about Java nowadays).

As someone else said once (I forgot the name): "If your only tool is a hammer, every problem looks like a nail."
Likewise if everything you know and care about is Java, you have to treat every task within the limits of Java. However, I can easily name you tasks where Java would be far from a good choice - especially if you step out of this year's hype word collection (AJAX, Spring, etc.): You'll find that Java is by no means the end of all and that far from all shortcomings has been addressed successfully.

Development like Java 1.5 (mostly syntactic sugar) and popular add-ons to Java (techniques / librarie) like AOP, Hibernate are in fact band-aids, covering shortcoming of Java which add up over time, giving Java that "crufty" feeling it has.

And last but not least - if you only know and care about Java (with that elitistic feeling of "oh, but we are at the top"), you'll be condemned to re-invent solutions / techniques which have been here long before ..

Bryan Taylor 01/14/06 04:44:15 PM EST

As the author... I'd like to respond to some of the comments.

Anonymous Kuhirt wrote "Only people admitting that there are shortcomings and who are willing to look over the (Java) fence are able to keep Java from becoming the next Cobol)." It appears he didn't understand that this is the theme of the article. Java remains at the top today and for at least then next few years precisely because the Java community has seen and successfully addressed shortcomings.

Mr. Frustrated with the Writer wrote "The entire article focused primarily on web development and minor advances in the development experience." Only my fourth point and arguably half of part of my second point concern web development. My discussion of Groovy, Beanshell, Hibernate, Spring, Hivemind, AspectJ, and Eclipse do not concern web development.

He also wrote "AJAX is *not* a technology, it's a technique, and one, at that, which works very nicely with Java as the server element." Setting aside semantic bickering over the difference between a technology and a technique, I agree and said nothing to the contrary. The only reference to AJAX my the article concerns other commentators who over-hype AJAX in java bashing articles. Specifically, there was a widely circulated article in Business Week recently called something like "Java? It's so Nineties" that casts AJAX as one of the reasons for Java's supposed decline. This point is completely nonsense, to be sure, but the nonsense didn't originate from me.

Anonymous Kuhirt 01/14/06 06:52:43 AM EST

Sorry, this article is just stupid. E. g. the

"Eclipse is the best IDE"
opinion.

No matter how great something is, there is no "best IDE" the same way as there is no "best language". Anybody who is seriously thinking that there is only one true way for every problem on the planet can't be taken serious and should stop littering websites with his wishfull thinking ..

(I am a software engineer and use Java most of the time. I see such non-sense "XY is the best" comments as the self-reassurance of blind followers of XY
and most of the time it is a sure sign that XY's best days lay in the past. Only people admitting that there are shortcomings and who are willing to look over the (Java) fence are able to keep Java from becoming the next Cobol).

Mr. Frustrated with the Writer 01/13/06 12:59:11 PM EST

The entire article focused primarily on web development and minor advances in the development experience. If nothing else, this would suggest that critic's complaint that innovation has left the language is true! All of the big development technologies and techniques that have become part of the Java world (Hibernate, Spring) have been ported quickly to other languages, leveling the court as far as language-supporting technologies are concerned. I was happy to see the changes that 1.5 brought along, especially generics since that's been a problem that had been solved far too long ago to leave out of Java. But as far as breakthroughs are concerned, I'm with the critics on this one. If I had to pose one challenge to the Java world, it would be to free us developers of some of the limitations of Java that don't exist with other languages; i.e. running in a JVM, we get access to such a limited memory space that anyone writing a memory-intensive server application is forced to work in another language - something I've met several times in my work.

In all, though, what bothered me the most was the actual words of the article. I've unsubscribed from the JDJ for a reason (since they aparently fired all of their proofreaders)! AJAX is *not* a technology, it's a technique, and one, at that, which works very nicely with Java as the server element. "Some people rightly claim Ruby or Python is better the Java for some tasks." - indeed.

To the commenters, don't call "long live Java" as if you could predict the new languages and technologies on the horizon. Those who will hold strongly to their Java in good days and bad, as other stronger more innovative software paradigms come to life, will be left in the dust. Maintain your job security and adapt. Long live the next best platform.

Donald Fraser 01/13/06 08:31:58 AM EST

I am a Java advocate, but I have many gripes with the Java language. The sort of gripes I have are similar reasons why Java evolved out of C/C++ in the first place.
For example memory not being released from objects after they have gone out of scope. The Java solution was to remove the responsibility of memory management from the programmer and place it in the JVM. There are many other things that Java improved on in the C/C++ language but there are many more things that the language still lacks.
For example why can I still get null pointer exceptions? Bad programming! This problem can actually be solved by the language. Just take a look at the Eiffel programming language - it pioneered the concept of "design by contract" which solves boundary conditions and assignments to all parameters thus eliminating the null pointer exception problem along with a number of other problems.
How about the super class change method name problem? I change the name of a method in a super class and all the sub-classes that overrode that method are now broken - but my programme still compiles! The Delphi programming language had that one sorted out from day one!
These are just some of the reasons I believe Java has a limited life. Yes I believe Java will be here to stay, just like C and C++ are still with us today but there will come a time when everyone else is using the "other" language simply because its better. Unless of course Java evolves to meet these modern programming concepts, let us hope it does, long live Java!

pcdinh 01/11/06 11:54:30 AM EST

Eclipse is a very good universal IDE. But Netbeans 5.0 make me feel more comfortable when working with Java.

Li Moore 01/10/06 06:14:16 AM EST

Google makes extensive use of the Java platform. Large parts of popular Google products are written in Java. We also use Java in many internal systems and products under development.

Anonymous Brave guy 01/10/06 06:03:24 AM EST

Java has theoretical limitations that mean it will always have difficulty keeping up with a well-optimised C++ program.

And of course, there are still the same fundamental weaknesses in Java's design that there always have been...

Java doesn't have value types, so everything's dynamically allocated by default.

Not everything is an object, so you have boxing overheads even in simple things like containers unless you use generics.

Those generics have only just been introduced into the language, and are a poor imitation of C++ templates, offering few of the advantages that template metaprogramming has been providing to serious, high performance libraries in C++ for a few years now.

Java's floating point model is constrained by its portability requirements -- for a while it was even theoretically impossible for a JVM to meet them, IIRC -- which unavoidably prevents the use of many math optimisations.

I could go on, but I'm getting bored, so I'll leave the record straight enough and stop there.

xtracto 01/10/06 05:58:59 AM EST

I like Java (as a language) a lot, I have used it for enterprise level applications (supply chain management software) and currently I am using it to make market based simulations.

The wrong thing about Java is the Virtual machine implementation. You can blame Sun for that. If Java is slow, grabs lots of memory and all that it is because of the virtual machine, not because of the language. A language is just a BNF diagram specification which describes the syntax of the program, and all of its reserved words.

What Java needs is a better (less memory and faster) implementation of the libraries it has and the virtual machine to run the programs. As an example, almost everyone who has used C# or any other .NET program can see the applications run quite fast.

Contrary Opinion 01/10/06 05:18:25 AM EST

Wasn't it Peter Yared who in BusinessWeek last month was saying that developers far and wide are creating a new generation of Internet-based applications with LAMP and related technologies rather than with Java?

Sure, Yared is an AJAX fan. But when someone who was previously at Sun and who led
the J2SE team, delivering JDK 1.2, 1.3, and 1.4 says something like this, you kinda can't help paying attention.

@ThingsExpo Stories
“We're a global managed hosting provider. Our core customer set is a U.S.-based customer that is looking to go global,” explained Adam Rogers, Managing Director at ANEXIA, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
In today's uber-connected, consumer-centric, cloud-enabled, insights-driven, multi-device, global world, the focus of solutions has shifted from the product that is sold to the person who is buying the product or service. Enterprises have rebranded their business around the consumers of their products. The buyer is the person and the focus is not on the offering. The person is connected through multiple devices, wearables, at home, on the road, and in multiple locations, sometimes simultaneously...
China Unicom exhibit at the 19th International Cloud Expo, which took place at the Santa Clara Convention Center in Santa Clara, CA, in November 2016. China United Network Communications Group Co. Ltd ("China Unicom") was officially established in 2009 on the basis of the merger of former China Netcom and former China Unicom. China Unicom mainly operates a full range of telecommunications services including mobile broadband (GSM, WCDMA, LTE FDD, TD-LTE), fixed-line broadband, ICT, data communica...
As businesses adopt functionalities in cloud computing, it’s imperative that IT operations consistently ensure cloud systems work correctly – all of the time, and to their best capabilities. In his session at @BigDataExpo, Bernd Harzog, CEO and founder of OpsDataStore, will present an industry answer to the common question, “Are you running IT operations as efficiently and as cost effectively as you need to?” He will expound on the industry issues he frequently came up against as an analyst, and...
WebRTC is about the data channel as much as about video and audio conferencing. However, basically all commercial WebRTC applications have been built with a focus on audio and video. The handling of “data” has been limited to text chat and file download – all other data sharing seems to end with screensharing. What is holding back a more intensive use of peer-to-peer data? In her session at @ThingsExpo, Dr Silvia Pfeiffer, WebRTC Applications Team Lead at National ICT Australia, looked at differ...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
IoT offers a value of almost $4 trillion to the manufacturing industry through platforms that can improve margins, optimize operations & drive high performance work teams. By using IoT technologies as a foundation, manufacturing customers are integrating worker safety with manufacturing systems, driving deep collaboration and utilizing analytics to exponentially increased per-unit margins. However, as Benoit Lheureux, the VP for Research at Gartner points out, “IoT project implementers often un...
SYS-CON Events announced today that Technologic Systems Inc., an embedded systems solutions company, will exhibit at SYS-CON's @ThingsExpo, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Technologic Systems is an embedded systems company with headquarters in Fountain Hills, Arizona. They have been in business for 32 years, helping more than 8,000 OEM customers and building over a hundred COTS products that have never been discontinued. Technologic Systems’ pr...
SYS-CON Events announced today that IoT Now has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. IoT Now explores the evolving opportunities and challenges facing CSPs, and it passes on some lessons learned from those who have taken the first steps in next-gen IoT services.
SYS-CON Events announced today that WineSOFT will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Based in Seoul and Irvine, WineSOFT is an innovative software house focusing on internet infrastructure solutions. The venture started as a bootstrap start-up in 2010 by focusing on making the internet faster and more powerful. WineSOFT’s knowledge is based on the expertise of TCP/IP, VPN, SSL, peer-to-peer, mob...
SYS-CON Events announced today that delaPlex will exhibit at SYS-CON's @CloudExpo, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. delaPlex pioneered Software Development as a Service (SDaaS), which provides scalable resources to build, test, and deploy software. It’s a fast and more reliable way to develop a new product or expand your in-house team.
The security needs of IoT environments require a strong, proven approach to maintain security, trust and privacy in their ecosystem. Assurance and protection of device identity, secure data encryption and authentication are the key security challenges organizations are trying to address when integrating IoT devices. This holds true for IoT applications in a wide range of industries, for example, healthcare, consumer devices, and manufacturing. In his session at @ThingsExpo, Lancen LaChance, vic...
With billions of sensors deployed worldwide, the amount of machine-generated data will soon exceed what our networks can handle. But consumers and businesses will expect seamless experiences and real-time responsiveness. What does this mean for IoT devices and the infrastructure that supports them? More of the data will need to be handled at - or closer to - the devices themselves.
The Internet of Things can drive efficiency for airlines and airports. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Sudip Majumder, senior director of development at Oracle, discussed the technical details of the connected airline baggage and related social media solutions. These IoT applications will enhance travelers' journey experience and drive efficiency for the airlines and the airports.
You think you know what’s in your data. But do you? Most organizations are now aware of the business intelligence represented by their data. Data science stands to take this to a level you never thought of – literally. The techniques of data science, when used with the capabilities of Big Data technologies, can make connections you had not yet imagined, helping you discover new insights and ask new questions of your data. In his session at @ThingsExpo, Sarbjit Sarkaria, data science team lead ...
SYS-CON Events announced today that Dataloop.IO, an innovator in cloud IT-monitoring whose products help organizations save time and money, has been named “Bronze Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Dataloop.IO is an emerging software company on the cutting edge of major IT-infrastructure trends including cloud computing and microservices. The company, founded in the UK but now based in San Fran...
In his session at @ThingsExpo, Sudarshan Krishnamurthi, a Senior Manager, Business Strategy, at Cisco Systems, will discuss how IT and operational technology (OT) work together, as opposed to being in separate siloes as once was traditional. Attendees will learn how to fully leverage the power of IoT in their organization by bringing the two sides together and bridging the communication gap. He will also look at what good leadership must entail in order to accomplish this, and how IT managers ca...
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
SYS-CON Events announced today that Cloud Academy will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud computing technologies. Ge...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.