Sorry for not responding earlier - I missed this one. I use Celeste and sometimes when people have different time on their computers the mails don't end up "last" in my inbox.
"Swan, Dean" Dean_Swan@Mitel.COM wrote:
Goran,
I didn't mean in any way to call your baby ugly, but it *IS* just
:-) No offense taken.
a database with a user interface that makes it easy to do useful things, and from a USER point of view (as opposed to a package PUBLISHER or DEVELOPER) it is simply a tool for importing new code into a local image. That is what I mean by monolithic image based. The fact that SM supports multiple file formats is wonderful, but that really has nothing to do with the structure of the underlying source code.
Unless I've missed something, once you use SM to import a package into an image, there is no easy way to "undo" this package addition. This is also consistent with the "monlithic image model".
That depends on the package format for the particular package. For example - if you use DVS package format you can already do a controlled upgrade. No uninstall yet though, but I actually think upgrade is more useful. You can always pick a clean image and then reinstall all the packages you want.
We could also very easily introduce an installer that could install and uninstall "class libraries" - .fileins that simply has a bunch of classes with no loose methods and do-its and no class initialization that affects something else than the classes themselves.
And if you use a .pr package format then... well, I don't know much about Projects but I think they are fully uninstallable, but "uninstall" is not something we are tackling yet. We will probably try to tackle "upgrade" and "reinstall" better first.
Please don't misunderstand. I'm not attemtping to criticize any any of the great work being done in Squeak. Microsoft, I am criticizing, but not Squeak or Squeak contributions.
:-) I don't misunderstand, don't worry.
If anything I was trying to make the point that flexibility does not come for free, and that I prefer Dan Ingalls's original premise of "the simplest thing that could possibly work".
I also like that concept. And that is actually something we try to follow with SM. We are very focused on doing it all in small steps. We don't really need namespaces to be able to have packages. We don't really need new package formats either.
Believe it or not - we can today using plain old .cs and .st formats possible with DVS in the mix come pretty far.
Anyway, I think it all boils down to what problems you want to solve - let's stick to talking about those (discussing the meaning of monolithic doesn't really move things forward):
Would you like to have namespaces and the ability to install different versions of the same package at the same time? Hey, SM and DVS etc are not even trying to solve those problems.
On the other hand, would you like to cut out pieces of the image like Celeste, IRC and Scamper into easily installable packages of their own? Would you like to publish your own package independently of what other people think of it? Would you like to have distributed maintenance of these packages? Would you like to easily find and install the latest available package X? Would you like to move the image towards a small kernel and have the rest as installable packages on top of it?
All these problems and more are solvable *today* using SM (and DVS in some areas). He, what a sales guy I am... ;-)
regards, Göran