March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On Sunday, 30 March 2014 at 20:54:54 UTC, Nick Sabalausky wrote:
> On 3/30/2014 10:01 AM, Paulo Pinto wrote:
>>
>> Sometimes I wonder if anyone would care, if the language wasn't
>> sponsored by Google.
>>
>
> Isn't that pretty much the main reason it ever got any attention in the first place? Not to be snide, just that that's been my observation.
I would say yes.
The first features that caught my eye was the Pascal influence in type declarations and Oberon-2's influence in package format and how methods are attached to types. Not surprising given that Robert Griesemer has studied at ETHZ.
Then as language archeologist that I am, I delved into Limbo's documentation, the system language for Inferno, Plan9 successor. A project where Rob Pike, Ken Thomson and Dennis Ritchie were also involved.
It is quite interesting to see how Go is basically a lifting of Limbo with a bit of Oberon-2 on the side.
Both languages failed in the market at large and except for archeologists like myself no one cares about them, most likely by not having such heavy height behind them.
--
Paulo
|
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paulo Pinto | On Sun, 2014-03-30 at 16:01 +0200, Paulo Pinto wrote: […] > They are quite interesting to follow, given some of the more opinionated long time community members. For those not following golang-nuts, the above is a wonderfully understated comment. This is very much the English/Stephen Fry use of the term "quite interesting" :-) > Sometimes I wonder if anyone would care, if the language wasn't sponsored by Google. Actually yes. Though perhaps it would not have been so widely, nor would the traction have been so high and so fast. The point here is that Rob Pike has been working on message passing languages for decades: Newsqueak, Alef, Limbo,… and Go is the breakthrough of this sequence into the mainstream. For those of us who have been working on message passing systems, Go represents a very important language since it brings processes and channels based message passing to the masses (of programmers). It is abundantly clear that shared-memory multi-threading is an operating system and infrastructure technique along with locks, monitors, semaphores, etc. and has been since the 1970s. The Java community are just beginning to wake up to this, pushed by Scala folk and the fact that Doug Lea, Brian Goetz and a host of others' work is finally getting proper recognition, not least in Java 8. Actors have sort of become a bit popular as an asynchronous process and message passing technique, but it is just one of many concurrency and parallelism architectures, the two most obvious of which are dataflow and Communicating Sequential Processes (CSP) – Go's system is a kind of variation on CSP. And then there is data parallelism. D sort of has actors. D's data parallelism is unsophisticated compared to that of Java 8. Go, PyCSP, Python-CSP, JCSP and GroovyCSP are the only even part-way known about CSP implementations. DataRush and Groovy are the only part way known about dataflow systems. I pushed Anthony Williams to get an actors and dataflow library for C++, and this is progressing nicely, albeit a bit slowly. Hopefully it will get into Boost. The question for D is whether Go has already beaten D simply because of goroutines. Sadly I have to say yes. As do Google and Canonical, though they are probably not sad about it, they are just getting on with implementing lots of systems in Go. Whether Rust turns into a "disturbance in the C/C++/D/Go force", we shall see. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On Sun, 2014-03-30 at 16:54 -0400, Nick Sabalausky wrote: > On 3/30/2014 10:01 AM, Paulo Pinto wrote: > > > > Sometimes I wonder if anyone would care, if the language wasn't sponsored by Google. > > > > Isn't that pretty much the main reason it ever got any attention in the first place? Not to be snide, just that that's been my observation. I think there is an element of "very few would have noticed if it wasn't a Google project". On the other hand it is CSP in disguise and this is good. If it takes Google and Go to get CSP in the mainstream of programming, then I am all for it. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | On Monday, 31 March 2014 at 09:18:08 UTC, Russel Winder wrote:
> On Sun, 2014-03-30 at 16:01 +0200, Paulo Pinto wrote:
> […]
>> They are quite interesting to follow, given some of the more opinionated long time community members.
>
> For those not following golang-nuts, the above is a wonderfully
> understated comment. This is very much the English/Stephen Fry use of
> the term "quite interesting" :-)
>
>> Sometimes I wonder if anyone would care, if the language wasn't sponsored by Google.
>
> Actually yes. Though perhaps it would not have been so widely, nor would
> the traction have been so high and so fast. The point here is that Rob
> Pike has been working on message passing languages for decades:
> Newsqueak, Alef, Limbo,… and Go is the breakthrough of this sequence
> into the mainstream. For those of us who have been working on message
> passing systems, Go represents a very important language since it brings
> processes and channels based message passing to the masses (of
> programmers).
>
> It is abundantly clear that shared-memory multi-threading is an
> operating system and infrastructure technique along with locks,
> monitors, semaphores, etc. and has been since the 1970s. The Java
> community are just beginning to wake up to this, pushed by Scala folk
> and the fact that Doug Lea, Brian Goetz and a host of others' work is
> finally getting proper recognition, not least in Java 8.
>
> Actors have sort of become a bit popular as an asynchronous process and
> message passing technique, but it is just one of many concurrency and
> parallelism architectures, the two most obvious of which are dataflow
> and Communicating Sequential Processes (CSP) – Go's system is a kind of
> variation on CSP. And then there is data parallelism. D sort of has
> actors. D's data parallelism is unsophisticated compared to that of Java
> 8. Go, PyCSP, Python-CSP, JCSP and GroovyCSP are the only even part-way
> known about CSP implementations. DataRush and Groovy are the only part
> way known about dataflow systems.
>
> I pushed Anthony Williams to get an actors and dataflow library for C++,
> and this is progressing nicely, albeit a bit slowly. Hopefully it will
> get into Boost.
>
> The question for D is whether Go has already beaten D simply because of
> goroutines. Sadly I have to say yes. As do Google and Canonical, though
> they are probably not sad about it, they are just getting on with
> implementing lots of systems in Go.
>
> Whether Rust turns into a "disturbance in the C/C++/D/Go force", we
> shall see.
Syntax notwithstanding, do you see any reason why goroutine-style CSP couldn't be implemented as a library in D?
I know little about this area but at a brief glance it doesn't seem a particularly difficult problem.
|
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Colvin | On Mon, 2014-03-31 at 13:01 +0000, John Colvin wrote: […] > Syntax notwithstanding, do you see any reason why goroutine-style CSP couldn't be implemented as a library in D? > > I know little about this area but at a brief glance it doesn't seem a particularly difficult problem. Syntactically the issue is to create an intuitive and easy to use syntax. Go has chosen one that works reasonably well – as has Python-CSP. Semantically, the various framework proof obligations can be encoded as tests, which makes that straightforward. So yes, it can be done, no it is a difficult problem, well once you get beyond the brief glance anyway ;-) -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | On Monday, 31 March 2014 at 09:18:08 UTC, Russel Winder wrote:
> Communicating Sequential Processes (CSP)
"a formal language for describing patterns of interaction in concurrent systems"?
|
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | Am 31.03.2014 11:17, schrieb Russel Winder:
> On Sun, 2014-03-30 at 16:01 +0200, Paulo Pinto wrote:
> […]
>
> Whether Rust turns into a "disturbance in the C/C++/D/Go force", we
> shall see.
>
Actually as a ML fan I follow Rust development closely and think it could get a piece of the systems pie.
The more the merrier, as long as we eventually get rid of C and C++, even if takes a few generations more of developers.
--
Paulo
|
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kagamin | On Mon, 2014-03-31 at 14:42 +0000, Kagamin wrote: > On Monday, 31 March 2014 at 09:18:08 UTC, Russel Winder wrote: > > Communicating Sequential Processes (CSP) > > "a formal language for describing patterns of interaction in concurrent systems"? Which is why a framework realizing CSP for real programs has a proof obligation: proof that the rules of CSP are actually implemented by the components of the framework. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paulo Pinto | On Mon, 2014-03-31 at 17:26 +0200, Paulo Pinto wrote: […] > Actually as a ML fan I follow Rust development closely and think it could get a piece of the systems pie. I too am following Rust development (*): never a day goes by without me having to rewrite my codes due to all the changes ;-) > The more the merrier, as long as we eventually get rid of C and C++, even if takes a few generations more of developers. Or C++ evolves into a reasonable language, C already is a reasonable language as long as you use it only for appropriate systems, of which there are a few, but only a few. (*) I just wish the compiler compiled a bit quicker. Whilst it isn't in g++ scales, it does take ages compared to Go. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
March 31, 2014 Re: [Fwd: Re: [go-nuts] Need for official package manager] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | Am 31.03.2014 18:49, schrieb Russel Winder: > On Mon, 2014-03-31 at 17:26 +0200, Paulo Pinto wrote: > […] >> Actually as a ML fan I follow Rust development closely and think it >> could get a piece of the systems pie. > > I too am following Rust development (*): never a day goes by without me > having to rewrite my codes due to all the changes ;-) hehe :) > >> The more the merrier, as long as we eventually get rid of C and C++, >> even if takes a few generations more of developers. > > Or C++ evolves into a reasonable language, C already is a reasonable > language as long as you use it only for appropriate systems, of which > there are a few, but only a few. C++ can be quite good, except for compile times, if used as modern C++ alongside automatic memory management idioms. However it requires skilful developers for it, and most ones I have met outside CERN teams shouldn't been doing C++ in first place. This is the main problem with the language. As for C, for me it was that C++ subset I was obliged to use every time my teachers required me to do so. As Turbo Pascal refugee, plain C never pleased me, neither by lack of safety nor by available set of abstractions. > > > (*) I just wish the compiler compiled a bit quicker. Whilst it isn't in > g++ scales, it does take ages compared to Go. > Yeah, I miss native languages with fast AOT compilers like Turbo Pascal and Delphi. D is also pretty good, but I cannot use it at work. :( -- Paulo |
Copyright © 1999-2021 by the D Language Foundation