Categories
Bits & Bytes

Subtyping für Werte: Mehr Ausdrucksstärke, mehr Sicherheit

Exzellenter Artikel von Beate Ritterbach (https://heise.de/-3273406) über die Ambivalenz objekt-orientierter Hochsprachen insbesondere wenn es um das Thema Vererbung geht. Hier werden Problemmuster erwähnt auf die ich schon in ähnlicher Weise gestossen bin. Bei OOP kommt es häufig zu zwei Extremen, entweder Vererbung wird ganz ignoriert oder sie wird mißbräuchlich verwendet, einfach aus Unkenntnis der doch recht diffusen und schwer greifbaren Regeln die dahinter stehen.
Hier sehr schön als Injektivität und Verhaltenskomformität beschrieben, übrigens die Verwendung mathematischer Begriffe als Analogie finde ich sehr gelungen. Bei Verhaltenskonformität z.B. spreche ich oft von kommutativen Operationen.
Auch das Kapitel über Gleichheit ist hochinteressant denn häufig wird es falsch implementiert weil der Unterschied zwischen identischen Instanzen und Instanzen mit identischem Inhalt nicht deutlich ist. Das Gleiche ist eben nicht dasselbe 🙂

By вяоӣсо

I'm a computer kid of the 80', not born but raised in good old' germany, playin' games, makin' music & lovin' the blues. My career started at an age of 10 in a shopping mall where they sold computers too. It was the first time ever i've seen such an electronic monster and was fascinated instantly.
Later on i've learned my first programming skills (Basic) with a friend's Sinclair ZX 81. Yes, that one with the strange plastics keyboard. After that i got some experience with a Schneider CPC464 and the Commodore C64 until i fell in love with the Commodore Amiga, a machine with 4096 different colors which sounds nowadays to most like black'n'white tv's sounded to me at that time.
We played a lot of games like Decathlon, The Last V8, Impossible Mission, Elite, Mega'lo'Mania, Xenon, Speedball or Chaos Engine and ruined a lot of those Competition Pro Joysticks. My favourites were mostly games by Sensible Software, Bitmap Brothers or Rainbow Arts.
What i liked the most about that machine was it's AmigaOS, it's operating system was ahead of it's time. On this machine i learned my first assembler language (m68k) and the hardware internas.
I watched the decline of Commodore with a tear in my eye and at some point i went over to usual business and my first PC and learned it's beastly manners.