Proč je syntaxe programovacích jazyků tak složitá?

Neviditelný

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #165 kdy: 27. 12. 2018, 16:25:11 »
...
To je ale pravda jenom pro porovnani, '\0' a NULL budou mit hodne pravdepodobne jinou delku, pokud bude napr. funkce s promennym poctem argumentu zakoncena NULL (hojne pouzivano), nebude to pri zavolani s '\0' fungovat, protoze bude mit pravdepodobne kratsi delku.
Do mufloních vemen, vy tomu dáváte... '\0' má velikost charu, NULL má velikost ukazatele; to tu nikdo nerozporoval. Pokud je přetypuješ na stejný typ - což ten Mlocikův kód, který tuhle dávící soutěž odstartoval implicitně dělá, protože je napsán v C - bude mít výsledek pro oba přesně stejnou hodnotu i velikost. To je, oč tu celou dobu šlo. Jasné, soudruzi?


adam

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #166 kdy: 27. 12. 2018, 16:39:39 »
No dobre, na tom se muzeme urcite shodnout (ze '\0' == NULL == 0), alespon pro C99 a vsechny dnes pouzivane architektury, ja jenom reagoval na to
Citace
NULL a '\0' se budou efektivně lišit jen tehdy, pokud bude NULL definováno na něco jiného než (void *)0, což jsem chtěl ukázat.
kdo se ma vyznat v tom co se tady puvodne resilo, kdyz to ma 10 stranek.

Kit

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #167 kdy: 27. 12. 2018, 17:56:42 »
... '\0' má velikost charu, NULL má velikost ukazatele; to tu nikdo nerozporoval. Pokud je přetypuješ na stejný typ - což ten Mlocikův kód, který tuhle dávící soutěž odstartoval implicitně dělá, protože je napsán v C - bude mít výsledek pro oba přesně stejnou hodnotu i velikost. To je, oč tu celou dobu šlo. Jasné, -censored-?

Takže se celou dobu bavíme o implicitní přetypování, které je tolik vyčítáno např. PHP, ale v C je tak nějak tolerováno. Nízkoúrovňovým jazykům (mezi něž patří i C) je toho tolerováno docela dost a zřejmě je to tak správně.

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #168 kdy: 27. 12. 2018, 19:48:17 »
... '\0' má velikost charu, NULL má velikost ukazatele; to tu nikdo nerozporoval. Pokud je přetypuješ na stejný typ - což ten Mlocikův kód, který tuhle dávící soutěž odstartoval implicitně dělá, protože je napsán v C - bude mít výsledek pro oba přesně stejnou hodnotu i velikost. To je, oč tu celou dobu šlo. Jasné, -censored-?

Takže se celou dobu bavíme o implicitní přetypování, které je tolik vyčítáno např. PHP, ale v C je tak nějak tolerováno. Nízkoúrovňovým jazykům (mezi něž patří i C) je toho tolerováno docela dost a zřejmě je to tak správně.
Pokud vím, implicitní konverze v c tu nikdo nepopíral, jsou v popisu jazyka popsány a kdo s nimi počítá, neměl by mít problémy...

Lama

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #169 kdy: 27. 12. 2018, 20:23:21 »
(Ale není. (Složitá. (Ta syntaxe. (Těch jazyků. (Programovacích.)))))


Kit

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #170 kdy: 27. 12. 2018, 20:36:37 »
(Ale není. (Složitá. (Ta syntaxe. (Těch jazyků. (Programovacích.)))))

V Lispu je vlastně jen jedno syntaktické pravidlo - závorky musí být párové. Ovšem z toho tvého zápisu by zřejmě byl zmatený i Mistr Yoda.

Mlocik97

  • *****
  • 901
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #171 kdy: 27. 12. 2018, 20:44:47 »
(Ale není. (Složitá. (Ta syntaxe. (Těch jazyků. (Programovacích.)))))

a to jako píšeš tie zátvorky náhodne? toto nemá logiku... zato zátvorky v Céčku, JS, Scale, Go, atd, zmysel majú.

