Is “Google Go” Going to be the Next “C” Language?By Dipankar Das, Gaea News Network
Thursday, March 18, 2010
Google launched an open-source experimental programming language GO. The language combines the performance and security benefits that we get by using a compiled language like C++ with the speed of a dynamic language like Python. Now a days, libraries are getting bigger due to lots of recent development. Internet, networking and multi-core processing have become the key areas of the latest technology. However, most of the system programming languages have been developed three decades back. That’s why they can not serve the purpose of the above mentioned properties.
Although, there are many changes during last decade, but, no major developing language has been developed during that period. That’s where Google GO plays a role which is created by Robert Griesemer, Ken Thompson and Rob Pike. This is a dynamic language that has a clean syntax, where you can separate interface and implementation, and Goroutines is based on CSP (Cache Server Pages). Some experienced developers think that it is safer than lock-based Java.
Although, GO has pointer, but, it does not have pointer arithmetic. The implementation of the language is associated with writing of systems as lightweight communicating processes called goroutines. An application may consist hundreds of Goroutines. The design of the language is supported by Unicode, garbage collection and run-time reflection. GO has two compilers. One is gccgo that uses a GCC back end, and a suite of architecture specific compilers, 6g for 64 bit x86 code and 8g for 32-bit x-86 code.
However, this language which was invented in 2009 is still in an evolving stage, with tools and packages in development stages and it has been used only by one per cent of programmers as of now. Also, I believe that C++ has wider use because it supports explicit memory management and pointer arithmetic. Additionally, C++ is a static, explicit language and GO is not.
Tags: C++, CSP, Dynamic Language, Google GO, Goroutines, Java Software, Libraries, MemoryManagement, Multi-core processing, Pointer, Python