Google's got a new language... Go...

Christopher Browne cbbrowne-Re5JQEeQqe8AvxtiuMwx3w at
Thu Nov 12 04:12:19 UTC 2009

On Wed, Nov 11, 2009 at 10:26 PM, Rajinder Yadav < at> wrote:
> Christopher Browne wrote:
>> Google's language...
>> Note that two of the creators are Ken Thompson and Rob Pike...
>> It seems to have some "Plan 9" flavouring to it.
> DANG! I just finished learning Ruby.. this one will be interesting to watch,
> the compile time they show seems to indicate it's fast?
> Now if it's a script like language & runs like a native compiled language,
> this may change the future of how website are coded? "GO" web scripting???

No, that misunderstands the point of "Go."

Go is NOT a "scripting language" - it is intended to be a *systems
programming* language, in the vein of:
- C
- Modula-2
- Alef
- Limbo

Seeing as how the implementers are the same people that created Alef
and Limbo, it should be no surprise that the concurrency model is
similar to Hoare's CSP.

> However being a C++ developer I can say IMHO it's got the ugliness of C/C++
> / Perl bastardized like syntax ever!
> I mean WFT? (code except from tutorial)
> 28        if !*omitNewline {
> 29            s += Newline
> 30        }
> It's not Ruby, concise, easy, beautiful, powerful & fun! Let's not forget
> Object-Oriented. I hate to say this, but I am hoping "what happens in
> google, stays in google", hope they eat their own dog food, this is not fit
> for consumption. Makes me want to gag, when they claim it's a fun language?

I couldn't care less that it's not "abjectly object oriented."

Evidence seems to be growing that that's a design "dead end,"
encouraging both details for the sake of details and preventing use of
intelligent approaches to concurrency.

It seems to me like it's got something of an admixture of:
a) Icon-ish coroutines
b) Objective C-ish "protocols" (aka interfaces)
c) It *isn't* filled with the irritating "OO" thing of "oh, you need
to define an ontology of the types you intend to use before you can do
anything!" combined with "oh, everything needs to inherit from
d) Elimination of the irritations of cpp
e) Like Modula-3, it has full fledged garbage collection built in by
design, so you're not rewriting reference counters everywhere (ala
f) channels (which are "streams/queues", a synchronization mechanism
particularly useful for communicating between coroutines) look MIGHTY
interesting, and were a Limbo thing

One of the claims is that the design of the language makes dependancy
management easy.  That's a mighty interesting claim; it's not
self-evident how this is made so.

Keep in mind: The people that designed this are the same people that
originally designed Unix.  I trust their sense of "taste" quite a bit.
Samuel Goldwyn  - "I'm willing to admit that I may not always be
right, but I am never wrong." -
The Toronto Linux Users Group.      Meetings:
TLUG requests: Linux topics, No HTML, wrap text below 80 columns

More information about the Legacy mailing list