On 1/16/02 10:32 AM, "Avdi B. Grimm" <avdi / yahoo.com> wrote:

> Warning: many strong personal opinions and broad
> generalizations to follow.
A good read, nonetheless.

> P.S. Does anyone here have any theories on /why/ threads
> are still percieved as such an arcane topic in the UNIX and
> scripting language communities?

I just moved way out in the suburbs of the Unix community so I can hardly
speak for them. Here is my take on why threads are such an arcane topic in
the geekdom generally.

1) There's more than one way to do it - and few of them port. I mostly
program Macs and I just looked up "threading packages" to find six of them
with advice on when to use each. It's just overwhelming. And only two,
java.lang.Thread and POSIX, make any portability claims.  It doesn't matter
that they all layer somehow, the API is different.

2) People think they can live without knowing this stuff. I avoided learning
threads for years because I was programming in environments where I could
fake it with callbacks and timers. When I finally had a project where I had
to use threads, I discovered that they are much easier than I had feared.

3) No thread library in ANSI C or C++. This is a big deal because it makes
point 2 creditable.

4) Microsoft is different from everybody else.
-- 
Laws are the spider's webs which, if anything small falls into them they
ensnare it, but large things break through and escape. -Solon, statesman
(c. 638-c558 BCE)