Some Thoughts on Error Handling

Errors are huge in development. As is error handling. Sadly not a lot is written about best practices in error handling. Most languages favor one way to handle errors and apply that to all cases. Developers tend to ignore errors or take the mechanism that is in hand. This article goes a little deeper into ways to handle errors and I share some thoughts on what error cases might be best handled by what methods. Continue reading Some Thoughts on Error Handling

Comparing Optionals and Null in Swift, Scala, Ceylon and Kotlin

Today it’s clear that representing optional values with Null was not the best idea. Several modern languages model this problem with explicit nullable types or Option Monad (after the Haskell Maybe Monad). As Option in Scala has influenced my programming style heavily over the last years, I wanted to compare how other languages deal with this. I did not include Groovy although it was one of the first (the first?) JVM language to safely dereference null values because I currently have no interest in Groovy.
Continue reading Comparing Optionals and Null in Swift, Scala, Ceylon and Kotlin

The Case for a New Programming Language

Disclaimer: I only know web frontend/backend and mobile development with several teams. So everything I say needs to be seen in this context.

In beginning of the 90s I was writing internet code in C directly using TCP/IP as an ‘abstraction’ layer. Bugs were plenty and development was a pain. Then Java arrived and made development much more pleasant. Java with exceptions created nicer to read exception stack traces than C did with core dumps and also prevented many common C bugs. Continue reading The Case for a New Programming Language