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