Deutsch   English   Français   Italiano  
<vhs3ji$1kb5c$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Pancho <Pancho.Jones@proton.me>
Newsgroups: comp.os.linux.misc
Subject: Re: Joy of this, Joy of that
Date: Sat, 23 Nov 2024 08:26:26 +0000
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <vhs3ji$1kb5c$1@dont-email.me>
References: <vhigot$1uakf$1@dont-email.me>
 <6iKdnTQOKNh6AqD6nZ2dnZfqn_idnZ2d@earthlink.com>
 <20241120081039.00006d2a@gmail.com> <vhlium$93kn$1@dont-email.me>
 <vhmprp$iaf1$1@dont-email.me>
 <LASdnSkA69I3yKL6nZ2dnZfqnPWdnZ2d@earthlink.com>
 <vhoeap$r8gq$2@dont-email.me> <vhpmq3$14s79$2@dont-email.me>
 <vhq1f7$16bou$1@dont-email.me> <vhqm4g$1aarf$1@dont-email.me>
 <vhr2r7$1cdln$1@dont-email.me> <vhr8hh$1ddh7$2@dont-email.me>
 <vhr9u1$1dh3s$1@dont-email.me> <vhrbsr$1dqca$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 23 Nov 2024 09:26:27 +0100 (CET)
Injection-Info: dont-email.me; posting-host="0996b149b2c257ae77a172fc1c1f1afd";
	logging-data="1715372"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18Pc3P3XlUmNTJf5ij/yl3w6j6nOeLh3mo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:tLpOc9QOziLpzCm7Prbhqbw7x0c=
Content-Language: en-GB
In-Reply-To: <vhrbsr$1dqca$2@dont-email.me>
Bytes: 3116

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.