Wednesday, November 11, 2009

GOOGLE UPDATES: Google Go, An Open-Source Programming Language

Google's conquered search, online document collaboration, e-mail, telephony, and why not programming? The tech giant has announced its own open source and object oriented programming language, called Go.

"Go combines the development speed of working in a dynamic language similar to Python with the performance and safety of a compiled language similar to C or C++," according to a Google blog post.

If you don't know what that means, don't be bothered about it.

"Typical builds," the blog continues, "feel instantaneous; even huge binaries compile in just a few seconds. Moreover the compiled code runs close to the speed of C."

Go supports multiprocessing, in addition to true closures and reflection.

The Go Web site explains the rationale behind creating Go, repeatedly citing the change of the computer landscape that takes place over the past decade or so. There have been very few, if a few, major systems languages spring up, there are now more powerful PCs, lots of of which use multi-core processors, and there is an increased dependency management in software that is not reflected in the "header files" of C-based languages.

There is also the growing desire for dynamically typed languages (like Python and JavaScript) as an alternative of type systems such as Java and C++, and the poor support for concepts such as garbage collection as well as parallel computation.

Google added that Go takes full advantage of modern, multi-core hardware and simplifies dependency analysis and avoid the overhead present in C-style languages, such as files and libraries. Go's type system in addition has no hierarchy, which saves the programmer from having to define relationships between types, and Go is completely garbage-collected and naturally supports concurrent execution also communication.

If you are interested in getting started with Go, or you now want to learn more about its inner workings, Golang.org is loaded with tutorials, manuals, FAQs, along with other documentation for easy assimilation. There is even a section devoted to C++ programmers who desire to learn Go. Also available are code samples, such as the traditional beginning to all studies, "Hello, world!”

05 package main
07 import fmt "fmt" // Package implementing formatted I/O.br> 09 func main() { 10 fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n"); 11 }

Of course, it's way too early to forecast the impact of Go on programmers or programming. However we have a feeling that in this way, as in so many others, quite a few people will fall behind Google and look at this as a handy way of writing programs for modern hardware. If it won't spell the end of a variety of programming languages in common use, it will unquestionably represent at least the start of a major C change.

No comments:

Post a Comment