Re: Jádro pudla (Cernobily svet) :-)

Ales Prochaska prochaska@alsoft.cz
Sobota Březen 4 13:17:00 CET 2006


Dovolím si mírně vylepšit:

> 1. (minimalistická) možnost:
> Ukazatel bude opravdový ukazatel, tedy segment a offset, nikoli jen offset,
> offsetová část nemůže být int, ale unsigned int.
> Zároveň ale při použití na platformách bez segmentů musí překladač
> stejný program přeložit klasicky:-)

Ukazatel bude základní, elementarní typ bez definovaných aritmetických
operací (povolena je jen reference a dereference).


> Poznámka: Na C se mi líbí právě ta svoboda, že si člověk může kód napsat jak chce
> (pokud to umí) a neomezují ho šílené kontroly všeho možného i nemožného
> a že zákaldní programové struktury se tvoří jednoduchými znaky a tak se mezi
> nimi neztrácí skutečný program a že se vejde více užitečného kódu na jednu
> obrazovku (zapomnětlivému člověku to velmi zvyšuje přehlednost).
> Taktéž je velmi užitečné, že výsledkem logických operací je číslo (za boolean
> bych střílel:-) ), které můžu klidně sečíst s nějakými dalšími a pak z něj vypočítat
> třeba sinus:-). pokud program počítá něco fyzikálně zajímavějšího, přehlednost
> velmi zvýší rozlišování velkých a malých písmen (chybí mi už jen řecká abeceda).
> Chybí mi ještě nějaký obecný ukazatel, který by adresoval cokoli a to po bajtech.

Svoboda v programování je dobrá, ale k jejímu využití nesmí dojít
náhodně. Stejně pokud potřebuju třeba do stringu uložit int tak mám
asi něco v nepořádku s návrhem programu :-)

Kupodivu třeba v přísně typových jazycích jako je Ada ten obecný
ukazatel je - jen jej musíte volat přes unchecked_allocation, což se
nedá udělat neúmyslně.

Já bych zase střílel za boolean kompatibilní s intem. Vždyť se to dá
zkonvertovat pokud to náhodou potřebuju:

  if natural:(a>b)+natural:(b>c)=2 then

Počítat sin(a==0) svědčí opět o něčem shnilém v návrhu, projektu a
analýze :-)))

> PH

Ales Prochaska







Další informace o konferenci Hw-list