Sujet : Re: Joy of this, Joy of that
De : Pancho.Jones (at) *nospam* proton.me (Pancho)
Groupes : comp.os.linux.miscDate : 23. Nov 2024, 09:26:26
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vhs3ji$1kb5c$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
User-Agent : Mozilla Thunderbird
On 11/23/24 01:41, Lawrence D'Oliveiro wrote:
On Sat, 23 Nov 2024 01:08:16 +0000, Pancho wrote:
On 11/23/24 00:44, Lawrence D'Oliveiro wrote:
>
On Fri, 22 Nov 2024 23:07:19 +0000, Pancho wrote:
>
I learnt Smalltalk before I learnt C.
>
Smalltalk is an interesting language. But I think it’s considered a
little too unconventional these days ...
>
Does it do multiple inheritance? I can’t remember.
>
No, not that I remember. Classes, Metaclasses, Single inheritance, very
clean.
“Metaclasses” were just a bit of a hack to implement what Python would
call “classmethods”.
I think the Smalltalk idea of treating classes as objects, is the opposite of a hack. It is a very clean and simple idea. Even today I still think metaclasses are the easiest way to imagine some behaviour of OO languages.
I would say C++ static methods and static variables are a hack. C# type reflection is a hack. Just as value types are a hack in C#. Things that are sensible for performance reasons, but that add complexity.
It was easy to see where Python metaclasses came from.
Python also has “metaclasses”, in the sense that
classes, being first-class objects, must be instances of something -- and
that something is the metaclass.
Not sure if any other language has that meaning for “metaclass”.
I think Smalltalk was more a teaching tool rather than anything
people used commercially
I’m pretty sure it has been used commercially, back in the 1980s or
so, maybe even the 1990s.
Probably, just as some people program in Haskell or Prolog.