Recently I have been taking a look at the Go programming language. I find it very interesting and feel it could have a great future. As with anything new though, people are studying it without appreciating the history that leads up to it. In one particular case, you get comments along the lines of: "their concept of Go routines and Channels, and I wanted to see if this really was a new paradigm for multi- threaded, multi-tasking programming." (from http://gohelp.wordpress.com/). The answer is clearly "No" since the Go paradigm for handling concurrency and parallelism (goroutines and channels) is based fairly and squarely on CSP (Communicating Sequential Processes) which Tony Hoare and collaborators invented and about which he published a book in 1984. The Go documentation clearly points out this historical background to the goroutine concept. The problem is that people are either not reading it, or are choosing to ignore it. Fortunately the developers of Go are less dismissive of history. Possibly because some of the team were involved in making it 30+ years ago.
"Standing on the shoulders of giants" is a well used phrase to describe moving things forward by using the great work that people have done in the past. The Go development team are doing this. It is a pity that too many people are not realizing this, because they have failed to appreciate the history of their subject.