On Oct 4, 2012, at 4:41 AM, "H. Hirzel" <[email protected]> wrote:

> Thank you Marcus,
> 
> I assume for exploring the code I start with package 'FileSystem-Core-Public' 
> ?
> 

I would start with the book chapter:

        
http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/FileSystem.pdf

Then another nice thing is that the whole image already was refactored to use 
FileSystem.
(the old API is right now even not there, it will come back in form of a 
compatibility layer, though).

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 sytem can not use it, as the developer of course wants to 
load the latest version of this independendly
develpopped 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 sligthly 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 suppossed to write new code.

So after reading the chapter, you can just browse the users and should get *a 
lot* of examples. Isn't that amazing?

        Marcus

--
Marcus Denker -- http://marcusdenker.de


Reply via email to