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....
(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>