Next Meeting

Not Your Father's Java (21), Not Your Mother's JavaScript

Abstract

20 years ago, Java started supporting regular expressions and XML, and JavaScript learned to interact with the Document Object Model (DOM) in Internet Explorer 6 and Netscape. Neanderthals just stopped hunting mammoths after the dot-com bubble burst, while Millennials were mastering the usage of XMLHttpRequest to send SOAP messages, which allowed users to buy philosophical compositions, including "In Da Club" and "Chihuahua." Not to mention that WASM at that time roughly meant Open Watcom Assembler.

Currently, a new Java version is released every six months, and the ECMAScript specification is updated every year. We designate types in TypeScript and run it on the server, and at the same time, there is a JVM implementation in WebAssembly. We write var and anonymous functions in Java and define private fields in JavaScript classes.

Let’s have some fun and see how many analogous things have appeared in two languages with similar names that are so often discussed as opposites. The big picture always helps to decide which instrument is better for the tail and which for the trunk.

JDK 21, the latest LTS release, has been out for almost a year. It's as if a Tarot card set has appeared from the fortune-teller’s sleeve. Each card has its own interpretation. These are mystical virtual streams, records that disappear when deconstructed, and collections that are now traversed backwards. It's also time to give back to the world a new "Hello World" application. The life cycle of tasks executing in different threads can be defined through structural concurrency. Some of the innovations tend to appear as features in the future, and some seek to show new wisdom, such as preparations for the ban on dynamic loading of agents.

Of course, divination cannot predict our future, but new features in Java are already able to improve the programs that we develop and maintain.

Bio

Dmitry Chuyko is a Senior Performance Architect at BellSoft, an OpenJDK committer, and a public speaker. Prior to joining BellSoft, Dmitry worked on the Hotpot JVM at Oracle, and before that, he had many years of programming experience in Java.

He is currently focused on optimizing HotSpot for x86 and ARM, previously being involved in rolling out JEP 386, which enables the creation of the smallest JDK containers. Dmitry continues his journey in the containerization process and is happy to share his insights and expertise in this field. Dmitry is a well-known speaker in the Java community, and one of his recent public presentations is available here.

Dmitry is also a contributor to the DZone, and his most popular recent publications include:

Click HERE to register via EventBrite

Dmitry Chuyko