Google's Go programming language
Google recently released a "systems" programming language called Go (not to be confused with the existing programming language called Go! ) that is designed to be simple, fast, safe and concurrent. Google give an impressive feature list: Accurate concurrent garbage collection. Goroutines and channels for parallelism and concurrency. Multiple return values. Fast compilation times. Structurally-typed object oriented programming. First-class functions. There are two different kinds of compiler available to Go programmers. The more common 8g and 6g compilers for the x86 and x86-64 architectures, respectively, are simple "splat" compilers that translate source directly into assembler. These compilers offer fast compilation but the generated code is not optimized and is generally quite slow, often several times slower than C. Moreover, in the absence of an accurate way to traverse the heap, these compilers use a GC that resorts to conservative collection (blindly travers...