http://www.perlmonks.org?node_id=580109


in reply to Parrot, threads & fears for the future.

The future is threaded.
Maybe on a hardware level. But on a software level, I would say:

Threads Are Primitive And Should Die!

Why would you need to use threads? To do things in parallel? Why not let the computer figure that out for most cases (generally any action on more than one element without side effects).

This is probably a broken analogy, but I see threads as wheels on a car. Do you have turn each frontwheel seperately? No, you have something like a steering wheel or a joystick. Do you have to think about the fact that, when turning left, the left wheel has to turn a little more than the right wheel? No. The car does that for you.

I think the focus on threads (and fork) is what is so past century. We need new ways to think about using computer systems that are no longer capable of only doing one thing at the time. And rid ourselves of engrained thought patterns.

Software transactional memory is such a way, and it is already available in Pugs already supports it.

Combined with Continuations, which are already supported by Parrot, this is a very powerful base for language definition and implementation.

Personally, I welcome the lack of a threads.ppd. Ever really tried to program more than trivially threaded programs in Perl or C? Or tried to debug them? Get all of the locking right? Eridicate all possible race conditions and dead locks? For me, it is the nearest thing to hell for a programmer I can imagine. That's why I heartily support the death of threads in HLL's!

Liz

Replies are listed 'Best First'.
Re^2: Parrot, threads & fears for the future.
by BrowserUk (Patriarch) on Oct 23, 2006 at 18:31 UTC
    That's why I heartily support the death of threads in HLL's!

    Funnily enough, I agree. I've been banging on about that for a couple of years. I think I even recall having a conversation with you about it by email 2 or more years ago.

    Parrot is not a high level language.

    If the HLL Perl6, is to provide for user transparent threading semantics; and if Perl6 is to run atop the Parrot VM; then Parrot has to do threads. And be written from the ground up to do threads well.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.