When to use Data-Oriented Programming
Explores when to use Data-Oriented Programming in Java, comparing it to functional and object-oriented paradigms.
Nicolai Parlog (nipafx) is a Java Developer Advocate at Oracle who shares deep insights on Java through blogs, talks, books, videos, and open-source projects, helping developers learn and grow.
297 articles from this blog
Explores when to use Data-Oriented Programming in Java, comparing it to functional and object-oriented paradigms.
Overview of all finalized and preview features in the upcoming Java 23 release, including primitive patterns and flexible constructor bodies.
Explores the Data-Oriented Programming principle of separating operations from data, using Java records as an example.
Explores the data-oriented programming principle of making illegal states unrepresentable in Java, focusing on precise data modeling.
Explores Data-Oriented Programming principles in Java, focusing on modeling data with records and sealed types.
Explores immutability and transparency in data modeling using Java records, part of a series on Data-Oriented Programming v1.1.
Explores Data-Oriented Programming in Java, updating Brian Goetz's guidelines using modern features like records, sealed types, and pattern matching.
Java 23 previews module import declarations, a new feature for importing all public types from a module, even in non-modular code.
Explores JEP 468, which introduces 'with expressions' (withers) to simplify creating modified copies of immutable Java records.
Explores Java 23's primitive patterns, detailing their role in rebalancing pattern matching alongside type, guarded, record, and unnamed patterns.
JDK 20-23 updates for Unicode CLDR Version 42, covering locale data changes and parsing enhancements for date/time strings.
Explores experimental and unconventional uses of Java 22 features like sealed types, showcasing creative but potentially problematic coding techniques.
Explores Java 22's ability to run multiple source files without explicit compilation and discusses its impact on build tools like Maven and Gradle.
A surprising look at modern Java's features, arguing it's a hot, developer-friendly language worth revisiting.
Java 22 previews a feature allowing statements before super() or this() in constructors, simplifying code like argument validation and preparation.
A summary of major OpenJDK projects like Babylon and Loom, detailing Java's planned developments and features for 2024 and beyond.
A recap of Java's major developments in 2023, including JDK 21, virtual threads, and improved developer tooling and accessibility.
Explores how Java's Project Valhalla and JSpecify aim to eliminate NullPointerExceptions by defining nullability for value and reference types.
An overview of JSpecify, a project creating standard annotations for null tracking in Java static analysis.
A detailed overview of the new features and improvements coming in Java 22, including unnamed patterns, stream gatherers, and the FFM API.