[squeak-dev] Smalltalk v. .mcz Objects
bert at freudenbergs.de
Mon Sep 12 13:24:54 UTC 2011
On 12.09.2011, at 14:41, Overcomer Man wrote:
> >> Along the way I noticed the .mcz files contained a lot of other junk besides Smalltalk code, and all the code for several FFI sub-projects is under the same filename inside the different packages. Using .mcz instead of .zip is unnecessary complexity. The extra packaged files are not Smalltalk. Why not just use Smalltalk?
> > Why use text when you can use objects? What you call "junk" is in fact just serialized objects. Loading them is a lot more efficient than compiling text. The stored text is just a fallback. When loading the text, MC actually just recreates the objects (MCDefinition instances), and then proceeds exactly the same way as if it had loaded the serialized definitions in the first place.
> > - Bert -
> The obvious error with that is that other versions of Smalltalk exist. People with completely different Smalltalks which do not all have Monticello, as well as different forks of Squeak like Cuis should be given equal access to libraries of Smalltalk code. Second there is the completely unnecessary use of the .mcz instead of .zip extension, making it more inaccessible until one is given the simple conversion. Third, it is not obvious that a person with an older version of Squeak, with years of personal new code added, will have compatibility with a binary object, or be able to update the code if needed, from a binary form. Compile speed is inconsequential to the speed of locating a potentially valuable project in the library.
Change sets do not scale. Cuis has a single gate keeper, and rather few contributors. MC was created to allow distributed development in a larger community, and it works much better for that than a changeset stream.
Also, with something like MCLoader it is trivial to read MC files in derivatives that do not have the full Monticello.
We may be looking for something even better than Monticello, but we will not be going back to changesets.
> Thus Monticello as currently defined is a hindrance to the greater Smalltalk community and unnecessary to Squeak.
It is understandable that as a newcomer you cannot cannot know this. But Monticello is quite the opposite. It has allowed us to work together in a group without placing undue burden on any single person. As such it enabled our community, it did not hinder it.
In any case the file format will be the least of your concerns when trying to use code across various Smalltalks. But keep trying, it's fun.
- Bert -
More information about the Squeak-dev