Google Go Programming Language Moves to Version 1.1
Google unveils an updated new version of Go with new features and capabilities, 14 months after releasing the first version of the open-source programming language.Google's Go open-source programming language has just been updated to Version 1.1, bringing developers new capabilities and performance improvements such as a race detector for finding concurrency bugs and new standard library functionality. Details about the new Go 1.1 were released May 13 in a post by Andrew Gerrand of the Go Team on the Google Open Source Blog. "Since the release of Go 1.0 in March last year, the 'gophers'— a team at Google and hundreds of contributors from the open source community—have been hard at work" creating a follow-up version that would increase performance and bring key refinements, wrote Gerrand.
Linux, Mac OS X, Windows and more platforms. The Go project was launched in 2009 as a fast, productive and fun "experimental" programming language for developers that looked to combine the development speed of working in a dynamic language like Python with the performance and safety of a compiled language like C or C++, according to an earlier eWEEK report. In an essay called "Go at Google: Language Design in the Service of Software Engineering," Rob Pike, a Google engineer, wrote in 2012 that Go "was conceived in late 2007 as an answer to some of the problems we were seeing developing software infrastructure at Google." Those complications included multicore processors, networked systems, massive computation clusters and Web programming that had to be addressed, wrote Pike. "Moreover, the scale has changed: today's server programs comprise tens of millions of lines of code, are worked on by hundreds or even thousands of programmers, and are updated literally every day," he wrote. "To make matters worse, build times, even on large compilation clusters, have stretched to many minutes, even hours." To combat those issues, "Go was designed and developed to make working in this environment more productive," wrote Pike. "Besides its better-known aspects such as built-in concurrency and garbage collection, Go's design considerations include rigorous dependency management, the adaptability of software architecture as systems grow, and robustness across the boundaries between components."