Pegasystems announced the general availability of Pega Infinity ’24.1™.
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.
Industry News
Mend.io and Sysdig unveiled a joint solution to help developers, DevOps, and security teams accelerate secure software delivery from development to deployment.
GitLab announced new innovations in GitLab 17 to streamline how organizations build, test, secure, and deploy software.
Kobiton announced the beta release of mobile test management, a new feature within its test automation platform.
Gearset announced its new CI/CD solution, Long Term Projects in Pipelines.
Rafay Systems has extended the capabilities of its enterprise PaaS for modern infrastructure to support graphics processing unit- (GPU-) based workloads.
NodeScript, a free, low-code developer environment for workflow automation and API integration, is released by UBIO.
IBM announced IBM Test Accelerator for Z, a solution designed to revolutionize testing on IBM Z, a tool that expedites the shift-left approach, fostering smooth collaboration between z/OS developers and testers.
StreamNative launched Ursa, a Kafka-compatible data streaming engine built on top of lakehouse storage.
GitKraken acquired code health innovator, CodeSee.
ServiceNow introduced a new no‑code development studio and new automation capabilities to accelerate and scale digital transformation across the enterprise.
Security Innovation has added new skills assessments to its Base Camp training platform for software security training.
CAST introduced CAST Highlight Extensions Marketplace — an integrated marketplace for the software intelligence product where users can effortlessly browse and download a diverse range of extensions and plugins.
Red Hat and Elastic announced an expanded collaboration to deliver next-generation search experiences supporting retrieval augmented generation (RAG) patterns using Elasticsearch as a preferred vector database solution integrated on Red Hat OpenShift AI.
Traceable AI announced an Early Access Program for its new Generative AI API Security capabilities.