Best Practices Considered Harmful
A critique of blindly following software development 'best practices', arguing for more thoughtful discussion and application.
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.
302 articles from this blog
A critique of blindly following software development 'best practices', arguing for more thoughtful discussion and application.
Explores the complexities and misconceptions around immutable collections in Java, arguing against adding a dedicated 'Immutable' type to the JDK.
Summary of the Jakarta EE community's turmoil over the javax package name and trademark issues after Oracle's transfer of Java EE.
Explores using Caliz to wrap Java scripts with GraalVM's Ahead-of-Time (AOT) compilation to create fast-launching native images.
Exploring Java 11 single-file execution and GraalVM's AOT compilation to create fast native images for Java scripting.
A comprehensive guide to Java 12 features, including switch expressions, the teeing collector, and migration considerations from Java 11.
Explains Java 12's new teeing collector, a stream utility that forwards data to two collectors and merges results.
A live stream exploring Java 12's new features, including String::indent, Collectors::teeing, and CompletableFuture additions.
Explores Effective Java items 3-5 on controlling object instantiation, covering utility classes, singletons, and dependency injection.
Explores eleven lesser-known but useful features introduced in Java 11, including lambda type inference and new String methods.
A deep dive into Java 10's `var` keyword, exploring type inference, use cases, and advanced techniques like intersection types.
Explores Java 11's single-source-file execution feature, allowing Java files to be run directly and even turned into executable scripts with shebangs.
An interview with Maven developer Robert Scholte discussing the inner workings of the project and future plans for Maven 4 and 5.
Explores Java 11's HTTP/2 API for reactive, streaming request and response bodies using the Flow API, with code examples.
An introduction to the new switch expressions feature in Java 12, covering its syntax, benefits, and how to use it.
A tutorial on using Java 11's new HTTP/2 API, covering HttpClient, HttpRequest, and synchronous/asynchronous requests.
Analyzes the Builder pattern in Java, discussing its benefits, potential overuse, and alternatives for simplifying class design.
Explains Java 11's new release model, licensing changes (Oracle JDK vs OpenJDK), and long-term support implications for developers.
A comprehensive guide to migrating from Java 8 to Java 11, covering release cycles, licensing, and common technical hurdles.
Explains the benefits of static factory methods in Java, covering naming, instance control, and return type flexibility.