{"id":1959,"date":"2009-11-11T14:55:33","date_gmt":"2009-11-11T13:55:33","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/1959-googles-new-language-go.html"},"modified":"2009-11-11T14:55:33","modified_gmt":"2009-11-11T13:55:33","slug":"googles-new-language-go","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/1959-googles-new-language-go.html","title":{"rendered":"Google\u2019s new language: Go"},"content":{"rendered":"<p>Google has a new language. The language is called <a href=\"http:\/\/code.google.com\/p\/go\/\" target=\"_blank\">Go<\/a>, though <a href=\"http:\/\/code.google.com\/p\/go\/issues\/detail?id=9&amp;colspec=ID Type Status Owner Summary\" target=\"_blank\">issue 9 on the bug tracker<\/a> is from the inventor of another language called Go and asks for a name change. Co-inventor Rob Pike <a href=\"http:\/\/golang.org\/doc\/go_talk-20091030.pdf\" target=\"_blank\">says<\/a> [PDF] that Google\u2019s Go is a response to the problem of long build times and uncontrolled dependencies; fast compilation is an important feature. It is a garbage-collected language with C-like syntax &#8211; echoes of Java and C# there &#8211; and has strong support for concurrency and communication. Pike\u2019s examples in the paper referenced above do show a simple and effective approach to communication, with communication channel objects, and to concurrency, with Goroutines.<\/p>\n<p>Go runs only on Linux or Mac OS X. I installed it on Ubuntu and successfully compiled and ran a one-line application. I used the 32-bit version, though apparently the 64-bit implementation is the most advanced.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.itwriting.com\/images\/go.gif\" \/><\/p>\n<p>Pike claims that performance is \u201ctypically within 10%-20% of C\u201d. No debugger yet, but in preparation. No generics yet, but planned long-term. Pointers, but no pointer arithmetic.<\/p>\n<p>Go does not support type inheritance, but \u201cRather than requiring the programmer to declare ahead of time that two types are related, in Go a type automatically satisfies any interface that specifies a subset of its methods.\u201d<\/p>\n<p>Google has many projects, and while Go looks significant, it is dangerous to make assumptions about its future importance.<\/p>\n<p>I don\u2019t think Google is doing this just to prove that it can; I think it is trying to solve some problems and doing so in an interesting way. <\/p>\n<div style=\"padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5ea9673c-93f6-4a31-8a8b-36cab0eba54e\" class=\"wlWriterEditableSmartContent\">Technorati Tags: <a href=\"http:\/\/technorati.com\/tags\/google\" rel=\"tag\">google<\/a>,<a href=\"http:\/\/technorati.com\/tags\/go\" rel=\"tag\">go<\/a>,<a href=\"http:\/\/technorati.com\/tags\/c%23\" rel=\"tag\">c#<\/a>,<a href=\"http:\/\/technorati.com\/tags\/java\" rel=\"tag\">java<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Google has a new language. The language is called Go, though issue 9 on the bug tracker is from the inventor of another language called Go and asks for a name change. Co-inventor Rob Pike says [PDF] that Google\u2019s Go is a response to the problem of long build times and uncontrolled dependencies; fast compilation &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/1959-googles-new-language-go.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Google\u2019s new language: Go<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1959","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/1959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=1959"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/1959\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=1959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=1959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=1959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}