November 11, 2009

Go, Google's Programming Language

Some smart Google engineers decided that it's time to address the limitations of C and C++ by designing a new programming language: Go.

Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java.

Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing. Finally, it is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for. [Language design FAQ]

Here's a Go program that outputs "Hello, World!":

32 comments:

  1. wow...who ever thought that writing "hello world" could be so difficult for non members of the cult of development

    ReplyDelete
  2. Is anyone aware of a team that might work on a IDE support? If yes, just send me some infos pls...

    ReplyDelete
  3. Why the f*ck learn a new language that is just as complex as C or Java?

    ReplyDelete
  4. I think it's too complicated language! I think the easiest is Visual Basic .NET

    ReplyDelete
  5. What a horrible name.

    Trying to imagine what searching "go class" would be like.

    ReplyDelete
  6. @Anonymous: read the f*cking post.

    ReplyDelete
  7. google's show time:
    google say "hi" to microsoft. its meaning that
    ("if we want" we can prepare a programming language better than c#. im warning u microsoft, please dont fcuk* people =) )

    ReplyDelete
  8. Its not different its like Java, python is more easier than of it :D

    ReplyDelete
  9. welcome to a new programming language. We hope that as per the claim our expectations shall be fulfilled.

    We shouldn't criticize until we see any result.

    Mehboob Khan

    ReplyDelete
  10. Will Google promote this coding language in the forthcoming operating system?

    ReplyDelete
  11. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java. Programming is very easy if One get appropriate support of environment. Java provide such an environment that one can easily familiar with it.

    ReplyDelete
  12. It will take time to get adopted by different programmers. However i always feel that any new language can be well equated only if it show its ease & powerful implementation with any real-time projects.

    ReplyDelete
  13. http://www.youtube.com/watch?v=rKnDgT73v8s

    ReplyDelete
  14. I don't get it. It looks like C or C# or similar. How is this easy compared to < ?php print "hello world"; ? > ??

    If these languages are so smart, how come 30 years on the compiler still can't say "ah, it appears you're using the print() function, I'll include the necessary headers for you"?

    Screw this, I'll just let it break if it wants to, then fix it later.

    ReplyDelete
  15. From Go's FAQ...
    Why doesn't Go run on Windows?

    We understand that a significant fraction of computers in the world run Windows and it would be great if those computers could run Go programs. However, the Go team is small and we don't have the resources to do a Windows port at the moment. We would be more than willing to answer questions and offer advice to anyone willing to develop a Windows version.

    ReplyDelete
  16. I went to the main page of "Go", and also checked out it's various pages. I did not find any reference of Google or Google engineers. Has anyone found any such reference? How can we be sure this is Google's new programming language?

    If anyone has founf a reference, please give the URL of that page in the comments. Thanks.

    ReplyDelete
  17. @Aki:
    At the main page, look top-right. There is a video. It points to http://www.youtube.com/watch?v=wwoWei-GAPo
    I will let you figure out the rest.

    ReplyDelete
  18. Interesting. Wonder if the binaries will run on multiple OS's?

    ReplyDelete
  19. "New" eh? Rehash of a rehash of ... more likely.

    ReplyDelete
  20. I'd rather join the ranks of those who believe this world would be much better without braces.

    ReplyDelete
  21. Hopefully, this language will have interfaces and support for legacy C,C+ and Java. Some applications still need the efficiencies of C or C++. We don't need another Java, hopefully its a very high performance implementation of a programming language which resolves all the issue.
    Too much to ask for ??

    ReplyDelete
  22. I have to agree with Ortzinator -- choosing such a common word for its name is going to making googling it just terrible. It's bad enough there was already a language named "Go!" (with the exclamation mark).

    I also have to agree with NikLP -- after claiming they got rid of forward declarations, having to say "import fmt" in order to print to stdout amounts to, well, a forward declaration. I hate that about C++ too, having to #include *and* use namespace std.

    ReplyDelete
  23. the language looks too similar to java.

    Are there any additional features that are better than java?

    ReplyDelete
  24. When will Java learn?
    Java sues MS AND C# was born
    Java now sues Google AND did some body just say Go Language?

    ReplyDelete
  25. No Need to Load LIBRARIES!!!??? What the f#"##ck is

    import "fmt" then????

    ReplyDelete
  26. Yeah! Really cool one! Where can I get it's tutorial. Can somebody answer me?
    http://s4199.blogspot.com

    ReplyDelete
  27. first class functions are awesome

    ReplyDelete
  28. Perl requires simple "print Hello World ". Now tell me which is the easiest programming language

    ReplyDelete
  29. What about PHP , isn't it simple yet powerful ??

    ReplyDelete

Note: Only a member of this blog may post a comment.