What does it mean to be a better Java? (Part 3)
This week, we explore software architecture: interfaces, classes, objects and inheritance. We grade Kotlin through Java's prism, and thus mainly focus on object-oriented design.
This week, we explore software architecture: interfaces, classes, objects and inheritance. We grade Kotlin through Java's prism, and thus mainly focus on object-oriented design.
Last week, we studied ways in which Kotlin improves upon Java when it comes to creating and destroying objects, eliminating Java pitfalls and footguns. This week, we discuss the common supertypes: Object
, Any
and Comparable
.
In the old days, programming languages would come and go. In the modern age, languages remain for decades as platforms on top of which new ecosystems are born, never to be dethroned. Java is the venerable sage of the server-side world—but new languages still attempt to take it on.
Throwable
is the supertype of all things that can be thrown. It often appears in codebases as an upper bound for error handling. Here's why you shouldn't do it.
We should all strive to write code that is harder—if not impossible—to exploit. Sometimes, however, the vulnerability comes from places we thought we could trust.
When I talk about KotlinJS, people often ask me “Why not just TypeScript?”. This article compares the type system and standard libraries to understand how different the languages are.
Over the years, many people have asked me why I prefer using GitLab over GitHub. Although an exhaustive comparison wouldn't be possible in a single article, I'd like to highlight a few points of interest.
A story about contributing to open source, how the community finds bugs before they reach customers, and a weird edge case I didn't know about.
Hexagonal architecture is one of the most popular software architectures at the moment. Let's dive into what it is, what it isn't, and how to know when a project isn't benefitting from it.
Dependency Injection is more popular than ever. As with all popular things, the original idea is becoming more and more diluted down, to the point that discussing it is becoming difficult. Let's go back to the roots, and see what DI really is.