Java. No other language defines the Web age of applications quite as thoroughly as this programming tool, which came to life alongside the World Wide Web. From its birth in 1991 at Sun Microsystems (which was purchased by Oracle), the language designed by James Gosling, Mike Sheridan, and Patrick Naughton has been a key part of many enterprise application efforts. Nearly 25 years on, does Java still deserve to be part of your development plans?
Java's main benefit has always been the promise of WORA: Write Once, Run Anywhere. In simple terms, this means a development team could write an application in Java and compile it into executable form, then have that executable run on any Java-enabled platform. It's a very, very efficient way of programming, but that efficiency does carry a few costs.
One of the major costs is that access to low-level machine hardware must be limited in order for WORA to work. Universal compatibility requires abstraction, and abstraction tends to be paid for in the currency of performance. Java's distance from the hardware is a key reason that C++ remains a major development language, often alongside Java. But that's only one cost. The other big cost might well be one that places major limits on Java's future.
[ The legacy continues. Read Fortran: 7 Reasons Why It's Not Dead. ]
Java applications often run in a browser window, and that familiar browser interface is one of the reasons so many enterprise developers use Java for their applications. The problem is that Java becomes part of browsers through the plug-in architecture, and that architecture is going away. The new Microsoft Edge browser doesn't allow for any plug-ins. Chrome now severely limits plug-ins. Other browsers are likely to follow suit. So does this mean that Java is over?
No, Java isn't over. Java applications will still run fine as separate, stand-alone applications. The sheer tonnage of existing Java code means that thrifty developers (and development managers) will be using Java for a long time to come. What do you need to know about Java, then?
Software development and the languages used for programming constantly evolve. Java is part of that evolution. Let's take a look at some of the major issues surrounding Java today and see how they might affect your development efforts.
Are you coding in Java? What do you think about its future? Let me know what you think -- and what you think I missed in my list. I'll see you in the comments section below.