Game changing editions
Explores the concept of 'PHP Editions' inspired by Rust, proposing opt-in breaking changes as a way to modernize PHP while maintaining ecosystem stability.
Explores the concept of 'PHP Editions' inspired by Rust, proposing opt-in breaking changes as a way to modernize PHP while maintaining ecosystem stability.
A developer shares their wishlist for future PHP features, including PHP editions for opt-in breaking changes and interface default methods.
A developer discusses using conditional code to adopt new macOS 15 SwiftUI APIs while maintaining backwards compatibility with macOS 14 for their app.
Explains how to refine Java method return types for better APIs while maintaining backwards-compatibility using bridge methods.
Explains how to refine Java method return types while maintaining binary compatibility using bridge methods and the Bridger tool.
A technique using a Backport struct to simplify writing Swift code that supports multiple iOS/Swift versions, making availability checks cleaner.
A nuanced look at using named arguments in PHP open source projects, addressing maintainer concerns about backwards compatibility and cleaner syntax.
Explores the complex decision-making process behind adding new features to the Java programming language, addressing common developer requests.
Explains how javac's ct.sym file ensures Java backwards compatibility by managing API availability across different Java versions.
Explains how javac's ct.sym file ensures Java backwards compatibility by controlling API usage for different target versions.
A technical guide detailing the process and benefits of upgrading from Java 8 to newer versions, based on real-world experience.
A developer's response to the PHP team about internal governance, RFC processes, and the need for modernized rules to improve language evolution.
The article critiques poor UI changes in apps like Zulip and Facebook, comparing them to confusing physical designs like doors.
Explores using Java default methods for interface evolution, focusing on challenges with generics when replacing entire interfaces.
Explores how Java 8's default methods enable backward-compatible interface evolution, covering adding, replacing, and removing methods.
The story behind the new CSS color 'rebeccapurple', created in memory of Eric Meyer's daughter, and a tool for browser compatibility.
Explores Java generics, type erasure, and how to retrieve generic type arguments at runtime despite common misconceptions.
Explains three levels of adopting HTML5, from simple syntax changes to advanced features, for web developers.