April 23, 2010
Clemens wrote:
> Ah, ok. As bearophile noted, that person seems to have not much experience
> with Haskell, to put it politely. Obviously I didn't see the presentation and
> don't want to judge too harshly, but if your summary is an accurate
> representation of its take-away points, that reeks badly of intellectual
> dishonesty and FUD. See my link.
> 
> Or put another way, would you like someone who has never used D before to do
> a live presentation on it and come to premature conclusions like this?


D is meant to give good results even for people who are not experts at it. If someone wrote a straightforward D app and it gave such poor results, I'd take it (and have taken such) as a problem that D needs to improve upon.

For example, Andrei has expended a great deal of effort on making the naive use of stdio also the fast way.

I will send your link to Russel, I'm sure he'd be interested.

I am also interested in *why* Russel's Pi program is a bad example of Haskell programming, it's not enough to dismiss it because Russel is not a Haskell expert.

April 23, 2010
If only multicore programming was all about finding fibonnaci numbers or the Nth number of Pi, then maybe some of the claims in this thread would be true. :)
April 23, 2010
On Fri, 23 Apr 2010 06:30:13 -0700, Walter Bright wrote:

> 
> D is meant to give good results even for people who are not experts at it. If someone wrote a straightforward D app and it gave such poor results, I'd take it (and have taken such) as a problem that D needs to improve upon.
> 
> For example, Andrei has expended a great deal of effort on making the naive use of stdio also the fast way.
> 
> I will send your link to Russel, I'm sure he'd be interested.
> 
> I am also interested in *why* Russel's Pi program is a bad example of Haskell programming, it's not enough to dismiss it because Russel is not a Haskell expert.

OK where's the naive version of the D Pi program that scales up with 1,2,4 cores? How far off are we? Is the concurrency module working with it yet?

-3.-1-4-1-5-9..
Michael Rynn

April 23, 2010
On 04/23/2010 07:00 AM, Clemens wrote:
> (As an aside, I'm generally a bit put off by the
> hostility towards programming language research and theory in the D
> community. "We don't need no stinking theory, we'll just roll our own
> ad-hoc solution which will work much better because ivory-tower
> academics are completely out of touch with reality anyway." Bleh.)

I hope that trend has been definitively reversed.

Andrei
April 23, 2010
On 04/23/2010 08:30 AM, Walter Bright wrote:
> Clemens wrote:
>> Ah, ok. As bearophile noted, that person seems to have not much
>> experience
>> with Haskell, to put it politely. Obviously I didn't see the
>> presentation and
>> don't want to judge too harshly, but if your summary is an accurate
>> representation of its take-away points, that reeks badly of intellectual
>> dishonesty and FUD. See my link.
>>
>> Or put another way, would you like someone who has never used D before
>> to do
>> a live presentation on it and come to premature conclusions like this?
>
>
> D is meant to give good results even for people who are not experts at
> it. If someone wrote a straightforward D app and it gave such poor
> results, I'd take it (and have taken such) as a problem that D needs to
> improve upon.
>
> For example, Andrei has expended a great deal of effort on making the
> naive use of stdio also the fast way.

And the correct way.

Andrei
April 23, 2010
Michael Rynn wrote:
> OK where's the naive version of the D Pi program that scales up with 1,2,4 cores? How far off are we? Is the concurrency module working with it yet?

Nobody's written a library function to parallelize a map/reduce yet.
April 23, 2010
On Fri, 23 Apr 2010 11:10:48 -0300, Walter Bright <newshound1@digitalmars.com> wrote:

> Michael Rynn wrote:
>> OK where's the naive version of the D Pi program that scales up with 1,2,4 cores? How far off are we? Is the concurrency module working with it yet?
>
> Nobody's written a library function to parallelize a map/reduce yet.

Dave Simcha has.
Code: http://dsource.org/projects/scrapple/browser/trunk/parallelFuture/parallelFuture.d
Docs: http://cis.jhu.edu/~dsimcha/parallelFuture.html
April 23, 2010
Walter Bright Wrote:

> Clemens wrote:
> > Ah, ok. As bearophile noted, that person seems to have not much experience with Haskell, to put it politely. Obviously I didn't see the presentation and don't want to judge too harshly, but if your summary is an accurate representation of its take-away points, that reeks badly of intellectual dishonesty and FUD. See my link.
> > 
> > Or put another way, would you like someone who has never used D before to do a live presentation on it and come to premature conclusions like this?
> 
> 
> D is meant to give good results even for people who are not experts at it. If someone wrote a straightforward D app and it gave such poor results, I'd take it (and have taken such) as a problem that D needs to improve upon.

Someone coming from C++ might think the following program entirely reasonable (and I did indeed make this mistake when starting with D):

class A
{
    this() { /* initialize me */ }
    void foo() { /* do smth */ }
}

void main()
{
    A a;
    a.foo();      // blam - segfault right here
}

This is about the level of understanding that seems to have been applied to Haskell in that example.

> I will send your link to Russel, I'm sure he'd be interested.
> 
> I am also interested in *why* Russel's Pi program is a bad example of Haskell programming, it's not enough to dismiss it because Russel is not a Haskell expert.
> 

I tried to have a look at it (not that I'm anything near a Haskell expert), but this link just gives me an empty directory:
http://www.russel.org.uk/Bazaar/Pi_Quadrature
April 23, 2010
Andrei Alexandrescu wrote:
> On 04/23/2010 08:30 AM, Walter Bright wrote:
>> For example, Andrei has expended a great deal of effort on making the
>> naive use of stdio also the fast way.
> 
> And the correct way.


Yes.

BTW, if it isn't obvious, the Erlang and Clojure versions of the Pi program were the naive approach, and produced expected multicore results.
April 23, 2010
Robert Jacques wrote:
> On Fri, 23 Apr 2010 11:10:48 -0300, Walter Bright <newshound1@digitalmars.com> wrote:
> 
>> Michael Rynn wrote:
>>> OK where's the naive version of the D Pi program that scales up with 1,2,4 cores? How far off are we? Is the concurrency module working with it yet?
>>
>> Nobody's written a library function to parallelize a map/reduce yet.
> 
> Dave Simcha has.
> Code: http://dsource.org/projects/scrapple/browser/trunk/parallelFuture/parallelFuture.d 
> 
> Docs: http://cis.jhu.edu/~dsimcha/parallelFuture.html

Cool!