Kit

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #172 kdy: 27. 12. 2018, 21:08:45 »
(Ale není. (Složitá. (Ta syntaxe. (Těch jazyků. (Programovacích.)))))
a to jako píšeš tie zátvorky náhodne? toto nemá logiku... zato zátvorky v Céčku, JS, Scale, Go, atd, zmysel majú.

Tohle jsou lispové závorky. Lisp to normálně akceptuje jako platný výraz. Vyzkoušeno.

Mlocik97

  • *****
  • 901
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #173 kdy: 27. 12. 2018, 21:17:44 »
(Ale není. (Složitá. (Ta syntaxe. (Těch jazyků. (Programovacích.)))))
a to jako píšeš tie zátvorky náhodne? toto nemá logiku... zato zátvorky v Céčku, JS, Scale, Go, atd, zmysel majú.

Tohle jsou lispové závorky. Lisp to normálně akceptuje jako platný výraz. Vyzkoušeno.

Díky za varovanie, zapisujem si ďalší jazyk na čierny papier.

BaldSlattery

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #174 kdy: 27. 12. 2018, 21:40:11 »
(Ale není. (Složitá. (Ta syntaxe. (Těch jazyků. (Programovacích.)))))
a to jako píšeš tie zátvorky náhodne? toto nemá logiku... zato zátvorky v Céčku, JS, Scale, Go, atd, zmysel majú.

Tohle jsou lispové závorky. Lisp to normálně akceptuje jako platný výraz. Vyzkoušeno.

Díky za varovanie, zapisujem si ďalší jazyk na čierny papier.
...černou propiskou ::)

Kit

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #175 kdy: 27. 12. 2018, 21:41:36 »
(Ale není. (Složitá. (Ta syntaxe. (Těch jazyků. (Programovacích.)))))
a to jako píšeš tie zátvorky náhodne? toto nemá logiku... zato zátvorky v Céčku, JS, Scale, Go, atd, zmysel majú.
Tohle jsou lispové závorky. Lisp to normálně akceptuje jako platný výraz. Vyzkoušeno.
Díky za varovanie, zapisujem si ďalší jazyk na čierny papier.

V jiném jazyce, například v Javascriptu, bys ten výraz zapsal takto:
Kód: [Vybrat]
Ale(není_, Složitá_(Ta(syntaxe_, Těch(jazyků_, Programovacích_()))))Nemohu za to, že tam Lama napsal tečky, při přepisu jsem je nahradil podtržítky, aby to bylo i v Javascriptu syntakticky správně. Takhle blbě se však neprogramuje ani v Javascriptu, ani v Lispu - sémantiku oba zápisy zcela postrádají.

Když porovnám tyto dva zápisy, tak ten lispový mi připadá mnohem přehlednější. V zápisu nepoužívá čárky a závorka se píše před názvem funkce. Elegance sama. Navíc je ten lispový zápis tak univerzální, že s ním můžeš definovat nejen program, ale i data. Program může za běhu sám sebe modifikovat.

Kadet

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #176 kdy: 27. 12. 2018, 22:08:01 »
Vsichni sardel. Kule.

Tyhle zavorky jsou peklo at uz to jsou S expressions v lispu nebo M expressions nebo obdobnej zapis v algol derivatech (tj. 90% toho co znate).

Kolikrat se vam stalo ze napisete nejakou funkci praveJsemNecoSpocital(x) a chcete to poslat do druhy funkce. Jako debil musim psat druhaFunkce(praveJsemNecoSpocital(x)). Musim hloupe psat kus funkce pred tim puboenim kodem a zavirat zavorku za kodem. Pitomost. Obzvlast kdyz pracuju v REPL modu.
Alespon to muzu v tech algolech ulozit do promenny.

velkyHovno = druhaFunkce(praveJsemNecoSpocital(x))

Peklo je to v SQL, kde aspon v tech novych existuje ochcavka na promenny jmenem CTE, jinak je to absolutne nepouzitelnej pekac.

Idealni zapis je konkatenativni, tj. skladani programu za nebo pred sebe. Tim se vyhnu vsem temhke blbym promennym a psani zavorek jak debo.

Napr. v shellu

cat x | praveJsemNecoSpocital | druhaFunkce > velkyHovno.txt

Nebo jq

x | praveJsemNecoSpocital | druhaFunkce | . as $velkyHovno

Nebo forth

