Stewart Stremler wrote:
> begin  quoting Christopher Smith as of Fri, Mar 30, 2007 at 05:57:16PM -0700:
>> Stewart Stremler wrote:
>>> This sort of reasoning alwasy makes me want to grind my teeth. :)
>> The reasoning isn't entirely faulty. A more complete rationalization
>> would be: "I have assumed that the language designers thought there were
>> problems that should be solved with threads; otheerwise why would they
>> have been added to the Tcl core."
> 
> Still no better.
> 
> Don't get me wrong ... I *understand* the reasoning -- it's saying "I'm
> out of my depth due to capability/time/interest, so I'll assume that
> someone who has more talen/experience/interest than I is actually doing
> the appropriate analysis and is making a better decision than I could."
> 
> The problem is, this is not often the case.  Stuff is done because it
> seems like a good idea at the time, or because it was a challenge, or
> it was fun, or it was drop-dead easy so why not?

So, "it seems like a good idea at the time" I would agree with, and that
is exactly in line with the reasoning I suggested. The "because it was a
challenge or it was fun or it was drop-dead easy so why not?" are the
kind of reasonings that leads to an unsuccessful language designer.
Language design decisions along the lines of "I climbed it because it
was hard but I knew I could do it" lead to hideously complex languages,
with that complexity not providing enough benefit for people to adopt
it. "Doing it because it is fun" tends to result in "fun" languages that
everyone talks about using, but rarely does for practical work.
"Drop-dead easy so why not?" tends to result in languages without clear
design principles, lots of unintended consequences, etc.

> Even very smart, very good, very talented people make mistakes, or
> pursue "unwise" paths.  Not everything pans out.

Absolutely true. However, to be successful with language design, you
pretty much have to have a clear vision as to why you are doing what you
are doing (said vision may be wrong).

>>> NO problem _must_ be solved with threads.  They're merely a tool to
>>> produce a simpler design (within bounds) -- and it's all running as
>>> part of one huge sequential program anyway, it's on a Von Neumann
>>> machine.
>> Increasingly, modern computer systems more closely resemble non-Von
>> Neumann machines that sort of simulate Von Neumann machines (aided and
>> abetted by the OS and platform API's).
> 
> Well, sorta. When we start slapping an ALU on every memory cell, then
> perhaps we can declare the Von Neumann architecture dead. :)

A modern desktop can have independent CPU's, an independent GPU, an
independent physics processor, and independent sound processor, not to
mention all kinds of ASIC's here and there doing DMA transfers and God
knows what else. Yeah, we use clocks to synchronize them, but that is
kind of a Von Neumann band aid on an increasingly asynchronous system.

--Chris

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to