Get the latest updates on Google APIs and developer tools.
Tuesday, November 10, 2009
Go: A New Programming Language
Have you heard about Go? We released a new, experimental systems programming language today. It is open source and we're excited about sharing it with the development community. For more information, check out the Google Open Source blog.
By Robert Griesemer, Rob Pike, Ken Thompson, Ian Taylor, Russ Cox, Jini Kim and Adam Langley - The Go Team
Looks like Google is distracting the programmers by introducing new languages - Why ??????????? Google, IMO, is far bigger than 'falling apart for Identity Crisis'. It doesn't suit a strong gaint's like google to succumb to such cheap strategies/ tricks.
It is Open Source and that's why it supports Linux. Mac is Linux-like. Windows IS NOT Open Source, so it doesn't support it. Try Cygwin, but I doubt it.
Go Google, nice try. At least, you have put aside windows!
Totally unnecessary. There are only three languages actually required. C, Assembly ( preferably X86 ), and HTML.
Ever wonder why this very new news got so many indians commenting favourably. There will soon be MNC's like Infosys, Lie-nux, OLPC, TCS, Microsoft etc starting new Go projects, after which indian teaching institutes will offer six month diplomas involving "Live Projects" for all of which there will be the initial fifty thousand takers, plus the "early adopters" who seeing that this is a new "IT" technology will be mostly indians.
Go is not some revolutionary engine which will push Google's Virgle spacecraft to Mars in five days, and to Pluto in another ten.
@Al Zindiq: Who are the "so many Indians", on this thread, commenting favourably? I can see names which look Indian, but except Laksmanan I don't see anyone even moderately favourable.
Also Lie-nux (sic) -- assuming you mean Linux the OS -- is not really a MNC (Multinational Company). Nor is it an organization.
And as to your argument, when you yourself claim that "Go" is not a "revolutionary engine", why do you expect companies like Microsoft (which is Google's competitor) to adopt it?
@Rohit, when I used the term "revolutionary engine" I did not mean something like "Java-powered mathematics-parsing engine". I refer to a real spacecraft engine, in the context of the Virgle Mars program from Google / Virgin Galactic. So I did not understand your reply...
[Quote]
And as to your argument, when you yourself claim that "Go" is not a "revolutionary engine", why do you expect companies like Microsoft (which is Google's competitor) to adopt it?
[/Quote]
As to the Indians on this page who to You 'sound indian' but may be not, here's the list : Praveen, lovekhanna, Dr. Prasad, Anugrah A, Aagman Link Service.
You think these may belong to the former Soviet Republic or Libya or Cuba.
Go will remain a niche language until it is supported in useful frameworks or platforms like Google App Engine. Today Go is? Just a compiler that can help to write your personal and yet another Hello World app. So you can write YoPeYAHaWorAs and nothing else :D
Just wondering, how well does Go interface with C/C++, or is that even supported? If it is supported, does it slow down the compilation time if one references a C/C++ library?
Couple of quick observations: [1] Coming up with a new language is necessary and timely. With the limited exposure I have had to the "Go", it has been enjoyable [2] That said, any language newly introduced can only be successful if there is a rich set of libraries. To this end, initial set of libraries are geared toward systems programming and are rich enough (at first glance, of course) to develop production-quality systems.
There are no DB libraries available or announced. NO language can be successful without a robust DB library that accompanies it. We will, hopefully see the announcement from Google or 3rd party in this matter.
In the meantime, I will enjoy the concurrency features of GO: they are simple, yet powerful; especially the channels!
As I go through the language features, I will be posting my observations on some of the features that have been long overdue and thanks to the "Go Team" for including them in the language.
"Functions returning multiple return values:" It is simple but powerful. You DO NOT have to go through arduous process of creating a new type just to accommodate multiple return values. This feature is a handy one.
Yes, the c/c++ integration is a natural feature of the Go language. Please go through the documentation Google has provided. Most useful documents are: Tutorial and Effective Go. There is "Go for C++ Programmers" which speaks to the conceptual parallels/differences between Go and C++.
hey make it windows compatible. hey anyone link me up to the page where they said they will be guiding those who are willing to make "Go" windows compatible.?? or at least a mailing list. i am not able to find it.
To those who say there there are only 3 programming languages needed: Have you ever developed a web application? A cross-platform application? Dealt with databases? Sure, we could possibly survive and implement most, if not all, programs today with just your basic application, architecture, and/or web language, but modern languages/tools like Java, PHP, ASP.NET, and SQL, among many others, make specific tasks MUCH easier. You have to choose the right tool for the task. To say that all we need is 3 basic tools and ignore the rest is to say that all you need to build any kind of building is a hammer, saw and ruler. Maybe you can build houses like that, but you will never be able to build them as fast, strong, or reliable as those who properly use all the tools at their disposal.
Whether or not this new Go language will be a good tool for specific purposes remains to be seen.
Why Go support Linux and Mac? why not windows?
ReplyDeletedid go is optimized for embedded platform?
ReplyDeleteis it cross-platforms like JAVA?
ReplyDeleteReal Programmers can write FORTRAN in any language.
ReplyDeleteIf "Go" can be described on a single sheet of paper, it may be useful; if not, it probably won't be.
nice
ReplyDeleteLooks like Google is distracting the programmers by introducing new languages - Why ??????????? Google, IMO, is far bigger than 'falling apart for Identity Crisis'. It doesn't suit a strong gaint's like google to succumb to such cheap strategies/ tricks.
ReplyDeleteI thought it would be called GOSPL. Google Opensource Programming Language.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI also have same query like "Sagivo" that wheather it is a cross platform language like Java or only a platform/environment specific language.
ReplyDelete"Go compilers support two operating systems (Linux, Mac OS X) and three instruction sets."
ReplyDeleteNot supported on Windows? :(
It is Open Source and that's why it supports Linux. Mac is Linux-like. Windows IS NOT Open Source, so it doesn't support it. Try Cygwin, but I doubt it.
ReplyDeleteGo Google, nice try. At least, you have put aside windows!
There's plenty of Open Source software that runs under Windows. You seem to be a little confused about what "Open Source" means.
ReplyDeleteHave you hear of Issue 9?
ReplyDeletehttp://code.google.com/p/go/issues/detail?id=9
The name Go has already been taken by another langauge..
We are Windows users. When do you plan to release windows version?
ReplyDeleteTotally unnecessary. There are only three languages actually required. C, Assembly ( preferably X86 ), and HTML.
ReplyDeleteEver wonder why this very new news got so many indians commenting favourably. There will soon be MNC's like Infosys, Lie-nux, OLPC, TCS, Microsoft etc starting new Go projects, after which indian teaching institutes will offer six month diplomas involving "Live Projects" for all of which there will be the initial fifty thousand takers, plus the "early adopters" who seeing that this is a new "IT" technology will be mostly indians.
Go is not some revolutionary engine which will push Google's Virgle spacecraft to Mars in five days, and to Pluto in another ten.
Viva Socialism.
@Al Zindiq: Who are the "so many Indians", on this thread, commenting favourably? I can see names which look Indian, but except Laksmanan I don't see anyone even moderately favourable.
ReplyDeleteAlso Lie-nux (sic) -- assuming you mean Linux the OS -- is not really a MNC (Multinational Company). Nor is it an organization.
And as to your argument, when you yourself claim that "Go" is not a "revolutionary engine", why do you expect companies like Microsoft (which is Google's competitor) to adopt it?
Among other things: http://xkcd.com/386/
Al Zindig & iankemmish are the BEST.
ReplyDeleteReal programmers can write FORTRAN in any language.
There are only 3 languages that are required.C,Assembly, and HTML.
Relax, I'm sure it builds on windows. They just don't provide windows projects or makefiles.
ReplyDeleteThis comment has been removed by the author.
ReplyDelete@Anonymous Guy. My thanks.
ReplyDelete@Bill Merril. Correct.
@Rohit, when I used the term "revolutionary engine" I did not mean something like "Java-powered mathematics-parsing engine". I refer to a real spacecraft engine, in the context of the Virgle Mars program from Google / Virgin Galactic. So I did not understand your reply...
[Quote]
And as to your argument, when you yourself claim that "Go" is not a "revolutionary engine", why do you expect companies like Microsoft (which is Google's competitor) to adopt it?
[/Quote]
As to the Indians on this page who to You 'sound indian' but may be not, here's the list : Praveen, lovekhanna, Dr. Prasad, Anugrah A, Aagman Link Service.
You think these may belong to the former Soviet Republic or Libya or Cuba.
Viva Socialism.
Go will remain a niche language until it is supported in useful frameworks or platforms like Google App Engine. Today Go is? Just a compiler that can help to write your personal and yet another Hello World app. So you can write YoPeYAHaWorAs and nothing else :D
ReplyDeletepulento loko
ReplyDeleteJust wondering, how well does Go interface with C/C++, or is that even supported? If it is supported, does it slow down the compilation time if one references a C/C++ library?
ReplyDeleteCouple of quick observations:
ReplyDelete[1] Coming up with a new language is necessary and timely. With the limited exposure I have had to the "Go", it has been enjoyable
[2] That said, any language newly introduced can only be successful if there is a rich set of libraries. To this end, initial set of libraries are geared toward systems programming and are rich enough (at first glance, of course) to develop production-quality systems.
There are no DB libraries available or announced. NO language can be successful without a robust DB library that accompanies it. We will, hopefully see the announcement from Google or 3rd party in this matter.
In the meantime, I will enjoy the concurrency features of GO: they are simple, yet powerful; especially the channels!
As I go through the language features, I will be posting my observations on some of the features that have been long overdue and thanks to the "Go Team" for including them in the language.
ReplyDelete"Functions returning multiple return values:" It is simple but powerful. You DO NOT have to go through arduous process of creating a new type just to accommodate multiple return values. This feature is a handy one.
To: Hao1300
ReplyDeleteYes, the c/c++ integration is a natural feature of the Go language. Please go through the documentation Google has provided.
Most useful documents are:
Tutorial and Effective Go. There is "Go for C++ Programmers" which speaks to the conceptual parallels/differences between Go and C++.
hey make it windows compatible. hey anyone link me up to the page where they said they will be guiding those who are willing to make "Go" windows compatible.?? or at least a mailing list. i am not able to find it.
ReplyDeleteGo..Right Time to launch the programming language.
ReplyDeleteIts excellent Job.
ReplyDeleteTo those who say there there are only 3 programming languages needed: Have you ever developed a web application? A cross-platform application? Dealt with databases? Sure, we could possibly survive and implement most, if not all, programs today with just your basic application, architecture, and/or web language, but modern languages/tools like Java, PHP, ASP.NET, and SQL, among many others, make specific tasks MUCH easier. You have to choose the right tool for the task. To say that all we need is 3 basic tools and ignore the rest is to say that all you need to build any kind of building is a hammer, saw and ruler. Maybe you can build houses like that, but you will never be able to build them as fast, strong, or reliable as those who properly use all the tools at their disposal.
ReplyDeleteWhether or not this new Go language will be a good tool for specific purposes remains to be seen.
Hi can any say me the code for showing the website in multilanguage , as google has. please help me in this i want to integrate in my weblogic.
ReplyDelete