Optionals cause more problems than they solve

Many languages have had an equivalent for years; some have added an equivalent recently.

Languages like C++, C# and Java have to make major concessions for backward compatibility. Languages like Scala and Kotlin have to make concessions to interoperate with Java libraries but try to stick to the Optional-equivalents in their “native” code. Languages like Haskell and Rust are as uncompromising as Swift.

14 Likes