Re: TeX and Pascal [was Re: The joy of FORTRAN]

Liste des GroupesRevenir à ol misc 
Sujet : Re: TeX and Pascal [was Re: The joy of FORTRAN]
De : Pancho.Jones (at) *nospam* proton.me (Pancho)
Groupes : alt.folklore.computers comp.os.linux.misc
Date : 01. Oct 2024, 15:57:36
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vdh2l1$2p7e2$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Mozilla Thunderbird
On 9/30/24 22:19, Lawrence D'Oliveiro wrote:
On Mon, 30 Sep 2024 10:24:30 +0100, Pancho wrote:
 
On 9/30/24 00:15, Lawrence D'Oliveiro wrote:
>
C3 linearization
>
Never heard of that before. It sounds far to difficult to understand in
practice.
 But it makes the difference between multiple inheritance that
bewilders and confuses people, and multiple inheritance which makes
sense. It’s what lets Python have multiple inheritance that makes
sense.
Single inheritance bewilders and confuses people, that is why we have rules for good practice to favour composition over inheritance, to avoid obscuring what the code does. The idea being to avoid deep hierarchies.
There is a difference between a consistent implementation of multiple inheritance and something that people actually understand when coding, or maintaining code.
In essence just because you can do something clever, doesn't mean you should.

 Think about why languages like Java and PHP avoided multiple
inheritance, and substituted those lame “interfaces” instead: it was
to avoid this bewilderment and confusion that is known to plague C++,
because the right solution wasn’t known at the time.
 
I quite like interfaces, polymorphism through interfaces. I was generally happier to do a bit of extra code, reimplementing a conflicted interface than I would be having to understand a clever linearization (total ordering).
However I never developed libraries and so so these concepts may be less important for me. There may be pathological cases where it is sensible.

Once you read the description, you realize it’s the only right way to
do things, and you wonder why everybody wasn’t already doing it this
way.
 Here is the paper: “A Monotonic Superclass Linearization for Dylan”
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1&type=pdf>
I had a look, it would take me a while to work through the algorithm, establish how the ideas sit in the more common language of DAGs and graph theory. If there is a significant difference that requires new terms such as monotonic.
And, ... that is all hugely easier than considering if this might be a good thing to do in code. Above my pay grade.

Date Sujet#  Auteur
7 Jul 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal