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