Hacker News new | past | comments | ask | show | jobs | submit login

> 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!).




Go'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.


> 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.


> Alef, Limbo, libthread.

Also Newsqueak.


Maybe not well understood by programmers but in the programming language world Go's ideas have been around for over 3 decades.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: