Hacker News new | ask | show | jobs
by raxxorrax 1721 days ago
In the grand scheme of things Java is a modern language although I dislike how generations of langauges are defined.

But the innovation Java brought is larger than what younger languages bring to the table. You can still dislike the language of course.

1 comments

One of the great ways of avoiding bugs is to make invalid states unrepresentable. An easy win is to use sum types for the various different flavours of a valid input parameter. The verbosity of having to manually create classes, wrap/unwrap rather than defining at-hoc in-place, and pattern matching leaves it in still the not modern camp, among other things.
On making illegal states unrepresentable - this was my favorite post on that topic: https://fsharpforfunandprofit.com/posts/designing-with-types... (I don’t even write F# myself)