mezi zidli a klavesnici

Milan B. milan na bastl.sk
Úterý Únor 28 10:56:55 CET 2012


On 27.2.2012 21:17, Jan Waclawek wrote:
> Ta logika volby symbolu pre priradenie predsa spociva v snahe o syntakticke aj vizualne odlisenie od znamienka, ktore sa tradicne pouziva na nieco ine.
>
> Tu logiku sformulovali ludia, ktori sa programovaniu a programovacim jazykom venovali dlhsie, hlbsie a vyrazne doslednejsie nez T&K, a to ako reakciu na skusenosti s FORTRANom pri tvorbe ALGOLu (neviem, ci ste to EQ pouzili vedome, ale to je prave operator pre porovnanie vo FORTRANe).
>
> V C je "dodatocnym zlom" aj chapanie priradenia ako vyrazu (ktory ma hodnotu ktora sa da aj dalej vyuzit a to lubovolnym sposobom, nielen na dalsie priradenie);

Priradenie ako vyraz (pod nazvom assignation)  - aj s viacnasobnym 
priradenim - zaviedol Algol68. Ziadni hipici a hackeri, ale docela 
slusna zbierka akademikov na tom pracovala v rokoch 1962 az 1968, nejaky 
ten rok pred vznikom C

Zlozene priradenia - (+=, -= a pod) tiez definoval  Algol68 - zapisovali 
sa ako +:= , -:= (pripadne PLUSAB a MINUSAB, ked sme u toho EQ) a 
podobne. Ale k tomu zaviedol pre scitanie aj opacny smer : +=: ,  -=: 
(PLUSTO) . Budme radi, ze pri navrhu C sa ta druha varianta vynechala.

To len v zaujme historickej presnosti.

>   a neexistencia booleanovskeho typu (ktory bol do C99 pridany len dodatocne a to v nedostatocne imperativnej podobe; napokon "typ" ako taky v C je tiez len take dodatocne praxou vynutena karikatura skutocnych typov), co si priamo vynutilo moznost pouzit lubovolny vyraz v logickych operaciach. Oboje vychadza z "hackerskeho" ducha a zo snahy namapovat operacie co najlepsie na schopnosti strojoveho jazyka PDP-11 (resp. pocitacov danej ery).

Autoinkrement a autodekrement. Co este?

>   Toto je mimochodom tiez princip, ktory "dospeli" tvorcovia programovacich jazykov zavrhli hned v pociatku, v snahe o tvorbu strojovo co najnezavislejsieho (t.j. co najabstraktnejsieho a najprenositelnejsieho) jazyka. Dost typicky fanusikovia jazyka C obe tieto vlastnosti pokladaju za vyhodne a radi ich pouzivaju kedykolvek sa to naskytne.

Strasne rad hovorite o "dospelych" tvorcoch. Lenze mam obavy, ze pod 
"dospelym"  programovacim jazykom si predstavujete didakticku pomocku, 
ktoru vytvoril pod nazvom "Pascal" Niclaus Wirth a jej neskorsie vylepsenia.

Pozrite si ale ako vyzeraju "dospele" jazyky, vytvorene roznymi 
odbornymi komisiami  Napriklad zmieneny Algol68 - som zvedavy, kam by sa 
dostala vacsina :programatorov", co tu na C tolko nadavaju. Alebo aj ta 
zmienovana, trochu poludstena Ada. V porovnani s nimi je C jednoduchy a 
zrozumitelny jazyk. To ze je nad schopnosti mnohych je druha vec -  ale 
tito by uz asi vobec nezvladli koncepty prezentovane tymito "dospelymi" 
jazykmi.

> Dokazom na zlu volbu pre tieto operatory v C je napokon aj samotna tato diskusia.

Jo, jo. Aj o tom, na ktorom konci sa ma vajicko rozbijat sa daju viest 
dlhorocne vojny.  A rovnako zbytocne.

-m-

> wek
>
>
> ----- Original Message ---------------
>> Myslim, ze resite blbosti, proste je to dano takhle syntaxi, := taky
>> nema zadnou logiku. A kdyz by se vymyslelo, ze se bude v C psat EQ tak
>> se misto == bude psat EQ a co?
>



Další informace o konferenci Hw-list