<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Philip, please help us all keep the tone at a friendly and welcoming
    level. There's no need or reason to upset Thierry or make anyone
    uncomfortable.<br>
    <br>
    Let's try to make our best to understand other people opinions, and
    their thinking behind them, and argue in good manners.<br>
    <br>
    Besides, folks, let me say that Thierry or anyone else is welcome to
    express any opinions here. If anyone actually wants to sell the
    Pharo approach to anything, we'd listen, think, and discuss. Let's
    not forget that we share a lot. Pharo, Squeak and Cuis share a
    common ancestry (Smalltalk-80 and earlier Squeak versions), and we
    use the same VMs. After Pharo and Cuis forked, fortunately, we still
    have been able to bring both ideas and code back and forth between
    the projects. Most Cuis contributors are also contributors to Squeak
    and Pharo. For instance, both Nicolas and me have contributed
    dialect specific code to all three projects.<br>
    <br>
    Let's keep it this way.<br>
    <br>
    Thanks,<br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
    <br>
    On 8/29/2019 4:12 PM, Nicolas Cellier via Cuis-dev wrote:
    <blockquote
cite="mid:CAKnRiT43XugpMws0gMSvi7H433cT0UpG4n9g2_r_sMSWtcwC6Q@mail.gmail.com"
      type="cite">
      <div dir="auto">
        <div>Woah, Thierry gave insight on the reasons that have driven
          the design decisions, and his view on the database nature of
          version control, he his not trying to sell Pharo solutions at
          all, but instead is trying to step back and give another
          perspective, unless I missunderstood...<br>
          <br>
          <div class="gmail_quote">
            <div dir="ltr" class="gmail_attr">Le jeu. 29 août 2019 à
              14:33, Philip Bernhart via Cuis-dev <<a
                moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>>
              a écrit :<br>
            </div>
            <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
              0.8ex; border-left: 1px solid rgb(204, 204, 204);
              padding-left: 1ex;">Hi Thierry,<br>
              <br>
              I wasn't interested into your comment or "insights" into
              filetree<br>
              or tonel. As I wrote in the beginning of this thread, I
              despise these<br>
              formats and want to convert them into cuis packages which
              are more<br>
              sane to me. And I despise these on the grounds of
              incompatibility<br>
              and complexity.<br>
              <br>
              All the remaining explanations are not adding anything new
              to the<br>
              discussion also they make me mad at you for treating me as
              someone<br>
              who doesn't understand these formats.<br>
              <br>
              I hope if Hernan had a civil discussion with Dale, he
              could send<br>
              me a private mail as I'm curious of how it went, if he
              wants that.<br>
              <br>
              Any further discussion in this thread is probabily just
              going to be<br>
              bikeshedding between the pharo community and the cuis
              community,<br>
              which is not really interesting.<br>
              <br>
              <br>
              Thanks for your time,<br>
              Philip<br>
              <br>
              <br>
              Thierry Goubier via Cuis-dev <<a moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st" target="_blank"
                rel="noreferrer">cuis-dev@lists.cuis.st</a>> writes:<br>
              <br>
              > Hi Philip,<br>
              ><br>
              > as someone who has worked a bit on filetree, I'd say
              there are no<br>
              > philosophical differences. Just implementation
              compromises with the way<br>
              > Smalltalk has to deal with the world outside of the
              image for storing code.<br>
              ><br>
              > For example, Tonel has been introduced to solve
              issues with filetree: the<br>
              > fact filetree generates too many files creating
              performance issues with the<br>
              > host filesystem implementation (and issues with the
              poor support of Windows<br>
              > long paths in the virtual machines), and losing space
              because the files are<br>
              > small (and that current storage tech has solved its
              performance issues with<br>
              > large files by forcing a large minimum allocation
              size). Filetree is itself<br>
              > a compromise to have a different fit with current
              version management<br>
              > systems (git, for example). As I said, just
              implementation compromises(*),<br>
              > no philosophy behind that.<br>
              ><br>
              > If there is a philosophical difference, I would say
              that there is only one:<br>
              > declarative or imperative storage format.
              Traditiional Smalltalk is<br>
              > imperative... you don't load code, you execute a
              program. Newer formats<br>
              > like filetree or tonel, or probably the
              database-oriented ones (VW, Magma)<br>
              > are more declarative in nature (but have still
              imperative parts).<br>
              ><br>
              > The picture grows more complex if you consider what
              are version control<br>
              > systems. They are in fact databases (even git), so a
              more natural fit for<br>
              > Smalltalk would be an object persistency layer used
              with code objects (VW,<br>
              > again. Gemstone?).<br>
              ><br>
              > To give you an idea of how that looks, for all
              formats:<br>
              ><br>
              > In Smalltalk, you have code as an object graph
              (class, CompiledMethod<br>
              > instances, etc...) with an optimisation to store the
              text (the sources and<br>
              > changes files). When you save, you iterate over that
              object graph and<br>
              > convert it to a file / multiple files. Then you
              interact with your version<br>
              > control system to record the files (either
              automatically or manually). Then<br>
              > your version control system store your changes into a
              database, as a set of<br>
              > objects...<br>
              ><br>
              > This also explains why you have those Smalltalk to
              database for storing<br>
              > code implementations: avoid that file layer that is
              extremely annoying.<br>
              ><br>
              > Thierry<br>
              ><br>
              > (*) For example, the last version of GitFileTree, a
              git-enabled filetree,<br>
              > never manipulates any files in Smalltalk. Git does
              file operations but only<br>
              > as a kind of user interface layer, to allow users to
              solve conflicts.<br>
              ><br>
              > Le jeu. 29 août 2019 à 10:26, Philip Bernhart via
              Cuis-dev <<br>
              > <a moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st" target="_blank"
                rel="noreferrer">cuis-dev@lists.cuis.st</a>> a écrit
              :<br>
              ><br>
              >> Hi Hernan,<br>
              >><br>
              >> could you find out the philosophical differences
              regarding<br>
              >> the "new" package formats like filetree or tonel?<br>
              >><br>
              >> If yes, what are they? I'm curious why thinks are
              supposed to<br>
              >> be better the way pharo and visual works (?)
              went.<br>
              >><br>
              >><br>
              >> Thanks for your time,<br>
              >> Philip<br>
              >><br>
              >> Hernan Wilkinson via Cuis-dev <<a
                moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st" target="_blank"
                rel="noreferrer">cuis-dev@lists.cuis.st</a>> writes:<br>
              >><br>
              >> > well well well, even I do admire you and so
              on, I would not call it a<br>
              >> > date 😜😜<br>
              >> > (we are starting to have fun!!)<br>
              >> ><br>
              >> > On Wed, Jul 31, 2019 at 4:44 PM Dale
              Henrichs via Cuis-dev <<br>
              >> > <a moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st" target="_blank"
                rel="noreferrer">cuis-dev@lists.cuis.st</a>> wrote:<br>
              >> ><br>
              >> >> Hernan,<br>
              >> >><br>
              >> >> Excellent! It's a date then:)<br>
              >> >><br>
              >> >> Dale<br>
              >> >> On 7/31/19 12:32 PM, Hernan Wilkinson
              via Cuis-dev wrote:<br>
              >> --<br>
              >> Cuis-dev mailing list<br>
              >> <a moz-do-not-send="true"
                href="mailto:Cuis-dev@lists.cuis.st" target="_blank"
                rel="noreferrer">Cuis-dev@lists.cuis.st</a><br>
              >> <a moz-do-not-send="true"
                href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
                rel="noreferrer noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
              >><br>
              > -- <br>
              > Cuis-dev mailing list<br>
              > <a moz-do-not-send="true"
                href="mailto:Cuis-dev@lists.cuis.st" target="_blank"
                rel="noreferrer">Cuis-dev@lists.cuis.st</a><br>
              > <a moz-do-not-send="true"
                href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
                rel="noreferrer noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
              -- <br>
              Cuis-dev mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:Cuis-dev@lists.cuis.st" target="_blank"
                rel="noreferrer">Cuis-dev@lists.cuis.st</a><br>
              <a moz-do-not-send="true"
                href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
                rel="noreferrer noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>