Welcome!

Agile Computing Authors: Liz McMillan, Lori MacVittie, Flint Brenton, Pavan Kumar, Darren Anstee

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
The Transparent Cloud-computing Consortium (abbreviation: T-Cloud Consortium) will conduct research activities into changes in the computing model as a result of collaboration between "device" and "cloud" and the creation of new value and markets through organic data processing High speed and high quality networks, and dramatic improvements in computer processing capabilities, have greatly changed the nature of applications and made the storing and processing of data on the network commonplace.
Almost two-thirds of companies either have or soon will have IoT as the backbone of their business in 2016. However, IoT is far more complex than most firms expected. How can you not get trapped in the pitfalls? In his session at @ThingsExpo, Tony Shan, a renowned visionary and thought leader, will introduce a holistic method of IoTification, which is the process of IoTifying the existing technology and business models to adopt and leverage IoT. He will drill down to the components in this fra...
I'm a lonely sensor. I spend all day telling the world how I'm feeling, but none of the other sensors seem to care. I want to be connected. I want to build relationships with other sensors to be more useful for my human. I want my human to understand that when my friends next door are too hot for a while, I'll soon be flaming. And when all my friends go outside without me, I may be left behind. Don't just log my data; use the relationship graph. In his session at @ThingsExpo, Ryan Boyd, Engi...
SYS-CON Events announced today that ReadyTalk, a leading provider of online conferencing and webinar services, has been named Vendor Presentation Sponsor at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. ReadyTalk delivers audio and web conferencing services that inspire collaboration and enable the Future of Work for today’s increasingly digital and mobile workforce. By combining intuitive, innovative tec...
SYS-CON Events announced today that Pulzze Systems will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Pulzze Systems, Inc. provides infrastructure products for the Internet of Things to enable any connected device and system to carry out matched operations without programming. For more information, visit http://www.pulzzesystems.com.
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 ...
There is growing need for data-driven applications and the need for digital platforms to build these apps. In his session at 19th Cloud Expo, Muddu Sudhakar, VP and GM of Security & IoT at Splunk, will cover different PaaS solutions and Big Data platforms that are available to build applications. In addition, AI and machine learning are creating new requirements that developers need in the building of next-gen apps. The next-generation digital platforms have some of the past platform needs a...
If you’re responsible for an application that depends on the data or functionality of various IoT endpoints – either sensors or devices – your brand reputation depends on the security, reliability, and compliance of its many integrated parts. If your application fails to deliver the expected business results, your customers and partners won't care if that failure stems from the code you developed or from a component that you integrated. What can you do to ensure that the endpoints work as expect...
As ridesharing competitors and enhanced services increase, notable changes are occurring in the transportation model. Despite the cost-effective means and flexibility of ridesharing, both drivers and users will need to be aware of the connected environment and how it will impact the ridesharing experience. In his session at @ThingsExpo, Timothy Evavold, Executive Director Automotive at Covisint, will discuss key challenges and solutions to powering a ride sharing and/or multimodal model in the a...
Is your aging software platform suffering from technical debt while the market changes and demands new solutions at a faster clip? It’s a bold move, but you might consider walking away from your core platform and starting fresh. ReadyTalk did exactly that. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, will discuss why and how ReadyTalk diverted from healthy revenue and over a decade of audio conferencing product development to start an innovati...
WebRTC adoption has generated a wave of creative uses of communications and collaboration through websites, sales apps, customer care and business applications. As WebRTC has become more mainstream it has evolved to use cases beyond the original peer-to-peer case, which has led to a repeating requirement for interoperability with existing infrastructures. In his session at @ThingsExpo, Graham Holt, Executive Vice President of Daitan Group, will cover implementation examples that have enabled ea...
SYS-CON Events announced today that Numerex Corp, a leading provider of managed enterprise solutions enabling the Internet of Things (IoT), will exhibit at the 19th International Cloud Expo | @ThingsExpo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Numerex Corp. (NASDAQ:NMRX) is a leading provider of managed enterprise solutions enabling the Internet of Things (IoT). The Company's solutions produce new revenue streams or create operating...
Fifty billion connected devices and still no winning protocols standards. HTTP, WebSockets, MQTT, and CoAP seem to be leading in the IoT protocol race at the moment but many more protocols are getting introduced on a regular basis. Each protocol has its pros and cons depending on the nature of the communications. Does there really need to be only one protocol to rule them all? Of course not. In his session at @ThingsExpo, Chris Matthieu, co-founder and CTO of Octoblu, walk you through how Oct...
"My role is working with customers, helping them go through this digital transformation. I spend a lot of time talking to banks, big industries, manufacturers working through how they are integrating and transforming their IT platforms and moving them forward," explained William Morrish, General Manager Product Sales at Interoute, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
According to Forrester Research, every business will become either a digital predator or digital prey by 2020. To avoid demise, organizations must rapidly create new sources of value in their end-to-end customer experiences. True digital predators also must break down information and process silos and extend digital transformation initiatives to empower employees with the digital resources needed to win, serve, and retain customers.
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lea...
IoT is fundamentally transforming the auto industry, turning the vehicle into a hub for connected services, including safety, infotainment and usage-based insurance. Auto manufacturers – and businesses across all verticals – have built an entire ecosystem around the Connected Car, creating new customer touch points and revenue streams. In his session at @ThingsExpo, Macario Namie, Head of IoT Strategy at Cisco Jasper, will share real-world examples of how IoT transforms the car from a static p...
Cloud computing is being adopted in one form or another by 94% of enterprises today. Tens of billions of new devices are being connected to The Internet of Things. And Big Data is driving this bus. An exponential increase is expected in the amount of information being processed, managed, analyzed, and acted upon by enterprise IT. This amazing is not part of some distant future - it is happening today. One report shows a 650% increase in enterprise data by 2020. Other estimates are even higher....
From wearable activity trackers to fantasy e-sports, data and technology are transforming the way athletes train for the game and fans engage with their teams. In his session at @ThingsExpo, will present key data findings from leading sports organizations San Francisco 49ers, Orlando Magic NBA team. By utilizing data analytics these sports orgs have recognized new revenue streams, doubled its fan base and streamlined costs at its stadiums. John Paul is the CEO and Founder of VenueNext. Prior ...
One of biggest questions about Big Data is “How do we harness all that information for business use quickly and effectively?” Geographic Information Systems (GIS) or spatial technology is about more than making maps, but adding critical context and meaning to data of all types, coming from all different channels – even sensors. In his session at @ThingsExpo, William (Bill) Meehan, director of utility solutions for Esri, will take a closer look at the current state of spatial technology and ar...