"Ned Konz" <ned / bike-nomad.com> wrote in message
news:20011126162516.809A31B43B / helium.ruby-lang.org...
> On Monday 26 November 2001 06:46 am, Thomas Gagne wrote:
> > David, your table seems to mix language features with library features.
> >
> > Native Threads - isn't this an implementation issue?  Doesn't Smalltalk
MT
> > use native threads?  I personally believe this is a ding against VW.
>
> MT uses native threads, but only works on Win32 systems, which have their
own
> threading model.

And, significantly predating Smalltalk MT, QKS Smalltalk [aka
SmalltalkAgents] (1991-1998) had portable pre-emptive multi-threading across
both its Mac [green-threads (native threads appeared later on the Mac)] and
Win32 [native-threads] platforms.

The column's question(s) are ("standard" implementations language [not just
one dialect]): first, there is "portable" threading model; second, do the
portable facilities integrate-with/layer-on-top-of "native" threads?

====
As to library features, as I have been so recently told (of late) in
SmallScript feedback, quite a number of people take the strong [and, in my
opinion, partially correct] view that libraries and tools are a key part of
the collective elements that form a (dynamic) language. I.e., historically
in most dynamic language systems the frameworks and IDE were an integral
element and play a key role in the development process and thereby define
the language and its capabilities/productivity for its users.

>
> Cross-platform systems (like Ruby) do better when they provide their own
> threading (since the target system may not provide a threading model at
all,
> or it may be substantially different than what is needed).

Classic Smalltalk-80 has had cross-platform fully portable threading for
some 20 years. Unfortunately, as a pioneering language in many areas, one
often finds that it created terminology and syntax forms before the rest of
the world did [as such, Smalltalk's terminology is often different from what
are now popularly accepted terms for the same concepts] which frequently
adds to the confusion/errors-made in comparing it with other languages.

In Smalltalk-80, what we call "green-threads" today, are what it has always
called "processes". Over the years, various implementations over the years
have made them "safely-pre-emptive" although most have not because it
results in the class-library (frameworks) being non-thread-safe [noting that
the language does not intrinsically support notions of pre-emptive
multi-threading and so its libraries are not designed accordingly --
although at least one dialect was -- QKS Smalltalk from which SmallScript
draws its heritage].

-- Dave S. [www.smallscript.org]

>
> --
> Ned Konz
> currently: Stanwood, WA
> email:     ned / bike-nomad.com
> homepage:  http://bike-nomad.com
>