November 11, 2009
Bill Baxter wrote:
> Looks interesting.
> 

And the go compiler isn't written in go because of the difficulties of bootstrapping.

> There's a lot there that looks either like D or like things people in
> the D community have argued for.
> And it's got the billion dollar backing of a major company.
> 
> --bb

It isn't clear to me whether google is explicitly endorsing go, or those 5 engineers are just working on it in their 20% time.

November 11, 2009
On 11/11/2009 9:59 AM, Bill Baxter wrote:
> Looks interesting.
>
> * ...
>
> There's a lot there that looks either like D or like things people in
> the D community have argued for.

The important thing about Go is its concurrency model.  Combine the CSP model with Bartosz’s type system and D wins.

—Joel Salomon
November 11, 2009
On Wed, Nov 11, 2009 at 7:56 AM, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
> Bill Baxter wrote:
>>
>> Looks interesting.
>>
>> * Uses a module system
>> * Built-in arrays are value types.
>> * Python like slice syntx  a[lo:hi]
>> * immutable strings
>> * switch has no break.  Use "fallthrough" to fallthrough.
>> * Nested functions
>> * First class tuples  ( a,b = func(),   a,b=b,a )
>> * := for assignment
>> * Uses "var" to declare variables (this was chapmpioned by some here
>> instead of auto)
>> * varible type comes after declaration and is optional
>> * return type of functions comes after parameters
>> * No Windows port yet.  That's going to be a bit of a roadblock to
>> widespread adoption.
>> * Iota!?
>> * ...
>>
>> There's a lot there that looks either like D or like things people in the D community have argued for.
>
> It's also missing quite a few things that people in the D community take for granted.

It's harder to find those when you're skimming through trying to get the highlights with a 5 minute limit.  :-) What are some things is it missing?   (Also recall that D lacked even templates until long after its inception -- so if the language can muster some level of acceptance, probably popular demand will eventually lead to adding more of those missing features.)

>> And it's got the billion dollar backing of a major company.
>
> That part I missed.

I should have said "backing of a billion-dollar company" not "billion-dollar backing".  Certainly it doesn't have the latter.  But it has backing in some sense, anyway.  Even if it's the 20% time of five guys, Google's paying them for that time.  And whether or not they *have* any deep pocket backing, people will perceive a tie between the company and the language, which means it can ride on the wave of Google's excellent mind-share, esp. among programmers.   Ken Thompson is also a very well-known and respected name from Unix and Plan 9  (and Rob Pike too?).  These are all very strong marketing advantages.  Looking to the future, I suspect if Google does adopt a new systems language, it's much more likely to come from within than be NIH.  Because that way they'll have much more control over it if, and not have to worry so much about IP issues (not that Google spends much time worrying about IP...), etc.   And if it becomes widely used in Google, then that's a very bouncy spring board from which to foist it on the rest of the world.

It's definitely going to be a strong competitor for D's audience.

--bb
November 11, 2009
On Wed, Nov 11, 2009 at 3:14 AM, Nick Sabalausky <a@a.a> wrote:

> Of course, being a longtime D user, that "no new systems programming language has been developed in the last ten years" kinda pisses me off...

"No new *major* systems language" is what they said.  "Major" is a marketing word that can mean whatever you want it to.  If you define "major" as say a user base at least 5% of C or C++'s, then yeh, D probably isn't there.  Or you could measure the number of D books in your local bookstore vs C++ books.

--bb
November 11, 2009
Bill Baxter wrote:
> It's harder to find those when you're skimming through trying to get
> the highlights with a 5 minute limit.  :-) What are some things is it
> missing?

Off the top of my head, some major ones:

. exception handling
. generic programming
. metaprogramming
. inline assembler
. interface to C
. RAII
. immutability for anything but strings
. vector operations
. operator overloading
. purity
. CTFE
. unit testing
. documentation generation
. ability to write systems code like implement a GC
. conditional compilation
. contracts
. 80 bit floating point
. introspection (runtime or compile time)
. delegates
. reference parameters

Not sure if it has closures or not.

And of course a lot of minor ones,

. no _ in integer literals
. no nesting comments
. no entities

etc.
November 11, 2009
Bill Baxter wrote:
> On Wed, Nov 11, 2009 at 7:56 AM, Andrei Alexandrescu
> <SeeWebsiteForEmail@erdani.org> wrote:
>> Bill Baxter wrote:
>>> Looks interesting.
>>>

> 
> I should have said "backing of a billion-dollar company" not
> "billion-dollar backing".  Certainly it doesn't have the latter.  But
> it has backing in some sense, anyway.  Even if it's the 20% time of
> five guys, Google's paying them for that time.  And whether or not
> they *have* any deep pocket backing, people will perceive a tie
> between the company and the language, which means it can ride on the
> wave of Google's excellent mind-share, esp. among programmers.   Ken
> Thompson is also a very well-known and respected name from Unix and
> Plan 9  (and Rob Pike too?).  These are all very strong marketing
> advantages.  Looking to the future, I suspect if Google does adopt a
> new systems language, it's much more likely to come from within than
> be NIH.  Because that way they'll have much more control over it if,
> and not have to worry so much about IP issues (not that Google spends
> much time worrying about IP...), etc.   And if it becomes widely used
> in Google, then that's a very bouncy spring board from which to foist
> it on the rest of the world.
> 
> It's definitely going to be a strong competitor for D's audience.
> 
> --bb

