[squeak-dev] FileSystem (was: About (backwards) Compatibility)

H. Hirzel hannes.hirzel at gmail.com
Thu Dec 13 12:37:37 UTC 2012


P.S. Here the citation of Marcus' post

about "libraries as theories"

>
> http://forum.world.st/To-try-out-FileSystem-in-2-0-which-download-td4649945.html#a4650038

> (full citation see below)


<citation>
Libraries are in the end theories. They model something, e.g. Filesystem
access.

The idea here is the following: Libraries are in the end theories.
They model something, e.g. Filesystem
access. There was an old theory, and it turned out it was not really
good. So Colin made a new Theory: FileSystem.

Now there are two philosophies

1) we load the new in addition. It even is compatible to many
different versions of the System, and everyone uses it
in new code. But the system can not use it, as the developer of course
wants to load the latest version of this independently
developed library. Some people requested that for FileSystem, and we
renamed all classes so that they can continue
to load the code themselves.

2) We replace the old. Why?

 - to prove the theory. It is amazing, but in all cases, the new needs
to be either slightly adapted / improved or bug fixed
   when you *really* replace the old. It's the ultimate test.
 - to only have to maintain one code base.
 - to have a better used and therefore more bug free code base (see
e.g. the FilePlugin fixes that had to be done)

and, actually not last but very important: Have examples in the image
that show how the library is used. In the end, the system is it's own
best documentation. There should only be code in there that shows the
beginner how he is supossed to write new code.

</citation>


More information about the Squeak-dev mailing list