Commentary

Serdar Yegulalp
 

Why Google's Go Might Be A No-Go

After news of Google's Go language surfaced, I went to my programmer friend for some additional perspective on Google's new experiment. He wasn't impressed -- and actually, neither was I. We had different reasons.

After news of Google's Go language surfaced, I went to my programmer friend for some additional perspective on Google's new experiment. He wasn't impressed -- and actually, neither was I. We had different reasons.


More Software Insights

White Papers

More >>

Reports

More >>

Webcasts

More >>

My friend's cynicism stemmed from his own experiences as a programmer, where he has seen languages come and seen them go (pun not intended), and been uniformly unimpressed with the parade that's clomped past his window. He had his own distaste for Clojure ("LISP in a VM", as he put it), F# (OCAML for .NET runtime, nothing more), and so on -- not because they're bad languages, but because the effort put into creating a whole new language doesn't seem to have been justified. He looked at Go and saw very little reason to be interested in it over C# or Scala -- or for that matter, Java or even Perl. Languages are not in short supply.

"I don't have anything against a programming language devised experimentally," was how he put it. "But what's the experiment?"

Is the experiment creating a new programming language? I didn't think so. I went a step further. What Google is trying to do, I thought, is use open source, and Google's existing programmer's fanbase, to create a community around the language so that it can be expanded for them without them having to do the lion's share of the work.

Part of the reason I believed this was because the language as it currently stands is such a stub that it's difficult to accomplish anything of scale with it. Perhaps they think in the long run something like Perl's CPAN can emerge, a library of work contributed by those who use the language.

My friend's cynicism is rubbing off on me, I think. That and I have grown suspicious of Google as a benevolent entity. Like any company that uses open source, they'll use it in a way that benefits them first, and there's little point in pretending such things never happens. (As my colleague Thomas Claburn noted, even the name of the language is turning into a subject of dispute.)

Whatever the benefits Go may have has a language, I suspect the real problems programmers face today aren't going to be solved my new programming languages or environments. The biggest issues I see are that many of the platforms -- especially the Web -- are lousy delivery targets. Writing applications for the Web that serve up anything more than static pages requires JavaScript, and JavaScript's problem is not that it's a bad language but that its behavior is completely at the mercy of whatever browser vendor your clients have decided to run with.

If Go has any real benefits other than being a Google-branded creation and being open source (under the BSD license, no less), it's far from obvious right now.

InformationWeek and Dr. Dobb's have published an in-depth report on how Web application development is moving to online platforms. Download the report here (registration required).

Twitter: Me | InformationWeek
Facebook: InformationWeek


Related Reading




Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

InformationWeek encourages readers to engage in spirited, healthy debate, including taking us to task. However, InformationWeek moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. InformationWeek further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
T-Shirt Giveaway T-Shirt Giveaway: Each week we're selecting one great comment from our readers. The author of the comment will receive an InformaitonWeek Community t-shirt. So get posting!
Subscribe to RSS

Resource Links