x praveJsemNecoSpocital druhaFunkce velkyHovno !

Nebo APL a derivaty, kde se pise prefixe. misto postfixem

velkyHovno: druhaFunkce praveJsemNecoSpocital x

Uuuu

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #177 kdy: 27. 12. 2018, 22:36:27 »
Vsichni sardel. Kule.

Tyhle zavorky jsou peklo at uz to jsou S expressions v lispu nebo M expressions nebo obdobnej zapis v algol derivatech (tj. 90% toho co znate).

Kolikrat se vam stalo ze napisete nejakou funkci praveJsemNecoSpocital(x) a chcete to poslat do druhy funkce. Jako debil musim psat druhaFunkce(praveJsemNecoSpocital(x)). Musim hloupe psat kus funkce pred tim puboenim kodem a zavirat zavorku za kodem. Pitomost. Obzvlast kdyz pracuju v REPL modu.
Alespon to muzu v tech algolech ulozit do promenny.

velkyHovno = druhaFunkce(praveJsemNecoSpocital(x))

Peklo je to v SQL, kde aspon v tech novych existuje ochcavka na promenny jmenem CTE, jinak je to absolutne nepouzitelnej pekac.

Idealni zapis je konkatenativni, tj. skladani programu za nebo pred sebe. Tim se vyhnu vsem temhke blbym promennym a psani zavorek jak debo.

Napr. v shellu

cat x | praveJsemNecoSpocital | druhaFunkce > velkyHovno.txt

Nebo jq

x | praveJsemNecoSpocital | druhaFunkce | . as $velkyHovno

Nebo forth

x praveJsemNecoSpocital druhaFunkce velkyHovno !

Nebo APL a derivaty, kde se pise prefixe. misto postfixem

velkyHovno: druhaFunkce praveJsemNecoSpocital x

Ty jsi kokot.
cat x jsou 4 znaky a dlasi 2 znaky jsou svislice, v tvem prikladu jsou 4 zavorky.
zavorky jsou opravdu zlo, ty hnupe.

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #178 kdy: 28. 12. 2018, 08:42:34 »
Vsichni sardel. Kule.

Tyhle zavorky jsou peklo at uz to jsou S expressions v lispu nebo M expressions nebo obdobnej zapis v algol derivatech (tj. 90% toho co znate).

Kolikrat se vam stalo ze napisete nejakou funkci praveJsemNecoSpocital(x) a chcete to poslat do druhy funkce. Jako debil musim psat druhaFunkce(praveJsemNecoSpocital(x)). Musim hloupe psat kus funkce pred tim puboenim kodem a zavirat zavorku za kodem. Pitomost. Obzvlast kdyz pracuju v REPL modu.
Alespon to muzu v tech algolech ulozit do promenny.

velkyHovno = druhaFunkce(praveJsemNecoSpocital(x))

Peklo je to v SQL, kde aspon v tech novych existuje ochcavka na promenny jmenem CTE, jinak je to absolutne nepouzitelnej pekac.

Idealni zapis je konkatenativni, tj. skladani programu za nebo pred sebe. Tim se vyhnu vsem temhke blbym promennym a psani zavorek jak debo.

Napr. v shellu

cat x | praveJsemNecoSpocital | druhaFunkce > velkyHovno.txt

Nebo jq

x | praveJsemNecoSpocital | druhaFunkce | . as $velkyHovno

Nebo forth

x praveJsemNecoSpocital druhaFunkce velkyHovno !

Nebo APL a derivaty, kde se pise prefixe. misto postfixem

velkyHovno: druhaFunkce praveJsemNecoSpocital x

Všichni kolem jsou debilové, ale s funkcemi víc argumentů tě počítat nenapadlo...

Kit

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #179 kdy: 28. 12. 2018, 13:15:05 »
Napr. v shellu
Kód: [Vybrat]
cat x | praveJsemNecoSpocital | druhaFunkce > velkyHovno.txt
Všichni kolem jsou debilové, ale s funkcemi víc argumentů tě počítat nenapadlo...

Tak zrovna u shellu těch závorek obvykle není moc potřeba, ani když je těch parametrů víc. Akorát všichni víme, jak je v něm snadné střelit se do nohy.