Tuesday 11 August 2015

(Image: Public Domain via Wikimedia Commons)

Java: 5 Powerful Features For The Future

Java, unleashed in 1991, has become one of the world's most-used programming languages. Here are seven key features that will keep it viable in a world of supercomputing, Big Data, and the Internet of Things.

(Image: Public Domain via Wikimedia Commons)
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.

Java Has Left The Browser

Java's time as a programming language for browser-based applications is coming to an end. When you move to Windows 10, you'll leave Java in the browser behind as you shift to the Edge browser, which flatly prohibits plug-ins.
Now, here's something (not very) secret: If you absolutely must keep your browser-based Java applications, you can. Windows 10 also comes with Internet Explorer 11, and it's quite happy to allow plug-ins such as Java. That means you'll still have the plug-in based security concerns, but you already knew that.
For the future, though, you should plan on moving your Java applications to the desktop. They'll really be quite happy there, and your users will learn to cope with life lived outside the browser window.

(Image: geralt via Pixabay)

Java Has Left The Browser

Java's time as a programming language for browser-based applications is coming to an end. When you move to Windows 10, you'll leave Java in the browser behind as you shift to the Edge browser, which flatly prohibits plug-ins.
Now, here's something (not very) secret: If you absolutely must keep your browser-based Java applications, you can. Windows 10 also comes with Internet Explorer 11, and it's quite happy to allow plug-ins such as Java. That means you'll still have the plug-in based security concerns, but you already knew that.
For the future, though, you should plan on moving your Java applications to the desktop. They'll really be quite happy there, and your users will learn to cope with life lived outside the browser window.

JavaScript Isn't Leaving

Java and JavaScript are very different things: Java is a compiled programming language developed by Sun Microsystems; JavaScript is an interpreted scripting language developed by Netscape. Java applications may run in a browser (using a plug-in architecture), though Java applications can run as stand-alone programs. JavaScript must run within a browser window -- it has no life on its own.
JavaScript remains a vital part of the browser world moving forward. It works hand-in-hand with HTML5 to provide rich, interactive browser experiences for users. If you are a developer with JavaScript experience, your future looks just fine
If you're a development manager, then you're quite safe planning an application path built on HTML5 and JavaScript. The combination promises to power the enterprise Web -- and the mobile Web -- for quite a long time to come.

(Image: voodootikigod via Wikimedia Commons)

JavaScript Isn't Leaving

Java and JavaScript are very different things: Java is a compiled programming language developed by Sun Microsystems; JavaScript is an interpreted scripting language developed by Netscape. Java applications may run in a browser (using a plug-in architecture), though Java applications can run as stand-alone programs. JavaScript must run within a browser window -- it has no life on its own.
JavaScript remains a vital part of the browser world moving forward. It works hand-in-hand with HTML5 to provide rich, interactive browser experiences for users. If you are a developer with JavaScript experience, your future looks just fine
If you're a development manager, then you're quite safe planning an application path built on HTML5 and JavaScript. The combination promises to power the enterprise Web -- and the mobile Web -- for quite a long time to come.

Java Pieces Are Coming Together

Oracle has continued to develop Java, and plans have been laid out for the release of Java 9 sometime in 2016. The 'big picture' is that Project Jigsaw will come to fruition and make Java much more modular. This means more of a 'plug-and-play' architecture than one that draws its structure from classical programming models.
The developers have laid out a number of goals for Project Jigsaw, but they boil down to two: Performance and scalability. Modules offer the possibility of a simplified structure. In general, a simpler structure translates to smaller, faster execution code. The ability to easily pop modules into and out of a full application should make Java code applicable to platforms up and down the size scale, from the largest engineering workstations to embeddable Internet of Things processors.

(Image: Hans via Pixabay)

Java Pieces Are Coming Together

Oracle has continued to develop Java, and plans have been laid out for the release of Java 9 sometime in 2016. The "big picture" is that Project Jigsawwill come to fruition and make Java much more modular. This means more of a "plug-and-play" architecture than one that draws its structure from classical programming models.
The developers have laid out a number of goals for Project Jigsaw, but they boil down to two: Performance and scalability. Modules offer the possibility of a simplified structure. In general, a simpler structure translates to smaller, faster execution code. The ability to easily pop modules into and out of a full application should make Java code applicable to platforms up and down the size scale, from the largest engineering workstations to embeddable Internet of Things processors.

Java Is An IoT Powerhouse

Java began its life as a programming language for applications in what we now call the Internet of Things. The original developers of the language were looking for a programming language for Internet television. The problem was that, in 1991, the embedded processors available weren't up to the job of supporting both the Java Framework and the application. Today, all that has changed.
The Java Platform, Micro Edition (JPME) is Oracle's solution for embedded and mobile platforms, aand for specialized platforms such as televisions and media centers. The possibility of 'write once, run anywhere' in the IoT universe offers a powerful cost savings potential. Even more potential cost savings come through enterprises being able to take developers versed in business Java programming and assign them to IoT tasks.
Put it all together, and Java could well be one of the major components in a successful enterprise IoT strategy.

(Image: jeferrb via Pixabay)

Java Is An IoT Powerhouse

Java began its life as a programming language for applications in what we now call the Internet of Things. The original developers of the language were looking for a programming language for Internet television. The problem was that, in 1991, the embedded processors available weren't up to the job of supporting both the Java Framework and the application. Today, all that has changed.
The Java Platform, Micro Edition (JPME) is Oracle's solution for embedded and mobile platforms, aand for specialized platforms such as televisions and media centers. The possibility of "write once, run anywhere" in the IoT universe offers a powerful cost savings potential. Even more potential cost savings come through enterprises being able to take developers versed in business Java programming and assign them to IoT tasks.
Put it all together, and Java could well be one of the major components in a successful enterprise IoT strategy.

Java Goes Mobile

The same Java Platform, Micro Edition that creates opportunities for Java in the IoT universe makes the language a strong contender for mobile application development. It must be noted that Java faces strong competition in the iOS world. Apple's Swift has become the programming environment of choice for developers hoping to get their applications into the App Store. If your primary market is Android, though, then Java can be the tool that powers a strong development effort and provides cross-platform features.

(Image: FirmBee via Pixabay)

Java Goes Mobile

The same Java Platform, Micro Edition that creates opportunities for Java in the IoT universe makes the language a strong contender for mobile application development. It must be noted that Java faces strong competition in the iOS world. Apple's Swift has become the programming environment of choice for developers hoping to get their applications into the App Store. If your primary market is Android, though, then Java can be the tool that powers a strong development effort and provides cross-platform features.