Prečo nie je Lisp populárnejší?

Zopper

  • *****
  • 1 041
Re:Prečo nie je Lisp populárnejší?
« Odpověď #75 kdy: 06. 11. 2025, 16:45:43 »
Citace od: BoneFlute kdy 06. 11. 2025, 16:30:06
Citace od: xyz kdy 06. 11. 2025, 14:53:49
Clovek nema vubec mentalni kapacitu cist prefixove vyrazy. Uz jen takovyhle jednoduchy vyraz da praci. To, ze je to vyhodne pro pocitace je jina vec (lispovsky S-vyrazy).

Priklad:
^ * + 5 2 - 6 3 2

coz je

((5+2)*(6-3))^2

Dobrý postřeh. Samozřejmě jsem to hned zkusil. Překvapivě se mi to čte dobře, ani ty závorky nepotřebuju. Nejvíc mě trklo, že to vlastně krásně řeší váhání nad prioritami. A vzhledem k tomu, že se nepovažuji za úplně nejvíc geniálního, tak nevím, co si o tom teď mám myslet.
Ehm, já vím, že to tady bude znít trochu jako rouhání, ale mít sny ve strojovém kódu NENÍ normální. :D


Re:Prečo nie je Lisp populárnejší?
« Odpověď #76 kdy: 06. 11. 2025, 16:51:49 »
Citace od: BoneFlute kdy 06. 11. 2025, 16:30:06
Citace od: xyz kdy 06. 11. 2025, 14:53:49
Clovek nema vubec mentalni kapacitu cist prefixove vyrazy. Uz jen takovyhle jednoduchy vyraz da praci. To, ze je to vyhodne pro pocitace je jina vec (lispovsky S-vyrazy).

Priklad:
^ * + 5 2 - 6 3 2

coz je

((5+2)*(6-3))^2

Dobrý postřeh. Samozřejmě jsem to hned zkusil. Překvapivě se mi to čte dobře, ani ty závorky nepotřebuju. Nejvíc mě trklo, že to vlastně krásně řeší váhání nad prioritami. A vzhledem k tomu, že se nepovažuji za úplně nejvíc geniálního, tak nevím, co si o tom teď mám myslet.
To vám fakt nevěřím. :) Pro mě by bylo zajímavé sledovat zastánce praktického používání prefixové notace, jak to prakticky používá, tj. jak v tom počítá, upravuje výrazy, řeší rovnice...
Znovu opakuji, že významnou část své profesionální i hobby práce jsem dělal za použití pre- nebo postfixové notace (LISP, Forth, Assembler), ale je rozdíl počítat na papíře a jen výsledek zakódovat do počítače.

Kit

  • *****
  • 1 140
Re:Prečo nie je Lisp populárnejší?
« Odpověď #77 kdy: 06. 11. 2025, 17:13:40 »
Citace od: Jožka Niemand kdy 06. 11. 2025, 16:51:49
Citace od: BoneFlute kdy 06. 11. 2025, 16:30:06
Citace od: xyz kdy 06. 11. 2025, 14:53:49
Clovek nema vubec mentalni kapacitu cist prefixove vyrazy. Uz jen takovyhle jednoduchy vyraz da praci. To, ze je to vyhodne pro pocitace je jina vec (lispovsky S-vyrazy).

Priklad:
^ * + 5 2 - 6 3 2

coz je

((5+2)*(6-3))^2

Dobrý postřeh. Samozřejmě jsem to hned zkusil. Překvapivě se mi to čte dobře, ani ty závorky nepotřebuju. Nejvíc mě trklo, že to vlastně krásně řeší váhání nad prioritami. A vzhledem k tomu, že se nepovažuji za úplně nejvíc geniálního, tak nevím, co si o tom teď mám myslet.
To vám fakt nevěřím. :) Pro mě by bylo zajímavé sledovat zastánce praktického používání prefixové notace, jak to prakticky používá, tj. jak v tom počítá, upravuje výrazy, řeší rovnice...
Znovu opakuji, že významnou část své profesionální i hobby práce jsem dělal za použití pre- nebo postfixové notace (LISP, Forth, Assembler), ale je rozdíl počítat na papíře a jen výsledek zakódovat do počítače.

Volání funkcí je v prefixové notaci. V matematice používáme i postfixovou notaci a nepřipadá nám to divné. Lisp udělal jen to, že vše sjednotil do prefixové notace, aby to bylo jednodušší.

Wasper

  • ****
  • 263
