Comment

Comment by noir_lord

If you have nulls (or nullable types) then you end up checking for them everywhere (in every codebase I've seen anyway - keeping them on the boundaries only works if that's practical and the language always does it for it's standard libraries etc).

Additionally you can no longer say Thing is Thing, it's always Thing or null - which results in special handling

if (foo === null){} everywhere and when you don't boom NullPointerException.

Exceptions cause problems in other ways (especially when they are allowed to escape up the stack), business logic shouldn't be handling FileNotFoundException that was thrown 6 layers away.

parent noir_lord 5 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton