Google has released Go 1, the programming language that’s been described as "Python meets C++".It promises stability and easy installation.

Google has described Go as combining the performance and security of a compiled language like C++ with the speed of a dynamic language like Python.

Go 1 consists of the language and a set of core libraries, and is the first release that is available in supported binary distributions. They are available for Linux, FreeBSD, Mac OS X and Windows. This makes trying the language out much easier.

In a blog post announcing the release, Andrew Gerrard of the Go team says that the driving motivation for Go 1 is stability for its users:

“People who write Go 1 programs can be confident that those programs will continue to compile and run without change, in many environments, on a time scale of years. Similarly, authors who write books about Go 1 can be sure that their examples and explanations will be helpful to readers today and into the future.”

He added that forward compatibility is part of stability.

According to Gerrard, Go 1 is a representation of Go as it is used today, not a major redesign, and the development team has focused on cleaning up problems and inconsistencies and improving portability.

Some of the changes may mean older programs may have incompatibilities, but there’s a utility called Go fix that can automate much of the work needed to bring programs up to the Go 1 standard.

Some changes have been introduced, including new types for Unicode characters and errors. You can read the full list of changes at golang.org.

One change that will be obvious to users of previous versions is the restructuring of the Go tool suite around the new go command, a program for fetching, building, installing and maintaining Go code. This means you no longer need to use Makefiles to write Go code.

Alongside Go 1, Google has also released a new version of the Google App Engine SDK. Gerrard says that a similar process of revision and stabilization has been applied to the App Engine libraries, providing a base for developers to build programs for App Engine that will run for years.

The real question of course is what is Go for?

When it was announced it seemed reasonable that Google should have a programming language of its own if only to match Microsoft and Oracle. Now Google has two languages to promote - Dart and Go. Dart may be boring by comparison with Go but at least it has a role in life, i.e. to replace JavaScript.

It is worth reminding ourselves what the stated motivation for Go was:

Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java.

I'm not sure that I'd use Python or JavaScript in the same breath as "systems programming" some confusion surely?

MIT has made an intensive short course on the practice of deep learning freely available to all - both in person on campus and online. It even has a course t-shirt, but hurry to claim one as the [ ... ]

The renaming of Java EE is going to be decided by a public vote to choose between two options - 'Jakarta EE' and 'Enterprise Profile'. The need for renaming has been forced on the community by Oracle' [ ... ]