:: Re: [DNG] Wirth's law
Top Page
Delete this message
Reply to this message
Author: Didier Kryn
Date:  
To: dng
Subject: Re: [DNG] Wirth's law
Le 24/07/2016 22:37, Jaromil a écrit :
> On Sun, 24 Jul 2016, Rainer Weikusat wrote:
>
>> Didier Kryn <kryn@???> writes:
>>> Le 22/07/2016 18:21, Brian Nash a écrit :
>>>> For example, when I discovered multithreading, all my programs used it
>>>> in some way, even when it was unnecessary.
>>> I sometimes use multithreading, but never mutexes. Mutex can be
>>> harmless if there's only one. Otherwise better use select()/poll() or
>>> you'll waste time or even dead-lock. It's amazing how the old select()
>>> paradigm is so much better than the modern mutex. I see mutex as an
>>> invention to relieve the programmer from thinking.
>> One of the advantages of having more than one thread of execution
>> running in the same address space is that these can communicate with
>> each other without going through the kernel. And 'a mutex' is just a
>> basic primitive for implementing this.
> nowadays the closures paradigm (basically fifo pipes of pointers to
> stateless functions) is used much more than all that mutex and
> semaphore old stuff. i.e. golang adopted closures since the beginning
> with great success.
>
> ciao


     Don't know what a closure is, although I heard of it long ago on 
this list. According to Wikipedia, it is "a record containing a function 
and its environment". I'm not sure it is different of a method 
associated to an object - there are subtelties here. However I imagine 
the inter-thread synchronization stuff here is the pipes. I implemented 
a pipe object in Ada a few years ago to synchronize two tasks; if it was 
a closure it would be by chance :-)


     Didier