comp.lang.ada
 help / color / mirror / Atom feed
From: vladimir@prosper (Vladimir G. Ivanovic)
Subject: Re: Why tasking in a language is such a bad idea
Date: 3 Jun 90 21:05:56 GMT	[thread overview]
Message-ID: <136570@sun.Eng.Sun.COM> (raw)
In-Reply-To: ted@grebyn.com (Ted Holden)

In article <20097@grebyn.com>, ted@grebyn (Ted Holden) writes:
>Sorry to be a while getting back.  

Actually, most of us are sorry it was so soon!  (I couldn't resist...  You
left yourself wide open with that one!)

>Several people posted articles
>indicating they had no idea WHY tasking as a language feature is a bad
>idea.  

I posted a response, and I gave three or four reasons.  You have not replied
to any of them.  Why not?

Another person you might consider talking to is Narain Gehani of AT&T Bell
Labs.  He is a principle designer of Concurrent C/C++, which has just been
released for research use.  Tasking, naturally, is included as a feature of
the language.  He might have had some reasons for including tasking.  Do you
know what they are?

Occam, CSP and and a variety of Lisps include tasking.  Why do you think all
these different language designers have included tasking?

>There are several reasons, all of them good.  For one thing, it's
>a lot of dead weight to be carrying around for an application which
>doesn't need it.  

There are two pretty obvious responses to this objection, both of them
convincing.  (1) It's an implementation issue, not a language design issue.
Why can't a compiler, in principle, simply leave out the tasking part if it's
not used?  (2) Use a different language.  Neither Ada nor your favorite
language is the perfect language for every application.  If you don't need
tasking, and your Ada compliler insists on including a lot of extra baggage,
use a different language.

Reserve Ada for those applications where programming in Ada provides benefits
compared to the alternatives.  In general, these are large, embedded,
real-time applications. 

>But the chief one is this:  No matter how you define
>it, two years later, there will be an application/hardware platform for
>which the two year old tasking model just won't work.  If past
>experience is any guide, it will actually be two MONTHs later.

Let me understand your argument here: Because tasking will change as people
learn, we shouldn't include tasking in a language.  OK, but why isn't this
argument applicable to typing, loop constructs, procedure call interfaces, or
any other language design feature?  You may have an argument, but you've
thrown the baby out with the bath water.  As it stands, the logical conclusion
of your argument is a language with NO constructs!

The rest of your posting did not contain any reasoning that I could discern.

Cheers,

-- Vladimir

Vladimir G. Ivanovic			vladimir@sun.com
M/S 12-33				vladimir@prosper.ebb.eng.sun.com
Sun Microsystems, Inc.			vivanovic@sun.com
2550 Garcia Ave.
Mountain View, CA 94043-1100		(415) 336-2315

--

Vladimir G. Ivanovic			vladimir@sun.com
M/S 12-33				vladimir@prosper.ebb.eng.sun.com
Sun Microsystems, Inc.			vivanovic@sun.com

      reply	other threads:[~1990-06-03 21:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1990-06-02 18:24 Why tasking in a language is such a bad idea Ted Holden
1990-06-03 21:05 ` Vladimir G. Ivanovic [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox