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

Lojza

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #60 kdy: 23. 12. 2018, 15:51:59 »
jeste bych se rad zeptal pro naprosto zakladni ucely povazujete za lepsi scriptovani v shellu s vyuzivanim vsech jednoucelovych unix (linux) commands, nejen tech co jsou napr. v bashi nebo je pro takove skriptovani vhodnejsi treba python


s ohledem na shora uvedene mi jde predevsim o to, ktera syntaxe je jednodussi pro bezneho neprogramatora jako ja resp. mnozstvi commands jez muzu rovnou volat z terminalu je proste mnohem vyssi a tim padem mene pracnejsi nez si to psat sam v pythonu ?


Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #61 kdy: 23. 12. 2018, 17:25:42 »
s ohledem na shora uvedene mi jde predevsim o to, ktera syntaxe je jednodussi pro bezneho neprogramatora
Programování v shellu je paradoxně ve finále hodně složité, protože můsíš vědět o spoustě různých edge cases a musíš je nějak ošetřit (což je typicky netriviální a krkolomné). Stupidní příklad: nemůžeš jenom tak napsat "for file in $(ls)", protože to nebude fungovat pro soubory s mezerou v názvu.

Shell je prostě to svou podstatou (předávání jenom textu) hodně omezený/komplikovaný.

Kit

Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #62 kdy: 23. 12. 2018, 19:12:35 »
jeste bych se rad zeptal pro naprosto zakladni ucely povazujete za lepsi scriptovani v shellu s vyuzivanim vsech jednoucelovych unix (linux) commands, nejen tech co jsou napr. v bashi nebo je pro takove skriptovani vhodnejsi treba python

Záleží na tom, co chceš skriptovat. Pro práci se soubory mi například vyhovuje shell. Jak jeho název napovídá, je to jen obálka, která toho moc neumí a na spoustu akcí je třeba zavolat externí příkaz. Pokud potřebuji něco spočítat, tak je vhodné zavolat třeba bc nebo zmíněný Python. Jenže pokud už ten Python voláš, tak v něm často můžeš zpracovat celou úlohu, obvykle s menší režií.

Jako výchozí tedy používám shell, ale při jakékoli komplikaci neváhám sáhnout po nějakém externím nástroji, například bc, awk, jq, xmllint, xqilla, xsltproc apod.

Neviditelný

Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #63 kdy: 23. 12. 2018, 20:05:14 »
Na cokoliv netriviálního beru Python raději než shell. Oproti shellu má daleko méně zákeřnou syntaxi a jakoukoliv chybu lze z backtracu vyčíst během pár okamžiků. Pokud se člověk trochu snaží, může pythoní skript jednoduše přenést i tam, kde UNIXový shell není.

PeterTN

Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #64 kdy: 23. 12. 2018, 20:28:50 »
Pre mna absolutne dokonala je syntax zalozena na C, teda C++, C#, Java, čiastočne JScript. Úplne opačný extrém napríklad dnes už raritný Progress ABL. Napríklad deklarácia premennej typu integer:
C: int ix;
Progress ABL: DEFINE VARIABLE ix AS INTEGER NO-UNDO.


kate

Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #65 kdy: 23. 12. 2018, 20:39:35 »
Pre mna absolutne dokonala je syntax zalozena na C, teda C++, C#, Java, čiastočne JScript. Úplne opačný extrém napríklad dnes už raritný Progress ABL. Napríklad deklarácia premennej typu integer:
C: int ix;
Progress ABL: DEFINE VARIABLE ix AS INTEGER NO-UNDO.

Zvlášť NO-UNDO lidi docela udivuje :D Vzhledem k provázanosti ABL s databází Progress totiž podléhají rollbacku při vrácení databázové transakce i proměnné, které byly v rámci transakce změněny.
Doteď nechápu, proč neurčili jako default NO-UNDO a nedali možnost měnit to naopak keywordem UNDO :)

Navíc se dá proměnné přiřadit i formátování, název sloupce pokud ji chci zobrazit v tabulce…

