Message-Passing

Timon Gehr timon.gehr at gmx.ch
Sun Jan 22 16:00:16 PST 2012


On 01/23/2012 12:05 AM, Manu wrote:
> On 22 January 2012 23:34, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org <mailto:SeeWebsiteForEmail at erdani.org>>
> wrote:
>
>     On 1/22/12 3:18 PM, Manu wrote:
>
>         On 22 January 2012 18:42, Sean Kelly <sean at invisibleduck.org
>         <mailto:sean at invisibleduck.org>
>
>         <mailto:sean at invisibleduck.org
>         <mailto:sean at invisibleduck.org>__>> wrote:
>
>             The popularity of a language has no bearing on the quality
>         of one of
>             its features. Are there other message passing schemes you
>         prefer?
>
>
>         As said in the original post, I think receiveOnly() is the most
>         intuitive API. I just think that one should be named receive(), and
>         perhaps receive() may be renamed receiveMulti(). Surely that
>         would be
>         more intuitive to more people?
>
>
>     Names will not change.
>
>
> Why? Surely API's being as intuitive as possible should be a key goal
> for a standard library?

Another key goal is that an API should be as concise and powerful as 
possible. Furthermore, the API is very intuitive once you glimpsed over 
the documentation.

> The thing isn't supposed to be stable yet is it? If you take the
> attitude that no name should ever be changed, then I think there is a
> problem with the phobos contribution process.

He said 'Names will not change' not 'All names never change'.

> Phobos contributions have basically no incubation time/process. I've
> seen others suggest new stuff should go in exp.xxx to incubate, and it
> should only be promoted to std after some time, or some successful usage
> in multiple large-ish projects?
> It's a shame that basic usability things like that couldn't be caught
> earlier.

Erlang *has* been used in multiple large projects and it is likely that 
you make use of some service that is powered by erlang on a daily basis. 
It is successful in its niche. Copying its message passing API is 
reasonable and safe: Its concurrency model is the main selling point of 
erlang.

http://programmers.stackexchange.com/questions/112417/real-world-applications-of-erlang

>
> Do you disagree that receive() and receiveMulti() (with the crazy
> var-arg-of-delegates API that nobody would have ever seen in any popular
> language before) is a far more intuitive approach?

Yes.

> C# is awesome because it gets this right. I think that's its single
> greatest achievement, and can not be understated.
>

I couldn't find any information about a C# API for the same 
functionality. Can you help me out?



More information about the Digitalmars-d mailing list