I feel it is mostly because pthreads was the implementation widely
available, documented and referred to (the pthreads orielly book comes
to mind).  pthreads can be tricky to use, difficult to debug and many
people don't understand race conditions or how to use mutexes
correctly.

The API can make all the difference.  SDL has an extremely
simple/elegant API for using threads.

Also, this is my first post to this list having joined a few days ago.
I had a ruby book (pragmatic programmers) on my amazon wishlist and it
was purchased as a holiday gift by a programmer friend of mine.  I
quickly tore through the book and was sold on Ruby.

I am hoping to apply it in my work soon.  That will likely involve
some perl/ruby integration either through corba, direct linking or
some other method.

--brett

On Thursday, 17 January 2002, at 04:39:11, Chris Gehlker wrote:


> 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)
>