Hi Sean

On Fri, May 18, 2018 at 9:49 PM, Sean P. DeNigris <s...@clipperadams.com>
wrote:

> Guillermo Polito wrote
> > If you have any issues…
>
> IMHO the biggest issue is incompatibility with OSProcess. This seems not to
> matter when one is loading Project A depending on OSSP in a clean image,
> but
> the second one tries to load Project A into an image where Project B
> already
> depends on OSP - KABOOM! Game over.
>

Well, I cannot say much about why this happens. I've seen it happening, but
I try not to depend on projects using OSProcess in that case.

Can we also say the same the other way around?
If we have OSSubprocess loaded and I download a project using OSProcess,
does it break the same?
I understand that the incompatibilities bother, but putting all the fault
in OSSubprocess and not in OSProcess seems not fair :).
Maybe both should be modified to be compatible? Dunno...


> On a more philosophical note, I never understood why OSSP was created in
> the
> first place since we have OSP;


I cannot answer this, I'll let Mariano or somebody from the Pharo board on
this one.


> and especially why the API is different,
> making switching more difficult.


I found OSProcess API particularly bad. It's never clear to me whether to
use OSProcess, PipeableSomething or CommandWhatever (I don't even remember
the names of the things that **do work** and I have to look them every
time).

To be fair, to me even sometimes OSProcess is too verbose. Most people only
want to do

output := OSProcess executeCommand: 'ls'.

Blocking. Recovering stdout. And that's all.
So in that sense, I think that letting us move on and rethink the API is
not bad at all...

Then, we can think on providing some compatibility layer to help people in
migrating.
So, if anyone want to take action on this point...

I'm sure there was a good reason to do
> OSSP, but it might be helpful to clarify in the docs (so tradeoffs between
> OSP and OSSP can be understood by prospective users).
>

Well from a technical point of view, if you want to choose from one or
another today I'd say:
 - OSSP is written mostly in FFI, what means that it is easier to modify
and ship.
 - I'm sure OSSP works: it has way more tests and we are using it for
several projects ourselves. (Please notice I do not say that OSP does not
work, I say I have no way to be sure that it works because tests do not
run). So we are eating our own food:
    - we use them to run iceberg tests
    - pillar is using it to compile pdfs
   I've put myself quite some effort to have a working CI, with stress
tests, 64bits. I've just tried to run OSP tests and they do not even run in
Pharo because they use FileDirectory (and even latest version is updated to
work on Cuis)... Having a compatibility layer to make such a project run on
squeak, cuis and Pharo looks like a gigantic task for a project that seems
so core to me.





>
>
>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>


-- 



Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*


*Web:* *http://guillep.github.io* <http://guillep.github.io>

*Phone: *+33 06 52 70 66 13

Reply via email to