4 ms·
> Doesn't Java fit the same bill? (although it was kinda modern at the time) Yes, I think Java was an earlier attempt at this. > Sadly it's really hard to sho
by skohan 5y ago
> Doesn't Java fit the same bill? (although it was kinda modern at the time)
Yes, I think Java was an earlier attempt at this.
> Sadly it's really hard to shoe-horn this onto Go, now that the std lib is widely used. Same for proper sum types (which can then be used for multiple return values).
I agree, I think these types of features are much easier to design around than to add into a mature ecosystem later
> But the continuation of the nullability mistake puzzles me the most... And that wile Go's be designed by big name lang gurus: what were they thinking?
Is it just a timing thing? It seems like explicit nullability came onto the mainstream a few years after Go debuted, but maybe it was already discussed in academic circles before then.
- cies 5y ago> Is it just a timing thing? It seems like explicit nullability came onto the mainstream a few years after Go debuted, but maybe it was already discussed in academic circles before then. I know OCaml[1] has it ('93) and Haskell[2] ('90). Also the claim that implicit nullability is a mistake was made in 2009[3] (around the same time Go was released). Given the seniority of the designers of Go, I expect they had knowledge of this. https://en.wikipedia.org/wiki/OCaml https://en.wikipedia.org/wiki/OCaml https://en.wikipedia.org/wiki/Haskell_(programming_language) https://en.wikipedia.org/wiki/Haskell_(programming_language) https://en.wikipedia.org/wiki/Tony_Hoare https://en.wikipedia.org/wiki/Tony_Hoare
- tome 5y agoML had "it" in 1973! ... if "it" is even a thing. I would say that it's not, rather implicit nullability is the thing. It's just not something you'd do in a typed language unless you really specifically chose it. That's how Hoare could claim it was his billion dollar mistake. Implicit nullability was a thing he (and subsequent language designers) opted in to.