I'm not sure what "descendants of Smalltalk-80" means.
Surely it should include VisualWorks (2994 classes)
and GNU Smalltalk (248 classes in the kernel)
and Dolphin Smalltalk (2164).
My Smalltalk is recognisably a descendant of Smalltalk-80,
and the test build has 985 classes

I'm not sure what the number of classes means either.
The number of classes in a classic Smalltalk-80 image is
well-defined, but with repository access like Iceberg, it
is feasible to have a lot of stuff outside the core.
The figure for GNU Smalltalk is deceptive because
the UI kit, XML support, I18N support, Sockets, and a
lot of other stuff are outside its kernel.  VW comes with
a bunch of "parcels": XML, XPath, XSL, oodles of
tools including UI painter, data base interface, &c out of
the image (so not counted above) but available with a few
mouse clicks.  Pharo and Squeak can install a grreat
deal of stuff from their repositories.  Dolphin comes with
another 900-odd easily installable contributed classes.

Given the number of different things we want to interface to
these days, including but in no way limited to TCP, UDP, SCTP,
FTP(S), HTTP(S), (X)HTML,XML,assorted XML addons, YAML,
TOML, JSON, BERP, ASN.1, SQL, assorted No-SQL systems,
too many audio formats, too many image formats, too many
video formats, too many compression schemes, too many
versions of Markdown (and close relatives), a character set
standard that grows rapidly and requires a book of 1030
pages to describe it -- that's exclusive of code charts -- and
all the other delirious warty melons one needs to interface to
these days, and I don't believe we *can* have a minimal class
library.  I mean, it takes me 28 classes just to deal with core
XML, and I insist that every class be worth its pay.

The best we can hope for is something in the Spoon mould,
where you have in the low hundreds of classes, some of which
(arithmetic, collections, streams, perhaps geometric objects)
can be understood in full by programmers, some of which
(compiler, network, file system) have *interfaces* that programmers
can understand but whose implementation they seldom bother
about, then an middle layer of packages providing things like
audio, images, video, compression, encryption, Markdown,
whatever, that are normally held locally and possibly auto-loaded,
then an outer layer of repositories.

Smalltalk is simple enough, it's just that things we need to talk to
are insanely complex.  (Hands up everyone who has actually read
the whole of the Unicode standard.  Oh well done.  Now put your
hand down if you have *understood* the whole of it.  Nobody with
a hand up?  Well I never.)
understand

On Thu, 16 Apr 2020 at 22:46, Hilaire <hila...@drgeo.eu> wrote:
>
> As a matter of fact it is interesting to compare the number of classes
> in the last releases of the descendants of Smalltalk 80:
>
>   * Cuis5 (480 classes),
>   * Squeak 5.2 (2713 classes)
>   * Pharo8 (*9084 *classes)
>
> I don't think the last Pharo vision statement:
>
>     /A system with robust abstractions that a single person can understand./
>
> is in anyway realistic.
>
> Now, will Pharo9 reach the sky with *10'000* classes? Very likely if you
> observe the graph below:
>
> Hilaire
>
> Le 13/04/2020 à 14:30, Cédrick Béler a écrit :
> > Just a reflexion that I’d like to share here.
> > When Hilaire talks about complexity. I have to agree too, even if I
> > like the progress under the hood, and explored spaces like GToolkit.
> >
> --
> Dr. Geo
> http://drgeo.eu
>
>
>

Reply via email to