On Oct 4, 2012, at 4:41 AM, "H. Hirzel" <hannes.hirzel@gmail.com> 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.pd... 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