6 ms·
> Go was attempting to use only very-well-understood ideas to make a very-well-understood, simple language. Many of the ideas in go were not well understood an
by elektronjunge 11y ago
> Go was attempting to use only very-well-understood ideas to make a very-well-understood, simple language.
Many of the ideas in go were not well understood and had only been demonstrated in research languages prior to go. Its concurrency model and associated primitives, and the automatic interface system were in roughly the same state then as Rust's new ideas are now.
That said the ideas in Rust were not as well understood 5 years ago and I doubt that the go creators could have incorporated them well at the time. It took Rust 5 years of experimentation to come to what it is now (and its still got a number of additions to go!).
- f2f 11y ago> Many of the ideas in go were not well understood and had only been demonstrated in research languages prior to go. Its concurrency model and associated primitives, and the automatic interface system were in roughly the same state then as Rust's new ideas are now. to Go's authors the CSP model was very well understood through three different implementations: Alef, Limbo, and Plan 9's libthread.
- sanxiyn 11y ago> Alef, Limbo, libthread. Also Newsqueak.
- jroesch 11y agoMaybe not well understood by programmers but in the programming language world Go's ideas have been around for over 3 decades.
- m0th87 11y agoGo's concurrency primitives are rooted in decades-old research (CSP). Its interface system is an implementation of structural typing, which may be even older. You could maybe argue that neither had "industrial-strength" implementations, but that seems like a stretch.