<div dir="ltr">This is the sort of conversation I´d love to see as marginal comments when reading that particular paragraph in The Cuis Book.<br><br>Please have a look at <a href="https://web.hypothes.is/">https://web.hypothes.is/</a> for something that is production ready and that could serve as a starting point.<br><br>-- <br>Eze</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mié, 2 ago 2023 a la(s) 14:50, ken.dickey--- via Cuis-dev (<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2023-08-02 01:22, Szabolcs Komáromi via Cuis-dev wrote:<br>
<br>
> I just wondered whether something peculiar to Cuis warrants this <br>
> definitive statement. But as turned out the book has a strong implicit <br>
> engineering perspective and saving the image doesn't have any hidden <br>
> side effect compared to the other Smalltalk implementations. Hilaire <br>
> added my comment to the end of the code management chapter of  The Cuis <br>
> Book. Hopefully this makes the validated but implicit engineering <br>
> standpoint of the book more explicit for future readers.<br>
<br>
The experience of using image based languages (Smalltalk, Actor, ..) is <br>
that the ability to save and reuse an image, over time, leads to cases <br>
where one cannot reproduce a system from source.  This is bad for <br>
sharing and bad for commercial products, where source control is <br>
important to maintaining an investment.<br>
<br>
In one project I was working on, I noticed development images getting <br>
out of sync and people "debugging" to find image differences.  This <br>
despite source control.  The fix was to disable saving images!  People <br>
hated me for about a week for doing this, but realized that starting <br>
from versioned sources and a fresh image each day meant that they really <br>
did save their work each day to the version control system and it saved <br>
us, as a group, much time.<br>
<br>
This became especially important when we trained up a sibling team in <br>
Taiwan.  Each day we saved our stuff in the US and wrote up what needed <br>
to be done next.  The Taiwan team worked during our night do do that and <br>
the next morning that stuff was magically done and we had another <br>
chunk/step to work on.  Distributed development can work essentially <br>
24/7 if you have good communication and can prime the pump.<br>
<br>
This particular project was done in Actor -- basically a Smalltalk IDE <br>
but with C syntax -- no relation to Actor Semantics.<br>
<br>
My experience is that image save based development leads to accidents of <br>
history -- times when one ends up with images which may work but are not <br>
easily reproducible from source.  One way to avoid the problem is to get <br>
in the habit of _always_ reproducing from source.<br>
<br>
Like eating well and exercising.  You can have a milkshake once in a <br>
while, but have one with every meal you are in trouble.<br>
<br>
Best to establish and keep good habits.<br>
<br>
$0.02,<br>
-KenD<br>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div>