This is a creation in Article, where the information may have evolved or changed.
Google recently released a new open source programming language called go. The go language was designed as early as September 2007, with designers including Robert Griesemer, Rob Pike and Ken Thompson, and later Ian Lance Taylor implemented the GCC-based go compiler Gccgo,russ The addition of ROX drives the actual availability of languages and libraries. It was officially announced in September 2009 and is compatible with Linux and Mac operating systems.
Go is a expressive, concurrent, garbage-collected programming language.
In Google's words: Go experimentally combines the performance and security of C or C + + with dynamic language such as Python's speed. The compilation of the code runs close to C, and even a large scale binary compilation takes only a few seconds.
Features not included in Go are:
1. Exception handling (Exception handling)
2. Type Inheritance (inheritance)
3. Generic Programming (Generic programming)
4. Assertion function (assertions)
5. Method overloading (methods overloading)
Let's take a look at the Hello world of the Go language
Package Main
Import FMT FMT//package Implementing formatted I/O.
Func Main ()
{
Fmt. Printf (Hello world/n);
}
In addition to the assertion type (declarations type), the syntax of the go language is very similar to the C language. But the go design simplifies the dependency management of header files, uses a lightweight type system, has no inheritance of types, supports garbage collection and concurrency, and provides a solution for designing system software on multicore systems. Other grammatical differences are: in the IF and for statements, go defaults to parentheses.
Go is a concurrent programming language, unlike Limbo, which does not provide any built-in security concepts. Go has some of the characteristics of Pi calculus (pi calculus) such as channel transfer (channels passing). In summary, the go language is as follows: simple, fast, secure, concurrent, happy programming, open source.
Hopefully, the go language will be a great language to support multi-process system programming, keeping it fresh and lightweight to engage in object-oriented development, with some great features such as closures and mapping (reflection).
Go the original designer introduction:
Robert Griesemer, who participates in the design of the JavaScript execution engine in Chrome V8,V8 uses the instant-compilation technique and the Stop-the-world garbage collection mechanism of generational (generational);
Rob Pike, who worked in Bell Labs, was the main designer of the UNIX operating system, the PLAN9 operating system, the Limbo programming language, and UTF-8 coding, and wrote the cynical article Systems software research was Irrelevant, there are two books, the Unix programming environment and the practice of programming;
Ken Thompson is a Turing Award winner and is one of the founders of the UNIX operating system, the PLAN9 operating system, the UTF-8 encoding, and the B programming language (the predecessor of C). Google,ken and Robert have also designed Sawzall languages for large-scale data analysis.
Ian Lance Taylor is a super-active figure in the GCC community, one of the leading designers of the gold connector and GCC process optimization lto, and is one of the founders of the Zembu company. (Wen/Wang Yulei)
Original link:http://www.programmingfacts.com/2009/12/04/facts-of-googles-go-programming-language/