Google's Go (programming language)

From: null <">
Date: Mon, 16 Nov 2009 12:30:35 +0000

----boundary-LibPST-iamunique-511626939_-_-
Content-type: text/plain

Hallo Thomas,

wie versprochen und (nicht?) gewünscht, die Links und Sepp Templ's Einschätzung:

From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
Danforth
Sent: Thursday, 12 November 2009 9:09 AM
To: BLACKBOX{([at]})nowhere.xy
Subject: [BLACKBOX] Go
        
Google is releasing a new open source language called 'Go'
        
http://golang.org/
        

-----------------------------

Thanks for the link Doug - good to see Oberon getting some of the credit. An

interesting review is here:

http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php

That link was from a message in the comp.arch.embedded newsgroup. They
added:

< The best, though, was from commentator James H G Redekop: "I get this
feeling they picked the name so that when they put out the next version of
the language, they can call it Go2 and make Dijkstra jokes." >

Who said programmers didn't have a sense of humour?
[...]

-----Original Message-----
From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
Sent: Friday, November 13, 2009 9:53 AM
To: BLACKBOX{([at]})nowhere.xy
Subject: Re: [BLACKBOX] Go


Hi Everybody!

I have just scanned the Go language spec and it looks a lot
like a mix from Oberon/CP and C with some interesting syntactical
ideas borrowed from functional languages, I guess,
but nothing really new.

Regarding OO features it seems weak to me.
It has type bound procedures but no inheritance.
It doesn't even have type extension for records as the
original Oberon introduced.
(Please correct me if I missed something in the spec.)

All it has is an interface type with structural equivalence rules.
An interface is a purely abstract type that only specifies a set of
method signatures. It is compatible with any type that has
the appropriate set of type bound procedures, which is checked
by the compiler.

I guess it would be very hard to program something like the Oberon
system with its many extensible message records in Go. The message
records would have to be expressed by interfaces with setter and getter
functions for accessing the record fields. And there is no subclassing for
creating extended message types.
It would also be very hard to program in a Java/C++-OO-style with
tons of methods inherited by subclasses. These would have to
be replicated by the programmer.
May be they envision a new OO-programminig style that
I am not aware of.

This is at least my understanding from the language spec.

A questionable point, in my oppinion, is the way exports are marked.
Go uses the convention that a name starting with a capital letter is public.
So when you decide to export a previously private name later on,
you have to change that name.
For me, the funniest part of the language spec is the name for threads in Go.
They are called 'goroutines'.

