Hacker News new | ask | show | jobs
by grapehut 1038 days ago
It's often not that simple. As a concrete example, I think Golang made a giant mistake with 'nil interfaces' ( e.g. https://go.dev/tour/methods/12 ) which can lead to extremely confusing and weird code ( e.g. https://go.dev/play/p/Qk1g9tSwQcw ).

So let's assume there was wide spread consensus that it's a terrible idea and it should work like every other programming language. There is really no obvious way to simply "convert to the new syntax"? And trying to have "go with nil interfaces" library interact with "go with normal type system" would be it's own can of worms.

Like in this case, the only realistic path I could see would be you deprecate it, then you start warning, and then in like 10 years or something you fully remove it?