

Nicolai Parlog
Java Developer Advocate
Java Developer Advocate
Karlsruhe, Germany
Actions
Nicolai (aka nipafx) is a Java enthusiast focused on language features, core APIs, and runtime evolution with a passion for learning and sharing. He does that mostly at conferences and in his biweekly Inside Java Newscast, but also occasionally in live streams, articles, and books - more on all that on https://nipafx.dev. He's a Java Developer Advocate at Oracle and otherwise best known for his haircut.
Nicolai (aka nipafx) ist Java-Enthusiast mit Fokus auf Sprachfeatures, APIs und Weiterentwicklungen der Runtime, der leidenschaftlich gerne lernt und lehrt. Das macht er hauptsächlich auf Konferenzen und in seinem zweiwöchentlichen Inside Java Newscast, aber auch gelegentlich in Live Streams, Artikeln oder Büchern - mehr dazu auf https://nipafx.dev. Er ist Java Developer Advocate bei Oracle; ansonsten kennt man ihn für seine Frisur.
Area of Expertise
Java and AI - A Structured Analysis
"AI in Java is bad" ... is a commonly held opinion. But one that is, as I will argue in this talk, overly influenced by our current place in the AI timeline. It overlooks the already dawning reality that a big chunk of AI-related development work will be the addition of AI-based features to other, larger projects.
There, Java is already very competitive and will only become stronger in the coming years thanks to the work in OpenJDK projects Panama, Babylon, and Valhalla and even Amber and Leyden plus dozens of great projects in the wider community that make AI development in Java natural.
So let's discuss what AI development needs and how much Java already has to offer, what it lacks, as well as what it's poised to acquire in the future.
PS: I'm a Java fanboy, not an AI expert - bring pinches of salt.
Modern Java in Action
Let's write a GitHub Crawler and let's throw in everything Java (22) has to offer:
* virtual threads and structured concurrency
* pattern matching and data-oriented programming
* type inference, records, and sealed types
* text blocks and template strings
* a modern HTTP client and improved collections
* modules and OS-specific binaries
The end result will look very different from just a few years ago, let alone 10. This is not your dad's Java!
The Hottest Language You Didn't Have On Your Radar
New programming languages come up all the time and the top dogs they want to supplant are constantly evolving to beat them back. With so much going on, it's easy to miss any specific language's success story and so I want to put a particularly hot one on your radar:
* Its REPL, three-line hello-world, single-command project execution, built-in webserver, and excellent VS Code support make it easy to get started.
* Lambda expressions, one-line type declarations, top-class pattern matching, and other modern language features makes it fun to stick around.
* Whether you need fast startups, high peak performance, or ultra-low 99th percentiles, there's a configuration that achieves your goals.
So what language am I talking about? You wanna sit down for this: It's Java. 😱 Did I exaggerate a bit? Am I overenthusiastic? A paid shill? A bit, yes, but I promise, if you haven't touched Java in a while or only heard horror stories about it, you'll be surprised to see how great it really is.
Java 25 - Better Language, Better APIs, Better Runtime
Java 25 will be the next release with wide-ranging long-term support and it's a doozy:
* from unnamed patterns to module imports
* from the foreign-function and memory API to stream gatherers and the class-file API
* from a simpler `main` to launching multi-source-file programs
* from Markdown in JavaDoc to quantum-resistend encryption
* from faster launch times to improved garbage collection
There are plenty of features in the language, API, and runtime to discuss - whether new, improved, or finalized. So let's go over them!
The SolutionFactory To Java's Problems
Java has issues! Verbose, cumbersome, no expressiveness, no fun. (Or so the kids say.)
Jokes and the craving for syntax sugar aside, Java does have some persistent pain points and Project Amber was set up to tackle them. Not as a single solution to a narrow problem, but as a solution factory that's steadily and carefully chipping away at them:
* text blocks and interpolation to untie the knots in dealing with strings
* pattern matching, records, and sealed types against the clunkiness of operating on data
* `var`, records, and destructuring to reduce redundancy in variable and type declarations
* a relaxed launch protocol to pave the on-ramp for Java beginners
We'll look at these features individually and how they play together to make Java more expressive, more succinct, and more readable. After this talk, you'll know how Project Amber drove and drives the evolution of the language.
Java Next - From Amber to Loom, from Panama to Valhalla
Java's four big projects are entering the home stretch: Amber and Panama have already incubated, previewed, and even finalized some features, Loom and Valhalla are on track to follow soon. Time to take a closer look at how...
* Project Amber makes the language more expressive and ready for today's and tomorrow's problems
* Project Panama cuts through the isthmus separating Java from native code
* Project Loom enables hassle-free and efficient structured concurrency
* Project Valhalla mends the rift in Java's type system and improves performance
After this talk, you will know what to expect from Java in the next few years.
From Idea to IDE - How Java Features Are Considered, Designed, And Shipped
OpenJDK is one of the world's most influential open source communities. It drives the reference implementation of Java SE and the Java Virtual Machine, a programming language and runtime environment used daily by millions of software developers. More than that, the community drives its innovation - 15 years and counting of new language features, core library additions, performance improvements, runtime enhancements, and new tooling.
But how does it all work? How does a community of Java enthusiasts, often financed by some of the biggest tech companies yet working with self-determination, turn ideas into designs into code into features you can use in your IDE? Well, let me explain (in this talk).
Data-Oriented Programming - Version 1.1
In data-oriented programming (DOP), we model data as data and polymorphic behavior with pattern matching. This talk will introduce the concept of DOP and its four principles:
* model data immutably and transparently
* model the data, the whole data, and nothing but the data
* make illegal states unrepresentable
* separate operations from data
We'll also explore how to use pattern matching as a safe, powerful, and maintainable mechanism for ad-hoc polymorphism on such data that lets us define operations without overloading the types with functionality. The talk ends with a juxtaposition to OOP, so you not only learn how to employ DOP but also when (not).
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top