logoalt Hacker News

kiitoslast Tuesday at 8:43 PM2 repliesview on HN

Programming languages are designed systems, they need to make sense holistically. They're not simply collections of tick-boxed features that are expected to be added once their tick-box requirements are satisfied.


Replies

stousetlast Wednesday at 5:23 PM

> Programming languages are designed systems, they need to make sense holistically.

Of all the languages in common use, golang is the one that makes the least sense holistically. Return values are tuples, but there's nothing that lets you operate on them. Enums aren't actually limited to the values you define, so there's no way to ensure your switch cases are exhaustive when one is added in the future. Requiring meaningful zero values means that your error cases return valid, meaningful values that can accidentally be used when they return with an error.

827alast Wednesday at 12:20 AM

This opinion is clearly far more arguable than you might think.