4 ms·
The main Go authors come from a C background, and they despise C++ and Java. It seems that those languages are their main experience, and hence, Go does not loo
by azth 13y ago
The main Go authors come from a C background, and they despise C++ and Java. It seems that those languages are their main experience, and hence, Go does not look too different from them.
Go was originally presented as a "systems" programming language, and as a C++ replacement. It failed to attract C++ and other systems programmers, while attracting Python and Ruby coders. In retrospect, it seems to make sense.
I suspect the reason adding generics is hard in Go is a due to its weird composition system (they loathe object hierarchies too, remember?)
I concur, that we should be using and developing languages that have strong, expressive type systems. Furthermore, these languages are not "complex" to use or understand. I really admire what the Rust people are doing. They are writing a browser engine while developing the language, so they can continually evaluate their design choices, and if needed, change things as they go.
Go looks like it has been designed into a corner, but it is too late to back up now. The main driving force it has is that it has Google as a brand name behind it, unfortunately. Otherwise, it most likely wouldn't have gone anywhere.
- enneff 13y ago> Go looks like it has been designed into a corner, but it is too late to back up now. Not really. We had years of experience with Go—and made many changes—before we stabilized the spec with Go 1. We are happy with the major decisions we have made so far, as are a lot of Go users. Of course there are minor things we would change if given the chance today, but the basics of the type system and the presence of nil pointers are not among them. The reason generics is hard is because we want to find a way of doing it without losing the feel of the language we have right now (which we quite like, thanks).