I am (now) a lisp programmer and find myself boring many people to tears about it. But perhaps I am first a language guy, and like to see new solutions to problems. None give me the satisfaction that Lisp has (smalltalk was close, however). But I like to see new well-designed languages and how well, or not, they address the engineering challenges.<p>For example, turbo pascal was written during the time that I was writing a pascal compiler. The Pascal standard was truly a harsh mistress, and turbo pascal made a lot of very useful engineering choices to make a fast, very useful compiler in a small environment. Anders went on to do C#, which itself was a good engineering feat.<p>I watch with interest Clojure and the ecocsystem that it plugs into and it has a REPL.<p>But it is a pragmatic fact of life that C is a very large force in the day-to-day world, along with a tool used by serious hackers (c.f. Coders At Work).<p>Python is very nicely designed and gets you to a higher level of programming with ease.<p>So I was curious when Go came along, as a language development observer, to see what were they coming up with.<p>It is clearly a language that has had a lot of thought put into it and it seems to be something that will challenge C on its own turf ultimately. Faster than Python, and possibly ultimately approaching C in speed, it has some useful new ideas. In particular, how it does goroutines and channels is quite refreshing. It addresses the admonition that "threads won't work if they are just libraries" with new language constructs.<p>So criticism of language ought to be tempered by some experience with the language. Having done enough of them, it seems that I often don't have a full appreciation for a language until I have done something significant in that language. So I feel comfortable offering severe criticism of languages like RPG-III and Fortran II and Altair Basic and Bliss-36.<p>I am probably to the point of being a lisp snob by now, but do appreciate the finer points of other languages.<p>I think Go is a step in the right direction for the problem that it wants to solve.