Squeak size history

PhiHo Hoang phiho.hoang at rogers.com
Sat Dec 14 08:02:05 UTC 2002


> Little Smalltalk 4 has only 54 classes 

    I just wonder how did they cheat !

    According to the lab result FedEx just delivered.

    Based on SqueakScript species, to have a truly minimal image 
    with just ProtoObject and Metaclass, the followings are also needed:

         Array,  Array class
         ArrayedCollection,  ArrayedCollection class
         Behavior,  Behavior class
         Class,  Class class
         ClassDescription,  ClassDescription class
         Collection,  Collection class
         Dictionary,  Dictionary class
         Metaclass,  Metaclass class
         MethodDictionary,  MethodDictionary class
         Object,  Object class
         ProtoObject,  ProtoObject class
         SequenceableCollection,  SequenceableCollection class
         Set,  Set class
         String,  String class
         Symbol,  Symbol class
         UndefinedObject,  UndefinedObject class 

    This is just the nucleus ( like a virus, no real life yet.)
    A total of  32.

    The lab also found that we also need to throw in 
    a mitochondrion to make it really alive.

    62 more are needed :

         Association,  Association class
         Bitmap,  Bitmap class
         BlockContext,  BlockContext class
         Boolean,  Boolean class
         ByteArray,  ByteArray class
         Character,  Character class
         ClassOrganizer, ClassOrganizer class
         CompiledMethod,  CompiledMethod class
         ContextPart,  ContextPart class
         FakeSmalltalk,  FakeSmalltalk class
         False,  False class
         Float,  Float class
         IdentityDictionary,  IdentityDictionary class
         InstructionStream,  InstructionStream class
         Integer,  Integer class
         LargeNegativeInteger,  LargeNegativeInteger class
         LargePositiveInteger,  LargePositiveInteger class
         Link,  Link class
         LinkedList,  LinkedList class
         LookupKey,  LookupKey class
         Magnitude,  Magnitude class
         Message,  Message class
         MethodContext,  MethodContext class
         Number,  Number class
         Point,  Point class
         Process,  Process class
         PseudoContext,  PseudoContext class
         Semaphore,  Semaphore class
         SmallInteger,  SmallInteger class
         TranslatedMethod,  TranslatedMethod class
         True, True class

    Out of these 62 extra, since the species does
    not have a head, the following are questionable:

            Bitmap,  Bitmap class
            Point,  Point class

    Did they drag along :

             Float,  Float class
             LargeNegativeInteger,  LargeNegativeInteger class
             LargePositiveInteger,  LargePositiveInteger class

    And for a single free cell, is this needed:

            Semaphore,  Semaphore class

    Before sending this result to "Natural Science", 
    I am asking for help from the list to verify that 
    the result is correct.

    Just wondering how did 'Little Smalltalk 4' do it
    with just 54 classes !

    I want to create a liitle creature that just shows its heart 
    (what's the code for this from Character), and doing nothing else.

    What do I need to put into the pot. 
    How do I make it tick, showing its heart.

    (I met Harry Potter in the Chamber of Secrets
    and he lent me his stirring rod ;-)
     
    Can we trim down specialObjects ? 
    
    Did Little Smalltalk 4 cheat ? How ?

    Your help is very much appreciated.

    Cheers,

    PhiHo.


----- Original Message ----- 
From: "Jecel Assumpcao Jr" <jecel at merlintec.com>
To: <Squeak-dev at lists.squeakfoundation.org>
Sent: Friday, December 13, 2002 12:44 PM
Subject: Squeak size history


> The other day I was comparing different Smalltalks with a friend to see 
> how many classes it takes to have a certain amount of funcionality. For 
> example, Little Smalltalk 4 has only 54 classes while Self 4.1.6 has 
> 917 parent objects (more equivalent to traits than to classes).
> 
> So I took a look at the Squeaks I happened to have on my machine  (using 
> "Metaclass allInstances size"):
> 
> Squeak 1.16: 355 (adds color, sound and vm implementation to Apple 
> Smalltalk-80)
> Squeak 1.18: 305 (HyperSqueak eliminated)
> Squeak 1.19b: won't run (Morphic and sockets added)
> Squeak 1.2: won't run
> Squeak 1.21: 390
> Squeak 1.22: 398
> Squeak 1.23: 403
> Squeak 1.3: 482 (jitter, links in source, more music, more morph and a 
> wikiwiki server)
> Squeak 1.31: 496 (bug fixes)
> Squeak 2.0: 512 (pluggable views, auto updates, MIDI)
> Squeak 2.2: 668 (email and other stuff)
> Squeak 2.3: 782 (vector graphics, web browser)
> Squeak 2.5: 1006 (IRC, eToys, 3D+Alice)
> Squeak 2.6: 1089 (plugins)
> Squeak 2.7: 1170 (speech, several goodies)
> Squeak 3.0: 1546 (morphic now default UI, Nebraska)
> Squeak 3.1: 1811 (handwriting recognition, StarSqueak, MPEG player)
> 
> -- Jecel
> 
> 



More information about the Squeak-dev mailing list