Re:Prečo nie je Lisp populárnejší?
« Odpověď #78 kdy: 06. 11. 2025, 17:22:39 »
Citace od: listoper kdy 06. 11. 2025, 16:21:46
No ale kdyz si tu prefixovou notaci ozavorkuju tak jako v lispu tak uz se to cte dobre ne?

(^ ( * (+ 5 2) (- 6 3)) 2)

Upřímně, vůbec, ale nějak bych takhle jednoduchý výraz zparsovat dal.
Ale dosaďte si tam cokoli složitějšího (třeba relativistické výpočny jsou známy tím, že se jen těžko vejdou na tabuli posluchárny, aby se v cílovém kroku většina termů vykrátila), veškerá přehlednost se naprosto ztrácí.

Asi jako v němčině, ich habe ....... deset řádků košaté rozvinuté věty ... gehabt, a člověk musí celou dobu držet plný kontext, aby se na konci dozvěděl, které sloveso tam je.

BoneFlute

  • *****
  • 2 155
Re:Prečo nie je Lisp populárnejší?
« Odpověď #79 kdy: 06. 11. 2025, 17:50:10 »
Citace od: Jožka Niemand kdy 06. 11. 2025, 16:51:49
Citace od: BoneFlute kdy 06. 11. 2025, 16:30:06
Citace od: xyz kdy 06. 11. 2025, 14:53:49
Clovek nema vubec mentalni kapacitu cist prefixove vyrazy. Uz jen takovyhle jednoduchy vyraz da praci. To, ze je to vyhodne pro pocitace je jina vec (lispovsky S-vyrazy).

Priklad:
^ * + 5 2 - 6 3 2

coz je

((5+2)*(6-3))^2

Dobrý postřeh. Samozřejmě jsem to hned zkusil. Překvapivě se mi to čte dobře, ani ty závorky nepotřebuju. Nejvíc mě trklo, že to vlastně krásně řeší váhání nad prioritami. A vzhledem k tomu, že se nepovažuji za úplně nejvíc geniálního, tak nevím, co si o tom teď mám myslet.
To vám fakt nevěřím. :)
Beru na vědomí.

A teď si vemte, že jsem se v té rovnici spletl. Protože jsem četl:
^ * + 5 2 - 6 3 2
jako (5 + 2) * (6 - (3 - 2)) ^ 2
A když jsem si tu chybu uvědomil, tak jsem zaujal postoj, že autor té prefixové rovnice to napsal blbě, protože samozřejmě očekávám, že operátor sežere všechny argumenty až po první operátor. Přišlo mi to jasné a pohodlné.

Co z toho vyvodíme?

Citace od: Jožka Niemand kdy 06. 11. 2025, 16:51:49
Pro mě by bylo zajímavé sledovat zastánce praktického používání prefixové notace, jak to prakticky používá, tj. jak v tom počítá, upravuje výrazy, řeší rovnice...
To asi nejsem.

Třeba jsem ale pozoroval, že funkce jako konstrukt mám hodně pod kůží. Když jsem mé paní vysvětloval něco a používal formulace jako "no to máš jako funkci, že...", tak jsem se zarazil, že na mě blbě kouká. A na druhou stranu, řešit (složitější) matematické rovnice není věc, kterou bych dělal každý den. Možná ani jednou za rok ne.

Principielně proti infixové notaci nic nemám.


BoneFlute

  • *****
  • 2 155
Re:Prečo nie je Lisp populárnejší?
« Odpověď #80 kdy: 06. 11. 2025, 17:53:04 »
Citace od: Zopper kdy 06. 11. 2025, 16:45:43
Ehm, já vím, že to tady bude znít trochu jako rouhání, ale mít sny ve strojovém kódu NENÍ normální. :D

Počítám v hlavě tak, že seskupuji objekty: trojůhelníky, čtverce, krychle, kvádry. Třeba desítka jsou dvě krychle a kvádr. Nevím, jestli je to normální, asi možná spíše ne :-)

Wasper

  • ****
  • 263
Re:Prečo nie je Lisp populárnejší?
« Odpověď #81 kdy: 06. 11. 2025, 18:12:05 »
Citace od: Kit kdy 06. 11. 2025, 17:13:40
Volání funkcí je v prefixové notaci. V matematice používáme i postfixovou notaci a nepřipadá nám to divné. Lisp udělal jen to, že vše sjednotil do prefixové notace, aby to bylo jednodušší.
Mno, a teď teda řekněte, proč v jazycích, které to umožňují, je taková scháňka po přeťěžování infixových oprátorů, pokud je prefix tak výhodnější.
Troufám si tvrdit, že většina programátorů radši napíše s1 + s2 + s3 nez CONCAT(s1, s2, s3), stejně tak Octonion a = b + c a ne Octonion a = ADD(b, c)

Re:Prečo nie je Lisp populárnejší?
« Odpověď #82 kdy: 06. 11. 2025, 19:05:46 »
Citace od: Wasper kdy 06. 11. 2025, 18:12:05
Troufám si tvrdit, že většina programátorů radši napíše s1 + s2 + s3 nez CONCAT(s1, s2, s3), stejně tak Octonion a = b + c a ne Octonion a = ADD(b, c)

Troufam si tvrdit, ze ne...
Aspon ne potom co jim nekdo da tech operandu 1000 (nebo proste n) a rekne jim ze to budou delat na 1000 (M) mistech v aplikaci.

Pak se vsichni zacnou schanet po (prefixove notovane) funkci... nebo si ji napisou...
A my si v lispu proste pouzijeme tu samou jako vzdycky pouzivame pro 2 nebo pro 3 "operandy" (divny tomu rikat operandy kdyz jsou to vlastne argumenty funkce)

BoneFlute

  • *****
  • 2 155
Re:Prečo nie je Lisp populárnejší?
« Odpověď #83 kdy: 06. 11. 2025, 19:09:50 »
Citace od: Wasper kdy 06. 11. 2025, 18:12:05
Citace od: Kit kdy 06. 11. 2025, 17:13:40
Volání funkcí je v prefixové notaci. V matematice používáme i postfixovou notaci a nepřipadá nám to divné. Lisp udělal jen to, že vše sjednotil do prefixové notace, aby to bylo jednodušší.
Mno, a teď teda řekněte, proč v jazycích, které to umožňují, je taková scháňka po přeťěžování infixových oprátorů, pokud je prefix tak výhodnější.
Troufám si tvrdit, že většina programátorů radši napíše s1 + s2 + s3 nez CONCAT(s1, s2, s3), stejně tak Octonion a = b + c a ne Octonion a = ADD(b, c)

A nemůže to být prostě jen tím, že zvyk?

A opravdu je po tom taková scháňka?

Třeba v Haskellu je možné definovat naprosto zběsilé operátory, jako >>=, <$>, *>, >@>, které jsou automatikcy infixové. A autoři knihoven to všelijak používají, s větším či menším úspěchem stran čitelnosti. Ale neřekl bych, že by po tom byla jakože vysloveně poptávka. Spíše, když maj tu možnost, tak to použijou, protože se jim to víc líbí. A nebo třeba taky ne.

Karmelos

  • *****
  • 1 374
Re:Prečo nie je Lisp populárnejší?
« Odpověď #84 kdy: 06. 11. 2025, 19:14:29 »
Citace od: BoneFlute kdy 06. 11. 2025, 17:53:04
Citace od: Zopper kdy 06. 11. 2025, 16:45:43
Ehm, já vím, že to tady bude znít trochu jako rouhání, ale mít sny ve strojovém kódu NENÍ normální. :D

Počítám v hlavě tak, že seskupuji objekty: trojůhelníky, čtverce, krychle, kvádry. Třeba desítka jsou dvě krychle a kvádr. Nevím, jestli je to normální, asi možná spíše ne :-)

Podle mě mít v hlavě blockout normální není. ale je to roztomilý  ;D
Gréta je nejlepší.

Re:Prečo nie je Lisp populárnejší?
« Odpověď #85 kdy: 06. 11. 2025, 19:39:20 »
Citace od: Kit kdy 06. 11. 2025, 17:13:40
Volání funkcí je v prefixové notaci. V matematice používáme i postfixovou notaci a nepřipadá nám to divné. Lisp udělal jen to, že vše sjednotil do prefixové notace, aby to bylo jednodušší.
Jednodušší to je, ale pro počítač, nikoli pro člověka. Nemám problém s převody mezi jednotlivými formami zápisu, stejně jako nemám problém převádět mezi sebou arabská a římská čísla. Ale provádět aritmetické operace v římských číslech bych nedával.

Citace od: listoper kdy 06. 11. 2025, 19:05:46
A my si v lispu proste pouzijeme tu samou jako vzdycky pouzivame pro 2 nebo pro 3 "operandy" (divny tomu rikat operandy kdyz jsou to vlastne argumenty funkce)
Tak třeba pro mě to žádná extra-podivná věc nebyla, když jsem se učil LISP, protože po BASICu byl mým druhým jazykem Assembler, který je ve většině případů taky prefixový, a zhruba současně s Pascalem jsem se učil Forth - takže postfix. Ale znova - jedna věc je pouhý zápis, druhá věc je aktivní používání a myšlení. Že dokážu i docela složitý výpočet napsat v Assembleru ještě neznamená, že bych chtěl upravovat výrazy v intencích ADD, MUL, DIV...

Citace od: BoneFlute kdy 06. 11. 2025, 17:50:10
Beru na vědomí.

A teď si vemte, že jsem se v té rovnici spletl. Protože jsem četl:
^ * + 5 2 - 6 3 2
jako (5 + 2) * (6 - (3 - 2)) ^ 2
A když jsem si tu chybu uvědomil, tak jsem zaujal postoj, že autor té prefixové rovnice to napsal blbě, protože samozřejmě očekávám, že operátor sežere všechny argumenty až po první operátor. Přišlo mi to jasné a pohodlné.

Co z toho vyvodíme?.
Že buď budeme důsledně používat závorky jako v LISPu, nebo operátory s konstantním počtem operandů jako ve Forthu.  ;)

Wasper

  • ****
  • 263
Re:Prečo nie je Lisp populárnejší?
« Odpověď #86 kdy: 06. 11. 2025, 19:52:38 »
Citace od: BoneFlute kdy 06. 11. 2025, 19:09:50
A nemůže to být prostě jen tím, že zvyk?
Může, a patrně to tak bude. Ale zase, dostáváme se zpátky k tématu - proč je to tak málo rozšířené. Protože se to zvykem (potažmo to prvně muselo vyhovovat) jen menší části lidí. Částečně to mohou být osobní preference, částečně třída úloh...

Tím neříkám, že je to špatně, naopak. Špatně mi přijdou jen snahy vnucovat prefix notaci "prašivým civilistům" (viz 2-3 stránka cca).

Wasper

  • ****
  • 263
Re:Prečo nie je Lisp populárnejší?
« Odpověď #87 kdy: 06. 11. 2025, 19:57:44 »
Citace od: Karmelos kdy 06. 11. 2025, 19:14:29
Podle mě mít v hlavě blockout normální není. ale je to roztomilý  ;D
Mě to teda normální připadne, a k tomu navíc i zajímavé. Asi tím dost odbíháme od tématu, ale zdánlivě triviální otázka, jak funguje mozek ostatních lidí je ve skutečnosti dost netriviální, a málokdo o tom tuší, že to ostatní mohou mít jinak.
Jen takových pár hintů (vše u zdravých lidí):
Máte "vnitřní hlas"? Jak přesně počítáte do deseti? Jakou metodou sčítáte/násobíte? Co (ne)vidíte ve tmě, když zavřete oči?

Kit

  • *****
  • 1 140
Re:Prečo nie je Lisp populárnejší?
« Odpověď #88 kdy: 06. 11. 2025, 20:07:58 »
Citace od: Wasper kdy 06. 11. 2025, 18:12:05
Citace od: Kit kdy 06. 11. 2025, 17:13:40
Volání funkcí je v prefixové notaci. V matematice používáme i postfixovou notaci a nepřipadá nám to divné. Lisp udělal jen to, že vše sjednotil do prefixové notace, aby to bylo jednodušší.
Mno, a teď teda řekněte, proč v jazycích, které to umožňují, je taková scháňka po přeťěžování infixových oprátorů, pokud je prefix tak výhodnější.
Troufám si tvrdit, že většina programátorů radši napíše s1 + s2 + s3 nez CONCAT(s1, s2, s3), stejně tak Octonion a = b + c a ne Octonion a = ADD(b, c)

Obávám se, že taková sháňka po přetěžování infixových operátorů nebude. Zkusil jsem si je v Pythonu a zjistil jsem, že se to hůř čte. Chápu + pro spojování řetězců, tam se to hodí a CONCAT(s1, s2, s3) mi také není moc sympatický, ale zápis (Octonion a (+ b c)) mi přřipadá docela hezký.

Re:Prečo nie je Lisp populárnejší?
« Odpověď #89 kdy: 06. 11. 2025, 21:18:57 »
Citace od: Jožka Niemand kdy 06. 11. 2025, 16:51:49
Znovu opakuji, že významnou část své profesionální i hobby práce jsem dělal za použití pre- nebo postfixové notace (LISP, Forth, Assembler), ale je rozdíl počítat na papíře a jen výsledek zakódovat do počítače.

Na HPčkách se postfix používá běžně a dělalo s tím několik generací účetních atd., bylo to dost populární (a navíc i ekonomičtější, míň keystroků)