Why Bringing Java Into the Future Is Important for Developers
August 05, 2020

Mark Little
Red Hat

On May 23, 2020, Java celebrated its 25th anniversary. While that is still fairly young for a programming language, Java continues to rank among the top two programming languages in the world, according to the Tiobe index, and it has no signs of slowing down. However, despite its popularity, Java does have some well-agreed upon downsides. With more and more business-critical applications using Kubernetes, it is more important than ever to bring Java into the future, and not let it get left behind. Read on to learn more.


Java Popularity

First, let's explore why Java has been so popular over the last 25 years.

For starters, Java is a language that is both user-friendly and flexible. When written in a Java Virtual Machine (JVM), Java delivers on the promise of "write once, run anywhere" and therefore can run on any operating system, even if it is different from the one it was developed on.

Java is also highly scalable, versatile and dependable — once a Java application has been spun up, it can run reliably for months to serve hundreds of concurrent requests.

Java is also a good bet for the enterprise because there are so many Java developers, so once Java applications are spun up, they can be maintained by professionals with varying skill levels. This also means that Java programmers have been in high demand for the past 2 years.

Lastly, Java is an object-oriented language, making it both more secure and relatively easier to learn than non-object-oriented languages, such as C++.

Java Complaints

Now, what are some of the complaints against Java?

Most commonly, we hear that in a lightweight, low-footprint world, Java takes up too much space, needing too many megabytes worth of class files and creating too many gigabytes of runtime memory footprint. This is in direct contrast with containers, for example, that are both lightweight and low memory.

The other common complaint is that Java takes too long to start up — in a world where new applications can be spun up in seconds, if not milliseconds, waiting five minutes for Java apps to start is considered way too long.

Additionally, when Java was created, Kubernetes, microservices, serverless and even containers did not exist yet, so it was originally designed for monolithic application stacks as opposed to cloud-native, modern applications.

Java In a Kubernetes-Driven Future

So by now, you may be thinking, Java is doomed! There is no way it can continue to be so popular when there are new programming languages like Ruby, Go and Rust that are designed to work seamlessly with serverless, microservices, etc. Well, not necessarily.

These new and shiny languages are not used by app developers — like Java — but are system development languages, so they do not have capabilities for business customers in the same way that Java does. Java still makes the most sense for building more secure, business-ready applications.

However, one advantage of the new languages is that they are built to work in the Kubernetes landscape, so the question now becomes: how can we get Java there, too?

There are technologies that help to bring Java into the modern, cloud-native app dev world. There are open source projects that help developers create applications in Java that have faster startup times and a lower memory footprint, meaning that applications developers write in Java can "play nice" with microservices, Kubernetes and containers, without the developer needing to learn an entirely new programming language. This is important from the business perspective as well, because developers do not need to be trained in a different language from what they already know, speeding up time to market for applications. By putting developer's needs first, these open source tools enable more innovation to happen faster.

Java is not going away anytime soon, and in order for it to be compatible with newer technology innovations, developers need new ways to be able to continue to program in it. Open source tools can help enable developers to use a language they already know to build modern, Kubernetes-native, business critical applications.

Mark Little is Senior Director, Engineering, Middleware, Runtimes, at Red Hat
Share this

Industry News

September 24, 2020

NetApp announced the availability of Elastigroup for Microsoft Azure Spot Virtual Machines (VMs).

September 24, 2020

CloudBees announced a robust new set of DevSecOps capabilities for CloudBees CI and CloudBees CD. The new capabilities enable customers to perform early and frequent security checks and ensure that security is an integral part of the whole software delivery pipeline workflow, without sacrificing speed or increasing risk.

September 24, 2020

Pulumi announced the release of a Pulumi-native provider for Microsoft Azure that provides 100% coverage of Azure Resource Manager (ARM), the deployment and management service for Azure that enables users to create, update and delete resources in their Azure accounts.

September 23, 2020

Puppet announced new Windows services, integrations and enhancements aimed at making it easier to automate and manage infrastructure using tools Windows admins rely on. The latest updates include services around Group Policy Migration and Chocolatey, as well as enhancements to the Puppet VS Code Extension, and a new Puppet PowerShell DSC Builder module.

September 23, 2020

Red Hat announced the release of Red Hat OpenShift Container Storage 4.5, delivering Kubernetes-based data services for modern, cloud-native applications across the open hybrid cloud.

September 23, 2020

Copado, a native DevOps platform for Salesforce, has acquired ClickDeploy.

September 22, 2020

CloudBees announced general availability of the first two modules of its Software Delivery Management solution.

September 22, 2020

Applause announced the availability of its Bring Your Own Testers (BYOT) feature that enables clients to manage their internal teams – employees, friends, family members and existing customers – and invite them to test cycles in the Applause Platform alongside Applause’s vetted and expert community of testers.

September 22, 2020

Kasten announced the integration of the K10 data management platform with VMware vSphere and Tanzu Kubernetes Grid Service.

September 21, 2020

PagerDuty entered into a definitive agreement to acquire Rundeck, a provider of DevOps automation for enterprise.

September 21, 2020

Grafana Labs announced the release of Grafana Metrics Enterprise, a modern Prometheus-as-a-Service solution designed for the scale, architecture, and security needs of enterprises as they expand their observability initiatives.

September 21, 2020

Portshift's Cloud Workload Protection platform is now available through the Red Hat Marketplace.

September 17, 2020

env0, a developer of Infrastructure-as-Code (IaC) management software, announced the availability of its new open source solution for Terraform users, Terratag.

September 17, 2020

Push Technology announced a partnership with Innova Solutions, an ACS Solutions company, specializing in global information technology services.

September 17, 2020

Alcide achieved the AWS Outposts Ready designation, part of the Amazon Web Services (AWS) Service Ready Program.