- JT


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-511626939_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBIYWxsbyBUaG9tYXMsXHBhcg0K
XHBhcg0Kd2llIHZlcnNwcm9jaGVuIHVuZCAobmljaHQ/KSBnZXdcJ2ZjbnNjaHQsIGRpZSBMaW5r
cyB1bmQgU2VwcCBUZW1wbCdzIEVpbnNjaFwnZTR0enVuZzpccGFyDQpccGFyDQpGcm9tOiBCbGFj
a0JveCBbbWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSF0gT24gQmVoYWxmIE9mIERvdWds
YXMgRy5ccGFyDQpEYW5mb3J0aFxwYXINClNlbnQ6IFRodXJzZGF5LCAxMiBOb3ZlbWJlciAyMDA5
IDk6MDkgQU1ccGFyDQpUbzogQkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIXHBhcg0KU3ViamVjdDog
W0JMQUNLQk9YXSBHb1xwYXINClx0YWIgXHBhcg0KR29vZ2xlIGlzIHJlbGVhc2luZyBhIG5ldyBv
cGVuIHNvdXJjZSBsYW5ndWFnZSBjYWxsZWQgJ0dvJ1xwYXINClx0YWIgXHBhcg0KaHR0cDovL2dv
bGFuZy5vcmcvXHBhcg0KXHRhYiBccGFyDQpccGFyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLVxwYXINClxwYXINClRoYW5rcyBmb3IgdGhlIGxpbmsgRG91ZyAtIGdvb2QgdG8gc2VlIE9i
ZXJvbiBnZXR0aW5nIHNvbWUgb2YgdGhlIGNyZWRpdC4gQW5ccGFyDQppbnRlcmVzdGluZyByZXZp
ZXcgaXMgaGVyZTpccGFyDQpccGFyDQpodHRwOi8vc2NpZW5jZWJsb2dzLmNvbS9nb29kbWF0aC8y
MDA5LzExL2dvb2dsZXNfbmV3X2xhbmd1YWdlX2dvLnBocFxwYXINClxwYXINClRoYXQgbGluayB3
YXMgZnJvbSBhIG1lc3NhZ2UgaW4gdGhlIGNvbXAuYXJjaC5lbWJlZGRlZCBuZXdzZ3JvdXAuIFRo
ZXlccGFyDQphZGRlZDpccGFyDQpccGFyDQo8IFRoZSBiZXN0LCB0aG91Z2gsIHdhcyBmcm9tIGNv
bW1lbnRhdG9yIEphbWVzIEggRyBSZWRla29wOiAiSSBnZXQgdGhpc1xwYXINCmZlZWxpbmcgdGhl
eSBwaWNrZWQgdGhlIG5hbWUgc28gdGhhdCB3aGVuIHRoZXkgcHV0IG91dCB0aGUgbmV4dCB2ZXJz
aW9uIG9mXHBhcg0KdGhlIGxhbmd1YWdlLCB0aGV5IGNhbiBjYWxsIGl0IEdvMiBhbmQgbWFrZSBE
aWprc3RyYSBqb2tlcy4iID5ccGFyDQpccGFyDQpXaG8gc2FpZCBwcm9ncmFtbWVycyBkaWRuJ3Qg
aGF2ZSBhIHNlbnNlIG9mIGh1bW91cj9ccGFyDQpbLi4uXVxwYXINClxwYXINCi0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tXHBhcg0KRnJvbTogQmxhY2tCb3ggW21haWx0bzpCTEFDS0JPWEBMSVNU
Uy5PQkVST04uQ0hdIE9uIEJlaGFsZiBPZiBKb3NlZiBUZW1wbFxwYXINClNlbnQ6IEZyaWRheSwg
Tm92ZW1iZXIgMTMsIDIwMDkgOTo1MyBBTVxwYXINClRvOiBCTEFDS0JPWEBMSVNUUy5PQkVST04u
Q0hccGFyDQpTdWJqZWN0OiBSZTogW0JMQUNLQk9YXSBHb1xwYXINClxwYXINClxwYXINCkhpIEV2
ZXJ5Ym9keSFccGFyDQpccGFyDQpJIGhhdmUganVzdCBzY2FubmVkIHRoZSBHbyBsYW5ndWFnZSBz
cGVjIGFuZCBpdCBsb29rcyBhIGxvdFxwYXINCmxpa2UgYSBtaXggZnJvbSBPYmVyb24vQ1AgYW5k
IEMgd2l0aCBzb21lIGludGVyZXN0aW5nIHN5bnRhY3RpY2FsXHBhcg0KaWRlYXMgYm9ycm93ZWQg
ZnJvbSBmdW5jdGlvbmFsIGxhbmd1YWdlcywgSSBndWVzcywgXHBhcg0KYnV0IG5vdGhpbmcgcmVh
bGx5IG5ldy5ccGFyDQpccGFyDQpSZWdhcmRpbmcgT08gZmVhdHVyZXMgaXQgc2VlbXMgd2VhayB0
byBtZS5ccGFyDQpJdCBoYXMgdHlwZSBib3VuZCBwcm9jZWR1cmVzIGJ1dCBubyBpbmhlcml0YW5j
ZS5ccGFyDQpJdCBkb2Vzbid0IGV2ZW4gaGF2ZSB0eXBlIGV4dGVuc2lvbiBmb3IgcmVjb3JkcyBh
cyB0aGUgXHBhcg0Kb3JpZ2luYWwgT2Jlcm9uIGludHJvZHVjZWQuXHBhcg0KKFBsZWFzZSBjb3Jy
ZWN0IG1lIGlmIEkgbWlzc2VkIHNvbWV0aGluZyBpbiB0aGUgc3BlYy4pXHBhcg0KXHBhcg0KQWxs
IGl0IGhhcyBpcyBhbiBpbnRlcmZhY2UgdHlwZSB3aXRoIHN0cnVjdHVyYWwgZXF1aXZhbGVuY2Ug
cnVsZXMuXHBhcg0KQW4gaW50ZXJmYWNlIGlzIGEgcHVyZWx5IGFic3RyYWN0IHR5cGUgdGhhdCBv
bmx5IHNwZWNpZmllcyBhIHNldCBvZlxwYXINCm1ldGhvZCBzaWduYXR1cmVzLiBJdCBpcyBjb21w
YXRpYmxlIHdpdGggYW55IHR5cGUgdGhhdCBoYXNccGFyDQp0aGUgYXBwcm9wcmlhdGUgc2V0IG9m
IHR5cGUgYm91bmQgcHJvY2VkdXJlcywgd2hpY2ggaXMgY2hlY2tlZFxwYXINCmJ5IHRoZSBjb21w
aWxlci5ccGFyDQpccGFyDQpJIGd1ZXNzIGl0IHdvdWxkIGJlIHZlcnkgaGFyZCB0byBwcm9ncmFt
IHNvbWV0aGluZyBsaWtlIHRoZSBPYmVyb24gXHBhcg0Kc3lzdGVtIHdpdGggaXRzIG1hbnkgZXh0
ZW5zaWJsZSBtZXNzYWdlIHJlY29yZHMgaW4gR28uIFRoZSBtZXNzYWdlXHBhcg0KcmVjb3JkcyB3
b3VsZCBoYXZlIHRvIGJlIGV4cHJlc3NlZCBieSBpbnRlcmZhY2VzIHdpdGggc2V0dGVyIGFuZCBn
ZXR0ZXJccGFyDQpmdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyB0aGUgcmVjb3JkIGZpZWxkcy4gQW5k
IHRoZXJlIGlzIG5vIHN1YmNsYXNzaW5nIGZvclxwYXINCmNyZWF0aW5nIGV4dGVuZGVkIG1lc3Nh
Z2UgdHlwZXMuXHBhcg0KSXQgd291bGQgYWxzbyBiZSB2ZXJ5IGhhcmQgdG8gcHJvZ3JhbSBpbiBh
IEphdmEvQysrLU9PLXN0eWxlIHdpdGggXHBhcg0KdG9ucyBvZiBtZXRob2RzIGluaGVyaXRlZCBi
eSBzdWJjbGFzc2VzLiBUaGVzZSB3b3VsZCBoYXZlIHRvIFxwYXINCmJlIHJlcGxpY2F0ZWQgYnkg
dGhlIHByb2dyYW1tZXIuXHBhcg0KTWF5IGJlIHRoZXkgZW52aXNpb24gYSBuZXcgT08tcHJvZ3Jh
bW1pbmlnIHN0eWxlIHRoYXRccGFyDQpJIGFtIG5vdCBhd2FyZSBvZi5ccGFyDQpccGFyDQpUaGlz
IGlzIGF0IGxlYXN0IG15IHVuZGVyc3RhbmRpbmcgZnJvbSB0aGUgbGFuZ3VhZ2Ugc3BlYy5ccGFy
DQpccGFyDQpBIHF1ZXN0aW9uYWJsZSBwb2ludCwgaW4gbXkgb3BwaW5pb24sIGlzIHRoZSB3YXkg
ZXhwb3J0cyBhcmUgbWFya2VkLlxwYXINCkdvIHVzZXMgdGhlIGNvbnZlbnRpb24gdGhhdCBhIG5h
bWUgc3RhcnRpbmcgd2l0aCBhIGNhcGl0YWwgbGV0dGVyIGlzIHB1YmxpYy5ccGFyDQpTbyB3aGVu
IHlvdSBkZWNpZGUgdG8gZXhwb3J0IGEgcHJldmlvdXNseSBwcml2YXRlIG5hbWUgbGF0ZXIgb24s
XHBhcg0KeW91IGhhdmUgdG8gY2hhbmdlIHRoYXQgbmFtZS5ccGFyDQpGb3IgbWUsIHRoZSBmdW5u
aWVzdCBwYXJ0IG9mIHRoZSBsYW5ndWFnZSBzcGVjIGlzIHRoZSBuYW1lIGZvciB0aHJlYWRzIGlu
IEdvLlxwYXINClRoZXkgYXJlIGNhbGxlZCAnZ29yb3V0aW5lcycuXHBhcg0KXHBhcg0KLSBKVFxw
YXINClxwYXINClxwYXINCi0tLS1ccGFyDQpUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ug
d2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0byBMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0hc
fX0AYW5j
----boundary-LibPST-iamunique-511626939_-_---
Received on Mon Nov 16 2009 - 13:30:35 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:40 UTC