( asch | 2024. 04. 22., h – 23:09 )

Hú, a Mars szondás le se esett nekem! Pedig mennyire kézenfekvő! Tényleg az van, hogy a C fanok írása a saját ellenpropagandájuk.

Akkoriban azon gondolkodtam, hogy hogyan kell jól kezelni a fizikai egységeket programban, és arra jutottam, hogy minden mértékegységnek külön típus kell, és a típusok közötti átváltás explicit cast, ami elvégzi a kellő számítást. És persze ezt a compilernek ki kell kényszeríteni (el is kezdtem egy ilyen nyelvet írni annó).

A típus tehát nem csak az ábrázolás mikéntjét kell hogy tartalmazza (hány bit, integer vagy floating, stb), hanem az érték szemantikáját, azaz a mértékegységét is. Programozónak elsőre fura, de egy fizikusnak ez lenne a természetes. Itt aztán a C programozók egyből felgerjednének, hogy mi az, hogy nem írhatják az inch típusú változó értékét a méter típusúba? Miért nem adhatjuk össze őket? Hiszen mindkettő 32 bites float! Hát igen, de egyszerűen soha nem állhat olyan helyzet elő, hogy értelme volna métert inch-csel összeadni számértéken. Előbb közös mértékegységre kell hozni őket.