The Evolution of Java Development

Java continues to evolve despite having been around for 20 years. If you're looking for the bleeding edge, Java might not be your best bet. However, if you're an existing Java developer, no need to worry about your marketability.

WEBINAR:

On-Demand

There has been a lot of talk lately about Java's decline. In this article, I'll clarify and sort things out. Java has been through some turmoil, such as the stewardship transfer from Sun to Oracle, the JCP process concerns and serious security issues. The recent concerns are mostly about Java falling behind in the innovation race. Let's examine Java from multiple angles to get a good sense of where things are.

Java Is the Most Popular Language

If you look at the Tiobe index, Java has been firmly in the lead for many years (sometimes C raises its head for a while). While, you shouldn't take the numbers literally (Java is currently at 18.23% and C is in 2nd place with 10.95%) the ranking does have a strong correlation with any reasonable definition of popularity. What does it mean to be the most popular language? It means Java has a large pool of seasoned developers and it's a safe bet to start new projects using Java. It also means that there is a large ecosystem of certification, training, support and auxiliary services. It is also a popular teaching language in universities, so fresh cadres of students with experience in Java come out of the system every year. But, there is a definite trend of fewer available Java-related jobs--that trend is real, but slowly evolving. Given the volume of large-scale, Java-based enterprise systems, there will likely be a need for Java developers for decades.

Great IDE Support

Java has several very good and mature IDEs. Eclipse and NetBeans are excellent free and open source projects and the non-free IntelliJ Idea is considered the best-of-kind. While some developers prefer text-based editors or environments such as Emacs, Vim, or even Atom, many other developers feel comfortable only with a good IDE. This is especially important in larger projects.

Java Is More Than 20 Years Old

The age shows. Java was designed to address issues with C++ and open the door to network programming. Many design and implementation choices made at the time, such as the applets, exceptions and generics didn't fare so well. Various trends like functional programming became mainstream only in recent years. Java's verbosity is also considered a serious con.

The bottom line is that Java is not sexy anymore. Most innovative and groundbreaking projects will not go for Java as their programming language of choice. That means that in the blogosphere, the representation of Java vs. newer and cooler languages is not as strong.

Java in the Enterprise

The only real competitor is Microsoft .NET. For a long time, .NET was a viable option for Windows only. The Mono project allowed building C#/.NET on Linux for a while but wasn't as trusted. Microsoft's new focus with .NET Core on Linux may change the picture in the future.

Java the Language vs. Java the Virtual Machine

As mentioned before, the Java language is somewhat outdated, but Java is also a virtual machine specification. Many new and cool languages run on the JVM. For example, Scala has been adopted by large players such as Twitter and has been used to implement hot technologies like Apache Spark. There are many benefits for a language to target the JVM because it can benefit from the Java ecosystem.

Android

Android is another interesting beast. It uses Java as its API language although it uses the Dalvik VM and doesn't provide a full-fledged Java SE standard library. Still, if you want to develop apps for Android you had better know some Java. There are other options like Xamarin, but much of the documentation and code are in Java.

Conclusion

Java, as of 2016, is as strong as can be expected from a 20+ year-old language and runtime environment. It is supported by a large corporation and is the dominant language in the enterprise and in mobile applications. Modern languages target the JVM and provide seamless interoperability with existing Java libraries. Java, the language, continues to evolve. If you're looking for the bleeding edge, Java might not be your best bet. However, if you're an existing Java developer don't worry about your marketability. If you're so inclined start branching into other JVM languages.

Gigi Sayfan is the chief platform architect of VRVIU, a start-up developing cutting-edge hardware + software technology in the virtual reality space. Gigi has been developing software professionally for 21 years in domains as diverse as instant messaging, morphing, chip fabrication process control, embedded multi-media application for game consoles, brain-inspired machine learning, custom browser development, web services for 3D distributed game platform, IoT/sensors and most recently virtual reality. He has written production code every day in many programming languages such as C, C++, C#, Python, Java, Delphi, Javascript and even Cobol and PowerBuilder for operating systems such as Windows (3.11 through 7), Linux, Mac OSX, Lynx (embedded) and Sony Playstation. His technical expertise includes databases, low-level networking, distributed systems, unorthodox user interfaces and general software development life cycle.

Advertiser Disclosure:
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.

Thanks for your registration, follow us on our social networks to keep up-to-date