Go, Google's New Open Source Programming Language
Many readers are sending in the news about Go, the new programming language Google has released as open source under a BSD license. The official Go site characterizes the language as simple, fast, safe, concurrent, and fun. A video illustrates just how fast compilation is: the entire language, 120K lines, compiles in under 10 sec. on a laptop. Ars Technica's writeup lays the stress on how C-like Go is in its roots, though it has plenty of modern ideas mixed in:
"For example, there is a shorthand syntax for variable assignment that supports simple type inference. It also has anonymous function syntax that lets you use real closures. There are some Python-like features too, including array slices and a map type with constructor syntax that looks like Python's dictionary concept. ... One of the distinguishing characteristics of Go is its unusual type system. It eschews some typical object-oriented programming concepts such as inheritance. You can define struct types and then create methods for operating on them. You can also define interfaces, much like you can in Java. In Go, however, you don't manually specify which interface a class implements. ... Parallelism is emphasized in Go's design. The language introduces the concept of 'goroutines' which are executed concurrently. ... The language provides a 'channel' mechanism that can be used to safely pass data in and out of goroutines."
Not having much luck. It can't find /etc/passwd, /etc/group or /etc/hosts. All of which do exist. I'm inserting fmt.Fprintf statements to attempt to figure out why it is having problems.
A novel idea: make people learn Go by requiring them to modify it in order to install it.
Loves Unix? Ken Thompson invented Unix. Along with Dennis Ritchie. In 1969.
So yeah. It would be kind of silly if he created something Windows-only...
This fellow has been working on his own programming language, also called "Go", for a decade. Even released a book about it. He filed an issue in the tracker for the Google language: http://code.google.com/p/go/issues/detail?id=9
'Every story, if continued long enough, ends in death.' --Ernest Hemingway
Uh, so they don't have a dynamic linker yet. Consider this:
$ cat hello.c
#include
int main(int argc, char* argv[])
{
printf("Hello, world!");
return 0;
}
$ gcc -O2 -static hello.c
a.out is 688272 bytes (x64_64 Linux)
Until they have a dynamic linking system, who knows.
The ratio of people to cake is too big