Bill - you are absolutely correct. It will be targeting the _same_ audience as D. It can be said that D now have a serious competitor.
Will Walter increase the marketing for D ?

Even though the current D developers will likely NOT move to Go, it is possible that new developers may not come to the D community in the future, in the same numbers.
Of course this all depends on how good Go actually is, and how easily they can build a community, and what leadership,  - and the quality of the  leadership -  they have.

Nick B
November 11, 2009
Bill Baxter wrote:
> On Wed, Nov 11, 2009 at 7:56 AM, Andrei Alexandrescu
> <SeeWebsiteForEmail@erdani.org> wrote:
>> Bill Baxter wrote:
>>> Looks interesting.
>>>
>>> * Uses a module system
>>> * Built-in arrays are value types.
>>> * Python like slice syntx  a[lo:hi]
>>> * immutable strings
>>> * switch has no break.  Use "fallthrough" to fallthrough.
>>> * Nested functions
>>> * First class tuples  ( a,b = func(),   a,b=b,a )
>>> * := for assignment
>>> * Uses "var" to declare variables (this was chapmpioned by some here
>>> instead of auto)
>>> * varible type comes after declaration and is optional
>>> * return type of functions comes after parameters
>>> * No Windows port yet.  That's going to be a bit of a roadblock to
>>> widespread adoption.
>>> * Iota!?
>>> * ...
>>>
>>> There's a lot there that looks either like D or like things people in
>>> the D community have argued for.
>> It's also missing quite a few things that people in the D community take for
>> granted.
> 
> It's harder to find those when you're skimming through trying to get
> the highlights with a 5 minute limit.  :-) What are some things is it
> missing?   (Also recall that D lacked even templates until long after
> its inception -- so if the language can muster some level of
> acceptance, probably popular demand will eventually lead to adding
> more of those missing features.)
> 
>>> And it's got the billion dollar backing of a major company.
>> That part I missed.
> 
> I should have said "backing of a billion-dollar company" not
> "billion-dollar backing".  Certainly it doesn't have the latter.  But
> it has backing in some sense, anyway.  Even if it's the 20% time of
> five guys, Google's paying them for that time.  And whether or not
> they *have* any deep pocket backing, people will perceive a tie
> between the company and the language, which means it can ride on the
> wave of Google's excellent mind-share, esp. among programmers.   Ken
> Thompson is also a very well-known and respected name from Unix and
> Plan 9  (and Rob Pike too?).  These are all very strong marketing
> advantages.  Looking to the future, I suspect if Google does adopt a
> new systems language, it's much more likely to come from within than
> be NIH.  Because that way they'll have much more control over it if,
> and not have to worry so much about IP issues (not that Google spends
> much time worrying about IP...), etc.   And if it becomes widely used
> in Google, then that's a very bouncy spring board from which to foist
> it on the rest of the world.
> 
> It's definitely going to be a strong competitor for D's audience.

Possibly, but IMHO not on technical merit at all. It is many years behind becoming usable for a real system. It will be interesting how it plays out.

Andrei
November 11, 2009
On Wed, Nov 11, 2009 at 10:55 AM, Walter Bright <newshound1@digitalmars.com> wrote:
> Bill Baxter wrote:
>>
>> It's harder to find those when you're skimming through trying to get the highlights with a 5 minute limit.  :-) What are some things is it missing?
>
> Off the top of my head, some major ones:
>
> . exception handling
> . generic programming
> . metaprogramming
> . inline assembler
> . interface to C

He does say there is a FFI that lets you call C that "coming along nicely" or something like that.  Not sure how cumbersome it's gonna be though.

> . RAII
> . immutability for anything but strings
> . vector operations
> . operator overloading
> . purity
> . CTFE
> . unit testing
> . documentation generation

They have a "godoc" tool written in go already, though.

> . ability to write systems code like implement a GC
> . conditional compilation
> . contracts
> . 80 bit floating point
> . introspection (runtime or compile time)
> . delegates
> . reference parameters
>
> Not sure if it has closures or not.

Yes, he says in the video that funcs are full closures.

> And of course a lot of minor ones,
>
> . no _ in integer literals
> . no nesting comments
> . no entities

Also
. no pointer arithmetic

Not sure what I think about that.  Can you even have a "systems" language that doesn't allow pointer manipulation?

But that's a good list.  In the video he makes it sound like generics will probably happen eventually, they're just not sure how best to do it yet.   Lack of operator overloading is annoying.  I guess that's not unexpected given that their mission was to write a good language for writing servers.  But if they don't do something about it (among other things) they'll miss out on the game and numerics audience.

--bb
November 11, 2009
On Wed, Nov 11, 2009 at 11:25 AM, Bill Baxter <wbaxter@gmail.com> wrote:
> But that's a good list.  In the video he makes it sound like generics will probably happen eventually, they're just not sure how best to do it yet.

Just noticed, The Language FAQ[1] says the same thing about exceptions.  They're interested, just not sure how to do it.

[1] http://golang.org/doc/go_lang_faq.html#exceptions

--bb
November 11, 2009
On 11/11/2009 18:35, Bill Baxter wrote:
> It's harder to find those when you're skimming through trying to get
> the highlights with a 5 minute limit.:-)  What are some things is it
> missing?   (Also recall that D lacked even templates until long after
> its inception -- so if the language can muster some level of
> acceptance, probably popular demand will eventually lead to adding
> more of those missing features.)

No OOP,
a NoGo language for me.