(PhysOrg.com) -- Google has introduced its new experimental programming language Go, which aims to combine speedy application development through simplified coding with high-speed program execution.
Go is designed to serve as a systems language, rather like C or C++, but is extremely fast for development like Python, while still providing the benefits and security of being a true compiled language. The programming software is being released in an open source version because it is now at the stage of being powerful and useful, and because the open-source community is a great resource for developing better tools and libraries.
A principal engineer at Google, Rob Pike, said the new language made him more productive than ever. Go code is compiled almost instantly, and when compiled the code runs at close to the same speed as C, Pike explained. Unlike existing languages, Go is designed as a language for the kind of programs Google programmers write, and is optimized for massive scaling and for multi-core processors that handle many tasks in parallel. So far it has not been used in any of Google's publically available applications.
Google's Go began as a group 20% project in 2007, and full-time work began on it last year. In group 20% projects Google employees can spend up to 20% of their time developing projects that lie outside their normal responsibilities. Pike and colleagues developed Go because they were frustrated with the modern complexity of software development. Go is not designed for beginners, but is probably around the same level as Java in terms of difficulty learning it, Pike said. It is an object-oriented language with features such as true closures and reflection.
Go works with Google's open-source technology Native Client, designed for running native code in web-based applications, but it is not known yet whether Go will be used in the new Google operating system, Chrome.
Google released another programming language, Simple, in July this year. Simple was a BASIC dialect designed specifically for developing Android applications.
More information: golang.org/
© 2009 PhysOrg.com
Explore further: Collaboratively exploring virtual worlds