[Pharo-dev] Responsible development

Stéphane Ducasse stephane.ducasse at inria.fr
Mon Dec 2 14:13:12 EST 2013

> Even if everything runs in one thread it doesn’t mean that you need to block something.
You run in one thread then either it runs or it does not :)
When loading Moose in one process it will load model and not process UI. I see that you do not really grasp concurrency. 

> And I know that example with Nautilus or even with test runner may be to hard. 
> Let’s take moose for example. While it is importing a model everything freezes. Is there a reason for that? I don’t see any.

It just depends if you want to let the user do something in parallel or not. 
For moose this is easy to fork the loading. 

Now for pharo since what you load can modify the running system this is a different story.

> In my opinion the problem is that we are not used to run non-instant operations in a separate process,

No :)
The problem is that we do not have a nice way to protect the system from being executed and modified at the same 
time. Imagine that we would load the code in a separate structure in the parallel process and that once the code is loaded
but not installed you have a fast way to install it. Then we could do loading on the side. 
You see the key aspect. 

Your UI in objective-C were not done to load Objective-C code that could modify the objective-C runtime!!!
So if you want to build a simple user interface loading videos you can do it in a parallel process just using fork 
and paying a bit of attention. 

> because I do a lot of mistakes like this too.
> uko
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context: http://forum.world.st/Responsible-development-tp4726686p4726763.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

More information about the Pharo-dev mailing list