Re: Re: Threads: Sewing badges of honor onto a Kernel
Charles Forsyth <forsyth <at> terzarima.net>
2004-03-01 08:20:28 GMT
>>i think it was rob, but i'm not sure, who said:
> linear is programming is hard enough, but
> concurrent programming is beyond the
> 'average' programmer.
actually, i'd say that programming generally is hard enough, and not
just for the average programmer,
and concurrent programming is just a special case within that.
more seriously, some things are more clearly expressed and more easily implemented
using concurrent processes or perhaps coroutines, so concurrency ought to be taught,
and learned, and well.
in contrast to the quote above, in an ancient usenet article,
in the context of concurrent programming, i am reasonably certain that
rob made the observation that as a discipline, we can learn. he
used the example of fork(), which was considered `difficult' when it
first appeared, compared to existing notions such as `jobs', but after
being studied and taught in advanced programming for a time, it become
familiar enough that it was suitable to be taught/used much earlier.
that seems to me to be a better quote to use.
i'd say from my experience that unless people insist on pronouncing themselves `full' and
incapable of accepting any new ideas, which certainly does happen, they can typically
learn. (otherwise, they end up saying things such as ``in every other X i've
ever seen i could always do Y in this particular way''.)
i think in many ways concurrent programming is more general
than (say) object-oriented programming, and certainly the language
constructions can be much simpler than some object-oriented ones.