Wednesday, November 18, 2009

"GO" :: Google Programming Language




GOOGLE Ready Steady and GO GO ... GO...



So here comes a great news .. Google had launched an entirely new programming language "GO" on November 10, 2009. GO is considered as the new programming language that provide solution to existing language such as C++ and Java. GO is released under an open source licence. At the moment Go is only available for Linux and Mac OS. The company know the power of open source. This new language Go has been in development phase for last two years, releasing Go under open source license, Google hopes that the open source community will develop and build Go into a viable choice for software development. Just last week only this Search giant released its Closure JavaScript tools for building Ajax web apps. And now Google has considerably upped its investment in free software with the release of Go, which is an entirely new programming language.

What is the need of New language

No new language in last decade, but lot has change like the libraries got bigger and bigger so as dependency chains. Network has change a lot but language doesn't reflect that. So the case with system space client server. This also happen in case of CPU. computers are now having Multicore, Multichip while the language we are using doesn't have this concept while development. It take too long to build software. Dependencies are uncontrolled. Yet Machine got more, but stopped getting faster. Machine has more processor, but the clock speed doesn't change as much. So the speed of developing a software is still a slow process.

Mr Pike said "If we stay as we are, before long software construction will be unbearably slow"

Now the question is can't we change the existing language as per our demand. The answer is no. If we made change in current language, we have to rewrite the libraries, it might be take in wrong direction. So its better to develop a new language which is much faster and fun to work with.

Whats new in "GO"

GO is considered as one of the branch of C, the mother language of all language. At first glance, Go looks a bit like C, but borrows some elements, such as garbage collection, from scripting languages like Python and JavaScript. It is bigger then C, but lesser then C++.

In "GO" concept are orthogonal for-example the concept of interface and implementation is completely orthogonal. they doesn't interface each other. Grammar is regular and simple with few keywords and it is parsable without s symbol table. It is more object oriented than C++ and Java.

Dependencies is one of the important feature of the GO.

say A.go depends on B.go and B.go depends on C.go.

Then in usual way the complier will compile in a reverse order C.go, B.go then A.go, while this is not the case with GO complier. To compile A.go compiler reads B.o object file not C.o as B.o as everthing that needs A.go.

Concurrency is the another important feature. Go provide a way to write system and server as concurrent, garbage-collected process(know as go-routines) with support from language and run-time. In lay man language go-routine is some what similar to thread or process.

Following are some the snapshot that describe basic and program structure of GO language





It's the speed that differentiate Go from other programming language. The following video shows a demo that shows the entire language — over 120K lines of code — compiling in under 10 seconds.



Benefit of "GO"

Being a giant in search engine, Google priority is to provide the service in a faster and more reliable way. Go is intended to be used for developer applications like, web servers. In fact, the golang.org website is being hosted by a Go program.

Google believes that the web and computing have changed dramatically in the last ten years, but the languages powering that computing have not. But when you get down to it, Google could benefit a great deal from not only having a more efficient programming language, but having one it designed being used in thousands web and software apps.

If you’d like to learn more, check the above video of Pike’s tech talk or check the Go website (http://golang.org/).

No comments:

Post a Comment