Click here to close now.




















Welcome!

Agile Computing Authors: Greg Dickinson, Dana Gardner, Adrian Bridgwater, Tim Hinds, Jim Taylor

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
SYS-CON Events announced today that HPM Networks will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. For 20 years, HPM Networks has been integrating technology solutions that solve complex business challenges. HPM Networks has designed solutions for both SMB and enterprise customers throughout the San Francisco Bay Area.
For IoT to grow as quickly as analyst firms’ project, a lot is going to fall on developers to quickly bring applications to market. But the lack of a standard development platform threatens to slow growth and make application development more time consuming and costly, much like we’ve seen in the mobile space. In his session at @ThingsExpo, Mike Weiner, Product Manager of the Omega DevCloud with KORE Telematics Inc., discussed the evolving requirements for developers as IoT matures and conducted a live demonstration of how quickly application development can happen when the need to comply wit...
The Internet of Everything (IoE) brings together people, process, data and things to make networked connections more relevant and valuable than ever before – transforming information into knowledge and knowledge into wisdom. IoE creates new capabilities, richer experiences, and unprecedented opportunities to improve business and government operations, decision making and mission support capabilities.
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Architect for the Internet of Things and Intelligent Systems, described how to revolutionize your archit...
MuleSoft has announced the findings of its 2015 Connectivity Benchmark Report on the adoption and business impact of APIs. The findings suggest traditional businesses are quickly evolving into "composable enterprises" built out of hundreds of connected software services, applications and devices. Most are embracing the Internet of Things (IoT) and microservices technologies like Docker. A majority are integrating wearables, like smart watches, and more than half plan to generate revenue with APIs within the next year.
Growth hacking is common for startups to make unheard-of progress in building their business. Career Hacks can help Geek Girls and those who support them (yes, that's you too, Dad!) to excel in this typically male-dominated world. Get ready to learn the facts: Is there a bias against women in the tech / developer communities? Why are women 50% of the workforce, but hold only 24% of the STEM or IT positions? Some beginnings of what to do about it! In her Opening Keynote at 16th Cloud Expo, Sandy Carter, IBM General Manager Cloud Ecosystem and Developers, and a Social Business Evangelist, d...
In his keynote at 16th Cloud Expo, Rodney Rogers, CEO of Virtustream, discussed the evolution of the company from inception to its recent acquisition by EMC – including personal insights, lessons learned (and some WTF moments) along the way. Learn how Virtustream’s unique approach of combining the economics and elasticity of the consumer cloud model with proper performance, application automation and security into a platform became a breakout success with enterprise customers and a natural fit for the EMC Federation.
The Internet of Things is not only adding billions of sensors and billions of terabytes to the Internet. It is also forcing a fundamental change in the way we envision Information Technology. For the first time, more data is being created by devices at the edge of the Internet rather than from centralized systems. What does this mean for today's IT professional? In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists addressed this very serious issue of profound change in the industry.
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect their organization.
It is one thing to build single industrial IoT applications, but what will it take to build the Smart Cities and truly society-changing applications of the future? The technology won’t be the problem, it will be the number of parties that need to work together and be aligned in their motivation to succeed. In his session at @ThingsExpo, Jason Mondanaro, Director, Product Management at Metanga, discussed how you can plan to cooperate, partner, and form lasting all-star teams to change the world and it starts with business models and monetization strategies.
Converging digital disruptions is creating a major sea change - Cisco calls this the Internet of Everything (IoE). IoE is the network connection of People, Process, Data and Things, fueled by Cloud, Mobile, Social, Analytics and Security, and it represents a $19Trillion value-at-stake over the next 10 years. In her keynote at @ThingsExpo, Manjula Talreja, VP of Cisco Consulting Services, discussed IoE and the enormous opportunities it provides to public and private firms alike. She will share what businesses must do to thrive in the IoE economy, citing examples from several industry sectors.
There will be 150 billion connected devices by 2020. New digital businesses have already disrupted value chains across every industry. APIs are at the center of the digital business. You need to understand what assets you have that can be exposed digitally, what their digital value chain is, and how to create an effective business model around that value chain to compete in this economy. No enterprise can be complacent and not engage in the digital economy. Learn how to be the disruptor and not the disruptee.
Akana has released Envision, an enhanced API analytics platform that helps enterprises mine critical insights across their digital eco-systems, understand their customers and partners and offer value-added personalized services. “In today’s digital economy, data-driven insights are proving to be a key differentiator for businesses. Understanding the data that is being tunneled through their APIs and how it can be used to optimize their business and operations is of paramount importance,” said Alistair Farquharson, CTO of Akana.
Business as usual for IT is evolving into a "Make or Buy" decision on a service-by-service conversation with input from the LOBs. How does your organization move forward with cloud? In his general session at 16th Cloud Expo, Paul Maravei, Regional Sales Manager, Hybrid Cloud and Managed Services at Cisco, discusses how Cisco and its partners offer a market-leading portfolio and ecosystem of cloud infrastructure and application services that allow you to uniquely and securely combine cloud business applications and services across multiple cloud delivery models.
The enterprise market will drive IoT device adoption over the next five years. In his session at @ThingsExpo, John Greenough, an analyst at BI Intelligence, division of Business Insider, analyzed how companies will adopt IoT products and the associated cost of adopting those products. John Greenough is the lead analyst covering the Internet of Things for BI Intelligence- Business Insider’s paid research service. Numerous IoT companies have cited his analysis of the IoT. Prior to joining BI Intelligence, he worked analyzing bank technology for Corporate Insight and The Clearing House Payment...
"Optimal Design is a technology integration and product development firm that specializes in connecting devices to the cloud," stated Joe Wascow, Co-Founder & CMO of Optimal Design, in this SYS-CON.tv interview at @ThingsExpo, held June 9-11, 2015, at the Javits Center in New York City.
SYS-CON Events announced today that CommVault has been named “Bronze Sponsor” of SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. A singular vision – a belief in a better way to address current and future data management needs – guides CommVault in the development of Singular Information Management® solutions for high-performance data protection, universal availability and simplified management of data on complex storage networks. CommVault's exclusive single-platform architecture gives companies unp...
Electric Cloud and Arynga have announced a product integration partnership that will bring Continuous Delivery solutions to the automotive Internet-of-Things (IoT) market. The joint solution will help automotive manufacturers, OEMs and system integrators adopt DevOps automation and Continuous Delivery practices that reduce software build and release cycle times within the complex and specific parameters of embedded and IoT software systems.
"ciqada is a combined platform of hardware modules and server products that lets people take their existing devices or new devices and lets them be accessible over the Internet for their users," noted Geoff Engelstein of ciqada, a division of Mars International, in this SYS-CON.tv interview at @ThingsExpo, held June 9-11, 2015, at the Javits Center in New York City.
Internet of Things is moving from being a hype to a reality. Experts estimate that internet connected cars will grow to 152 million, while over 100 million internet connected wireless light bulbs and lamps will be operational by 2020. These and many other intriguing statistics highlight the importance of Internet powered devices and how market penetration is going to multiply many times over in the next few years.