From: Eric P. on
Peter \"Firefly\" Lund wrote:
>
> On Mon, 15 Jan 2007, Eric P. wrote:
>
> > This sounds like another in the long line of Wish Based Technologies
> > (not that this has stopped anybody in the past).
>
> Did you read any of the previous articles on STM?
>
> I can recommend "Composable memory transactions":
>
> http://research.microsoft.com/~simonpj/papers/stm/index.htm
>
> (Actually, I can recommend *anything* by Simon Peyton Jones, no matter the
> subject. Take a look at his article on Excel, functions, and usability.)
>
> -Peter

Yeah, I have been reading about it off and on for quite some time,
though I don't specifically recall reading anything from Microsoft.

While the basic idea is interesting, the example applications are
trivial, there are no comparative analysis to support claims of
superiority, and yet is peddled as the latest panacea solution
that allows mediocre programmers to write complex parallel systems.
If you look at some of the examples, you should be able to anticipate
the problems their (expensive and slow) collision-undo-retry approach
will encounter, yet this is supposed to work for naive programmers?
I don't think so. And I doubt the Haskell programming language is
going to take over the world any time soon.

Eric

From: "Peter "Firefly" Lund" on
On Tue, 16 Jan 2007, Eric P. wrote:

> that allows mediocre programmers to write complex parallel systems.

But it does. Modules that use parallel code becomes composable.

> If you look at some of the examples, you should be able to anticipate
> the problems their (expensive and slow) collision-undo-retry approach

It doesn't have to be collision-undo-retry; that's just because they are
still prototyping things (and they are probably more interested in
software engineering and maybe in hardware primitives).

The evaluation order for things that do not have side effects is free in
Haskel. Playing with different evaluation strategies is something they
already do -- optimistic evaluation for things that are deemed to be
likely to be needed is a recent example.

> will encounter, yet this is supposed to work for naive programmers?
> I don't think so. And I doubt the Haskell programming language is
> going to take over the world any time soon.

Of course it won't :)

Haskel-- and functional programming in general -- has been a supplier of
good ideas for mainstream imperative languages for some time. If
this works well enough it'll probably end up in C#.

-Peter
From: Nick Maclaren on

In article <Pine.LNX.4.61.0701161842090.31465(a)ask.diku.dk>,
"Peter \"Firefly\" Lund" <firefly(a)diku.dk> writes:
|>
|> Haskel-- and functional programming in general -- has been a supplier of
|> good ideas for mainstream imperative languages for some time. If
|> this works well enough it'll probably end up in C#.

It was before my time, but I think that LISP gave some ideas to
Algol 60, and certainly did to Algol 68 :-)


Regards,
Nick Maclaren.
From: Nicholas King on
Nick Maclaren wrote:
> If that is so, it will be much easier for ordinary programmers
> to write simple code, but will not help much with complex code, and it
> will be essentially untunable.
So essentially it will be solving a problem that didn't need to be solved?

Sounds awfully useless to me. There is no magic way of making complex
things simple. The sooner we start properly educating the programmers
the better instead of looking for quick fix solutions and accepting
mediocrity.

Nicholas King
From: Del Cecchi on

"Nicholas King" <zeddie(a)internode.on.net> wrote in message
news:12qr3rpluieia99(a)corp.supernews.com...
> Nick Maclaren wrote:
>> If that is so, it will be much easier for ordinary programmers
>> to write simple code, but will not help much with complex code, and it
>> will be essentially untunable.
> So essentially it will be solving a problem that didn't need to be
> solved?
>
> Sounds awfully useless to me. There is no magic way of making complex
> things simple. The sooner we start properly educating the programmers
> the better instead of looking for quick fix solutions and accepting
> mediocrity.
>
> Nicholas King

Of course there are ways, although I don't know if they are magic, of
making complex things simple. We use calculators to take cube roots.
Ever do one longhand? Got a book of log tables? We use verilog and vhdl
to model and synthesize logic designs. Can you imagine designing a
million gate chip coding nands and nors in the netlist by hand, like we
did it in the old days of BDL/S (internal IBM netlist language)? Writing
operating system in assembler? Writing windowing programs without a
canned GUI thing like xwindows? I could go on for a considerable time.

The only way to get past complex problems is to get above them and hide
them.

del