[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pop-dev] Go - a new language from Google

Hi Tom and Oyvind,

This seems to be the latest topic - you each just posted about it to separate
mailing lists!

The golang.org website mentions CSP and Limbo and Newsqueak for its concurrency
ideas.  Limbo is pretty much occam (minus stuff).  What is/was Newsqueak?
Shame they didn't acknowledge occam, :(.

The website top page also says: "Run thousands of goroutines if you want -
and say good-bye to stack overflows".  Seems very unambitious ... and there's

nothing new in avoiding stack overflows ... ?

Reading the FAQs, they have:

  o that ++ and -- introduce statements; they are not operators
  o no auto-coercion between types
  o no exceptions

and cite the same reasons we give for occam, :).  There are interesting comments
on (the lack of) explicit type inheritance we should consider.  Also stuff on arrays,
values and references we should compare against VALs, references and abbreviations
in occam.  And the concurrency FAQs say the right things about CSP versus the rest
and *does* mention occam ... although it adds that "Go's concurrency primitives
derive from a different part of the family tree whose main contribution is the
powerful notion of channels as first class objects".  So, I guess they can send
channels down channels, include them as fields of data types etc.  We do do this
in occam-pi, of course, but strictly separate channels (which represent shared sync
events) from data (which do not).  We should think about this too.

What occam needs is someone the size of Google to pick it up.  We have *lots* to
tell them.  The trick is to get them to ask us ...