Lovely traceback polish in Java 14: reporting which expression returned null in foo().bar().baz()!
https://blogs.oracle.com/javamagazine/java-14-arrives-with-a-host-of-new-features
Related Posts
TIL Rust has an ambiguity `if Foo {}` -- is `Foo` a value of type bool, or a struct?
Rust solves this by defining a grammar production 'any expression except struct literals' and using it in this position. https://rust-lang.github.io/rfcs/0092-struct-grammar.html
It's odd how lazy evaluation is generally seen as a niche design choice, yet the vast majority of languages treat `foo() || bar()` as short-circuiting.
When a tool supports both regular expressions and literal strings, which should be the default?
If you default to regex, users can match more strings than they realise (e.g. `foo.txt`) or less (e.g. `foo(bar)`).
I typically see regex as the default, but I prefer the opposite.