Inkvizitor

Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #66 kdy: 23. 12. 2018, 20:57:25 »
jsem jen domaci hobik co by si rad nekdy neco zkusil, prinejhorsim nejake jednoucelove malinke aplikace nebo dokonce jen skripty, nebude mne to nikdy zivit, co bych se rad naucil je schopnost vyuzivat knihoven Pypi kterych je pro python pres 100.000 a vyuzivat "jiz hotove" k dosazeni sveho ucelu


muj programovaci jazyk snu je jazyk ktery uz ma na vsechno podstatne vestavene funkce atd... (nebo staci dat import standardni knihovny) a staci ty zabudovane ci importovane funkce atd.. jen volat (cili krome zakladni znalosti pythonu by mi stacilo si vzdy nastudovat standardni knihovnu a dalsi co chci pouzit abych to "jiz hotove"  umel spravne pouzit (napr. upravit datove typy, jmena funkci atd..) event. jen lehce upravit aby to plnilo mnou pozadovany cil

Poradím Ti - pokud chceš něco dělat dobře, budeš se to muset nějakou dobu učit. Problém není v nástroji, ale v Tobě. Buď se tomu věnuj pořádně, nebo jdi od toho. Syntaxe Pythonu je až směšně jednoduchá, u spousty dalších jazyků platí totéž. Ale naučit se myslet jako programátor a tu syntaxi si do toho myšlení dosadit, to chce práci.

Lojza

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #67 kdy: 23. 12. 2018, 21:05:41 »
to mas pravdu mam problem s trpelivosti, jak to nepochopim hned tak mam tendenci to preskocit .. budu muset byt mnohem vic trpelivy a jit pomaleji ..

Inkvizitor

Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #68 kdy: 23. 12. 2018, 21:10:42 »
to mas pravdu mam problem s trpelivosti, jak to nepochopim hned tak mam tendenci to preskocit .. budu muset byt mnohem vic trpelivy a jit pomaleji ..

V tomhle nejsi sám, leckdo začínal programovat tak, že napsal řádek a s napětím čekal, jestli se to zkompiluje a jak to pak bude fungovat. Ale to bylo (u mě) v Céčku (když nepočítám Basic a trochu Pascalu). Pak se z toho stane rutina, člověk má ty věci v krvi a samozřejmě se naučí větší kázni a promýšlení, než začne kódovat.

UPC manager

Re:Proc je syntaxe programovacich jazyku tak slozita ?
« Odpověď #69 kdy: 23. 12. 2018, 21:16:42 »
Nevím přesně jak daleko jsi ve schopnosti algoritmizace problému, ale pokud tě trápí syntaxe příkazů, můžeš zkusit programovat algoritmy ve Scratchi, tam to neřešíš.  :)
Ale je to nástroj především pro výuku, žádný zkompilovaný výsledek ti z něj nevypadne.

jb

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #70 kdy: 23. 12. 2018, 23:05:05 »
Concatenative jazyky (Forth, 4th, 8th, Factor...) take maji minimalni syntaxi. Pozpatku uvazovat naucit se akorat.

Libor

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #71 kdy: 23. 12. 2018, 23:14:18 »
Citace
  Shell je prostě to svou podstatou (předávání jenom textu) hodně omezený/komplikovaný.

Naprosty souhlas. Nicméně pokud člověk přejde ze světa windows a jeho bat/cmd, je shell neskutečně mocný a jednoduchý. Holt, záleží na úhlu pohledu a kontextu. Sorry za offtopic, ale nedalo mi to.

Kit

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #72 kdy: 24. 12. 2018, 00:03:52 »
Concatenative jazyky (Forth, 4th, 8th, Factor...) take maji minimalni syntaxi. Pozpatku uvazovat naucit se akorat.

Kód: [Vybrat]
12 5 6 * + .

Kiwi

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #73 kdy: 24. 12. 2018, 00:54:45 »
Concatenative jazyky (Forth, 4th, 8th, Factor...) take maji minimalni syntaxi. Pozpatku uvazovat naucit se akorat.

Kód: [Vybrat]
12 5 6 * + .
Má to své kouzlo...
Kód: [Vybrat]
: FACTORIAL ( n - n! )  ?DUP IF  1- RECURSE *  ELSE 1 THEN ;

Kiwi

Re:Proč je syntaxe programovacích jazyků tak složitá?
« Odpověď #74 kdy: 24. 12. 2018, 00:58:04 »
za IF ještě DUP