Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: balkovic 01. 11. 2025, 12:18:09

Název: Prečo nie je Lisp populárnejší?
Přispěvatel: balkovic 01. 11. 2025, 12:18:09
V diskusii pod jedným Tišníkovým článkom zaznelo niečo na spôsob, že prečo sa vlastne rieši python, keď tu už veľmi dlho máme lisp. Potom som tam napísal, že lebo funkcionálne programovanie a rekurzia, preto sa ujal python a nie lisp...  A Tišník niečo na spôsob, že imperatívne programovanie je v lispe bežné a na školách sa práve tými rekurziami odradzujú študenti.

Ok, tak som si pozrel lisp-y. Existujú celkom slušné implementácie už aj Pre MS-DOS, čo by teoreticky bariéru pre vstup znižovalo. Sú moderné dialekty a runtimy  Scheme/Racket (Racket má dokonca aj typovanú verziu) a potom máme SBCL, čo je slušná implementácia common lispu. Vedel by som si toto predstaviť aj v biznis prostredí.

Killer aplikácie poznám akurát Emacs, Maxima a hru Abuse, potom už nič :)

Otázka znie takto, že prečo sa to vlastne tak málo používa, keď lisp má za sebou dlhú históriu a je to veľmi schopný jazyk/rodina jazykov?


Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: alobalova_ciapocka 01. 11. 2025, 13:22:52
<troling>
Lisp sa pouziva hlavne na trolenie v IT forach.
</troling>
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 01. 11. 2025, 14:12:11
Uživatelé bývají vyděšeni z množství závorek, i když jich bývá méně než v podobném programu napsaném v jiném jazyce.

Zajímavou a rychlou implementací je GNU rep, který se hodí jako generátor čehokoli, třeba webstránek nebo skriptů v jiných jazycích. Dnes se věnuji spíš XML a XSLT, ale podobné aplikace jsem dělal i v Lispu, který je o něco stručnější. XML je zase lepší na provázání s okolním světem a lépe pracuje se znakovými sadami.

Lisp je prostě starší jazyk a je z části nahrazen moderními jazyky. Poslední slovo však ještě neřekl, měl by ho umět každý programátor.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Wasper 01. 11. 2025, 15:08:27
Ok, tak som si pozrel lisp-y. Existujú celkom slušné implementácie už aj Pre MS-DOS, čo by teoreticky bariéru pre vstup znižovalo. Sú moderné dialekty a runtimy  Scheme/Racket (Racket má dokonca aj typovanú verziu) a potom máme SBCL, čo je slušná implementácia common lispu. Vedel by som si toto predstaviť aj v biznis prostredí.

Killer aplikácie poznám akurát Emacs, Maxima a hru Abuse, potom už nič :)
Short answer: Tak si to po sobě přečtěte. Máte před sebou někoho, kdo by si to rád někdy až se bude nudit vyzkoušel, máte cca. večer k tomu, aby si zkusil nějakou kravinu při které ho to chytne tak, že v tom bude pokračovat, a napíšete to takhle, že to odradí i assemblerem odkojené mazáky.  :)

Ne vážně, zkuste napsat (nebo dát link, určitě existuje) nějaký stručný článek s motivací, proč by to člověk zkusit měl. Třeba ten zmíněný Python, i když má miliardy problémů (ne jazyk jako takový, ale ekosystém kolem a zpětná nekompatibilita z něj dělá naprosté peklo), tak by se dalo říct, že se stal prostředkem lepení binárních kusů kódu, které něco dělají v jednom z nejslibnějších oborů současnosti, takže přes vytrvalé nadávání se hodí se s ním seznámit.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Ink 01. 11. 2025, 17:42:11
Není to taková sláva, jak se někteří tváří. Nepřináší nic moc navíc, jen problémy.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 01. 11. 2025, 18:03:02
Není to taková sláva, jak se někteří tváří. Nepřináší nic moc navíc, jen problémy.

Problémy s Lispem nebo s Pythonem? Jaké problémy?
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Ink 01. 11. 2025, 18:12:55
Není to taková sláva, jak se někteří tváří. Nepřináší nic moc navíc, jen problémy.

Problémy s Lispem nebo s Pythonem? Jaké problémy?

Nevlídná syntaxe, horší infrastruktura, méně knihoven. Tu první otázku nechám bez odpovědi, bylo by to nedůstojné řešit.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Radek Miček 01. 11. 2025, 18:23:27
Citace
Otázka znie takto, že prečo sa to vlastne tak málo používa, keď lisp má za sebou dlhú históriu a je to veľmi schopný jazyk/rodina jazykov?

Oblíbenost a rozšířenost technologií nemá nic společného s tím, jak jsou schopné nebo s kvalitou.

Zrovna třeba Python je dosti složitý jazyk a stejně se doporučuje jako jazyk na začátek nebo jako jednoduchý jazyk. Tzn., že to, co lidé tvrdí nebo domnívají se, nemusí být pravda.

Jeden z problémů Lispu bylo IMO to, že špičkové implementace byly často komerční - jako třeba Allegro.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: balkovic 01. 11. 2025, 18:45:34
Short answer: Tak si to po sobě přečtěte. Máte před sebou někoho, kdo by si to rád někdy až se bude nudit vyzkoušel, máte cca. večer k tomu, aby si zkusil nějakou kravinu při které ho to chytne tak, že v tom bude pokračovat, a napíšete to takhle, že to odradí i assemblerem odkojené mazáky.  :)

Ne vážně, zkuste napsat (nebo dát link, určitě existuje) nějaký stručný článek s motivací, proč by to člověk zkusit měl. Třeba ten zmíněný Python, i když má miliardy problémů (ne jazyk jako takový, ale ekosystém kolem a zpětná nekompatibilita z něj dělá naprosté peklo), tak by se dalo říct, že se stal prostředkem lepení binárních kusů kódu, které něco dělají v jednom z nejslibnějších oborů současnosti, takže přes vytrvalé nadávání se hodí se s ním seznámit.

Nebolo ani mojim cieľom niekho motivovať k používaniu lisp-u. Ani v ňom neviem programovať. Jediné že som si dal vyrobiť pár demonštračných príkladov v Chatgpt a tie boli až podozrivo dobre pochopitelné.

Štandardná cesta k učeniu sa programovania je taká, že ponúkneš začiatočníkom nejakú zaujímavú blbostičku a na tej vysvetľuješ koncepty. Napríklad animácia panáčika, rotujúca kocka atď. Lisp uznám, že keď otvorím knihu tak začnú štruktúrovaným programovaním, alebo rekurziou ...  Ako sú to dôležité veci, ale 6 ročnému mne by to nepredali.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: balkovic 01. 11. 2025, 18:49:29
Jeden z problémů Lispu bylo IMO to, že špičkové implementace byly často komerční - jako třeba Allegro.

To je dobrý dôvod.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 01. 11. 2025, 18:53:30
Není to taková sláva, jak se někteří tváří. Nepřináší nic moc navíc, jen problémy.

Problémy s Lispem nebo s Pythonem? Jaké problémy?

Nevlídná syntaxe, horší infrastruktura, méně knihoven. Tu první otázku nechám bez odpovědi, bylo by to nedůstojné řešit.

Tak pokud ti Python nevyhovuje, používej jiný jazyk. Je jich dost.

O nevlídnosti syntaxe Lispu se nedá mluvit. Je totiž až směšně jednoduchá, jednodušší to snad už nejde. Knihovny jsou, ale programátor si zpravidla navrhne svůj jazyk nad Lispem, ve kterém si pak napíše zbytek aplikace. Pokud nevíš, co je CAR a CDR, tak asi netušíš, o čem je řeč.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 01. 11. 2025, 18:57:04
Jeden z problémů Lispu bylo IMO to, že špičkové implementace byly často komerční - jako třeba Allegro.

To je dobrý dôvod.

To byl dobrý důvod. Dnes je částečně freeware.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: xyz 01. 11. 2025, 19:20:34
Tady byl zase nekdo liny....


That’s a great question — and one that has puzzled programmers for decades! Lisp (especially Common Lisp and Scheme) is a powerful and influential language, yet it’s remained niche. The reasons are mostly historical, cultural, and practical rather than technical.

Here’s a breakdown of why Lisp isn’t more popular today:

1. Syntax that’s too unusual

Lisp’s prefix notation and heavy parentheses are very different from the C-like syntax that dominates programming (C, Java, Python, JavaScript, etc.).

This makes Lisp look “weird” or “old-fashioned” to newcomers, even though its syntax is actually simple and uniform.

Example:

(mapcar #'(lambda (x) (* x x)) '(1 2 3 4))


looks strange compared to:

[x*x for x in [1,2,3,4]]

2. Tooling and ecosystem

Modern developers expect polished IDEs, package managers, documentation, and big standard libraries.

Lisp’s ecosystem is fragmented (Common Lisp, Scheme, Clojure, Racket, etc.) and lacks a unified “standard library culture.”

By contrast, Python, JavaScript, and Java have massive, well-maintained ecosystems.

3. Fragmentation

Lisp isn’t one language but a family: Common Lisp, Scheme, Emacs Lisp, Clojure, Racket, etc.

Each has different semantics, tooling, and communities. This fragmentation makes it harder for a single Lisp dialect to dominate.

4. Industry momentum

Lisp had an early boom (AI research in the 1970s–80s), but the AI winter and collapse of Lisp machines in the 1980s killed its commercial momentum.

By the 1990s, C, C++, and Java were already entrenched in universities and industry, and Lisp was relegated to academia and enthusiasts.

5. Metaprogramming is overkill for most developers

Lisp’s greatest strength is its macro system and homoiconicity (code = data). But many developers don’t need or understand the power of macros.

For everyday scripting, web dev, or data analysis, Python and JavaScript are “good enough” and simpler to learn.

6. It did win in spirit

Even if Lisp isn’t widely used, its ideas permeate modern languages:

Garbage collection → Java, Python
REPLs → Python, Ruby, Clojure
First-class functions, lambdas → pretty much everywhere
Functional programming → mainstream now (via JavaScript, Scala, etc.)
Macros influenced Rust and Julia.

So, Lisp lost the popularity contest but won the intellectual war.
It’s like Latin: not spoken much anymore, but its DNA runs through everything.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: echo_zulu 01. 11. 2025, 19:42:56
Pokiaľ ide o učenie sa, už som to tu niekoľkokrát vylepil:

How to Design Programs na https://htdp.org/

Sú tam síce použité špeciálne jazyky na vyučovanie, ale ich základom je Racket.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Radek Miček 01. 11. 2025, 19:44:56
By the 1990s, C, C++, and Java were already entrenched in universities and industry, and Lisp was relegated to academia and enthusiasts.

Co to je za větu? Java byla na univerzitách a Lisp v akademii? Není to to samé?

Each has different semantics, tooling, and communities. This fragmentation makes it harder for a single Lisp dialect to dominate.

Ale to je stejné i u ostatních C-like jazyků. Jaký je rozdíl?

Modern developers expect polished IDEs, package managers, documentation, and big standard libraries.

Hodně nových jazyků má malou standardní knihovnu. Třeba Rust tam nemá ani generátor náhodných čísel. JavaScript podobně.

A co chybí v IDE u lispovských jazyků?
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: balkovic 01. 11. 2025, 19:55:52
Tady byl zase nekdo liny....


That’s a great question — and one that has puzzled programmers for decades! Lisp (especially Common Lisp and Scheme....

Kebyže chcem odpoveď od ChatGPT, tak sa spýtam ChatGPT.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Martin Poljak 01. 11. 2025, 21:19:30
...

Fakt je problém nespamovat s ChatGPT?
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 01. 11. 2025, 21:27:23
Tady byl zase nekdo liny...

Když už si něco necháš generovat v AI, tak proč zrovna v angličtině? Ta je tvým rodným jazykem?
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: xyz 01. 11. 2025, 22:31:25
Tady byl zase nekdo liny....


That’s a great question — and one that has puzzled programmers for decades! Lisp (especially Common Lisp and Scheme....

Kebyže chcem odpoveď od ChatGPT, tak sa spýtam ChatGPT.

Pochybuju, ze se tu dovis nejaky jiny duvod..
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: xyz 01. 11. 2025, 22:32:40
Tady byl zase nekdo liny...

Když už si něco necháš generovat v AI, tak proč zrovna v angličtině? Ta je tvým rodným jazykem?

Protoze o Lispu bude 99% textu v AJ, takze LLM bude davat lepsi odpovedi v AJ predpokladam.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 01. 11. 2025, 23:38:31
Tady byl zase nekdo liny...

Když už si něco necháš generovat v AI, tak proč zrovna v angličtině? Ta je tvým rodným jazykem?

Protoze o Lispu bude 99% textu v AJ, takze LLM bude davat lepsi odpovedi v AJ predpokladam.

Tak zkus za tu jeho anglickou odpověď napsat slovo "česky" a výsledky porovnej.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Wasper 02. 11. 2025, 01:30:02
Protoze o Lispu bude 99% textu v AJ, takze LLM bude davat lepsi odpovedi v AJ predpokladam.
Nevím, školy nemám, jen mě něco říká, že LLM a jejich jádro transformery, jsou takovým pokračováním NMT na steroidech, takže použitý jazyk bude mít vliv na to, jak moc dobře, špatně nebo kostrbatě ten model odpoví, ale ne na samotný obsah té odpovědi...
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Ink 02. 11. 2025, 07:04:08
Není to taková sláva, jak se někteří tváří. Nepřináší nic moc navíc, jen problémy.

Problémy s Lispem nebo s Pythonem? Jaké problémy?

Nevlídná syntaxe, horší infrastruktura, méně knihoven. Tu první otázku nechám bez odpovědi, bylo by to nedůstojné řešit.

Tak pokud ti Python nevyhovuje, používej jiný jazyk. Je jich dost.

O nevlídnosti syntaxe Lispu se nedá mluvit. Je totiž až směšně jednoduchá, jednodušší to snad už nejde. Knihovny jsou, ale programátor si zpravidla navrhne svůj jazyk nad Lispem, ve kterém si pak napíše zbytek aplikace. Pokud nevíš, co je CAR a CDR, tak asi netušíš, o čem je řeč.

Ne, Kite, myslel jsem Lisp a domníval jsem se, že trollíš. Python je populární, takže tyhle věci má dobře. Lisp jsem zažil na škole, s Common Lispem i Scheme jsem se snažil sžít a nešlo nám to. Stejně tak v době, kdy jsem začínal s Linuxem, objevil jsem v distribuci Perl a Python (verze 1.5 nebo kolik). Z Perlu jsem se osypal, Python byl divný (pro člověka, který v té době drtil C a C++), ale cestu jsem si k němu našel. Programování je osobní věc a Lisp je a zůstane jazykem menšiny, zatímco Python je většinově akceptovatelný.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: vcunat 02. 11. 2025, 08:23:37
U Lispů z hlediska syntaxe zvítězila jednoduchost na použitelností.  To kdysi možná nijak drastický rozdíl nebyl, ale dnes mi to přijde výrazné.

A pak jistě nepomohlo, že i ten mentální model je přinejmenším exotičtější, pokud ne těžší na uchopení, takže je těžší se do toho dostat.  Tohle se naopak časem trochu mírní, protože funkcionální uvažování se přece jen trochu rozšiřuje postupně.

S Pythonem bych nesrovnával, to je prostě úplně jiné.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: alobalova_ciapocka 02. 11. 2025, 09:49:45
Tu je slavny komiks a tri policka su venovane aj LISPu a nieje to happyend :-)
https://toggl.com/blog/save-princess-8-programming-languages
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 02. 11. 2025, 14:33:18
Tu je slavny komiks a tri policka su venovane aj LISPu a nieje to happyend :-)
https://toggl.com/blog/save-princess-8-programming-languages

Je smutné, když ostatní programátoři vidí na Lispu jen ty závorky.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Jožka Niemand 02. 11. 2025, 18:32:19
Většina lidí má blíže k procedurálně-imperativnímu myšlení. LISP sice je multiparadigmatický, ale jeho funkcionální jádro se nezapře a tímto způsobem navržené algoritmy v něm co do elegance vynikají.
Z historického hlediska pak trpěl tím, že byl jednak rozdroben na spoustu dialektů (podobně jako FORTRAN či BASIC), jednak tím, že je to tradičně interpretovaný jazyk, takže jeho praktická použitelnost byla omezená. Neexistenci free-verze bych jako problém neviděl - jednak to není pravda, jednak napsat si vlastní interpret LISPu k osahání konceptu je v C záležitost doslova na dvě hodiny, prakticky poměrně dobře použitelný interpret pak během pár odpolední.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Kit 02. 11. 2025, 19:09:19
... trpěl tím, ... že je to tradičně interpretovaný jazyk, takže jeho praktická použitelnost byla omezená.

To platí jen částečně, protože program je po spuštění průběžně kompilován a následně spuštěn. Tedy rekurze jsou kompilovány pouze jednou. Samozřejmě u maker je to trochu jiné. Lisp je tedy částečně kompilován a částečně interpretován.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Jožka Niemand 02. 11. 2025, 20:07:47
... trpěl tím, ... že je to tradičně interpretovaný jazyk, takže jeho praktická použitelnost byla omezená.

To platí jen částečně, protože program je po spuštění průběžně kompilován a následně spuštěn. Tedy rekurze jsou kompilovány pouze jednou. Samozřejmě u maker je to trochu jiné. Lisp je tedy částečně kompilován a částečně interpretován.

To je otázka konkrétní implementace. Spousta z nich jsou čisté interprety - pro mnohá nasazení je to plně dostačující.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: balkovic 02. 11. 2025, 20:35:52
... trpěl tím, ... že je to tradičně interpretovaný jazyk, takže jeho praktická použitelnost byla omezená.

To platí jen částečně, protože program je po spuštění průběžně kompilován a následně spuštěn. Tedy rekurze jsou kompilovány pouze jednou. Samozřejmě u maker je to trochu jiné. Lisp je tedy částečně kompilován a částečně interpretován.

Len doplním predrečníka.

V rámci malého výskumu lispov som sa aj pozeral ako to je. Niektoré lispy sú vyslovene kompilované AOT.  Niektoré sa  kompilujú on the fly do bytecode a ten sa potom interpretuje, niektoré sa on the fly kompilujú do natívneho kódu. A niektoré sú interpretované. Samozrejme u niektorých je to podľa používateľskej konfigurácie.

Koniec kultúrneho okienka.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Jan Gregor 02. 11. 2025, 23:32:53
Lisp, tedy common lisp, je stale dobre pouzitelny jazyk ktery v nekterych aspektech nema moc alternativ - vymena kodu za behu se zachovanim dat, prirozene datove struktury schopne uchovavat slozite grafove struktury nebo xml s moznosti modifikaci beznymi funkcemi jazyka a mnoho dalsich. Je to vhodne hlavne pro nejaky vyzkum nebo slozitou analyzu, a neni to ani pomale. Zapis prirozene ukazuje kompilatoru/interpretu jak by se mohl vypocet paralelizovat coz by mohlo ladit se soucasnym vyvojem hardwaru - moc jader, casto nevyuzitych.

O slozitosti zapisu bych nemluvil, treba zapis lambda funkci v c++ to hodne prekonal.

Jako c slouzil lisp jako primarni jazyk, takze komunikace s ostatnimi jazyky nic moc. To ale muzeme rict treba i o jave.

Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Zdenek Henek 03. 11. 2025, 05:56:15
Jako c slouzil lisp jako primarni jazyk, takze komunikace s ostatnimi jazyky nic moc. To ale muzeme rict treba i o jave.

Říct můžete, ale asi to nebude moc pravda.

https://www.graalvm.org/java/
https://www.graalvm.org/python/

Dokonce se někdo pokoušel i o Lisp integraci https://github.com/bridje/bridje

https://babashka.org/ využívá graalvm k vytvoření binárek.

Zajímavé je i co se děje kolem WASM.


Myslím, že Lisp je populární. Ne jako jazyk, ale jak všechny ostatní jazyky v poslední době inspiruje. Jsem zvědavý jak to dopadne. Začít používat lambdy a přitom mít jazyk s podporou a kulturou mutable first datových struktur je v dnešní době, kdy potřebujeme co nejvíc kodu pouštět paralelně, hodně odvážné.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Ink 03. 11. 2025, 07:12:07
Lisp, tedy common lisp, je stale dobre pouzitelny jazyk ktery v nekterych aspektech nema moc alternativ - vymena kodu za behu se zachovanim dat, prirozene datove struktury schopne uchovavat slozite grafove struktury nebo xml s moznosti modifikaci beznymi funkcemi jazyka a mnoho dalsich. Je to vhodne hlavne pro nejaky vyzkum nebo slozitou analyzu, a neni to ani pomale.

Jsou to skutečně věci, které jsou v praxi těžce nahraditelné? Nebo je to spíš taková ta obecná představa typu "Lisp je jazyk vhodný pro umělou inteligenci"?

Zapis prirozene ukazuje kompilatoru/interpretu jak by se mohl vypocet paralelizovat coz by mohlo ladit se soucasnym vyvojem hardwaru - moc jader, casto nevyuzitych.

Tohle je podle mě úplná nepravda. Pokud napíšu sekvenční algoritmus v Lispu, žádný zápis mi nepomůže. Když budu psát paralelizovatelný kód v libovolném jazyce, kompilátor má šanci se s tím vypořádat úplně stejně.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: listoper 03. 11. 2025, 09:19:03
Lisp ma neco co u ostatnich jazyku postradam, ale dokud jsem nevedel, ze to jde, tak mi to nechybelo.

A to je myslim duvod proc neni tak oblibeny. Ta zdanliva uchylnost jazyka je vic nez dost vykoupena tim co prinasi, ale clovek se k tomu musi prokousat a ne kazdy najde dost duvodu a sily to udelat.

A ted jak to vim tak mi to vsude jinde hrozne chybi. (Hedonicka progrese?)

Zkusim ukazku gifem... kazda ta "=>" znamena, ze jsem si vyhodnotil dany vyraz... vytvoril databazi... udelal tabulku..
Dokonce je na radku 30 videt, ze si muzu vyhodnotit vyraz uvnitr jineho vyrazu.

Vzdycky kdyz vidim jak nekdo pouziva postmana nebo pgadmin pri vyvoji webservis nebo repositories tak uplne citim jak starnu...
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: qelurg 03. 11. 2025, 15:38:31
Ukažte mi bashscript, který v prostředí Termuxu  s Lispem dokáže vytvořit ten samý výstup, gif s grafem sinusoidy:
Kód: [Vybrat]
pkg install python matplotlib numpy -y

python <<'PYCODE'
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 500)
y = np.sin(x)
plt.plot(x, y)
plt.axis('off')
plt.savefig('sine.gif', format='gif')
PYCODE

Pak si povíme, proč Python je úspěšný a Lisp ne.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Radek Miček 03. 11. 2025, 16:32:33
Ukažte mi bashscript

Něco jako:

Kód: [Vybrat]
pkg install racket -y

racket -e '(require plot) (plot-file (function sin (- pi) pi #:label "y = sin(x)") #:out-file "sine.png" #:out-kind '"'"'png")'
convert sine.png sine.gif
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Ink 03. 11. 2025, 19:09:05
Kód: [Vybrat]
pkg install racket -y

racket -e '(require plot) (plot-file (function sin (- pi) pi #:label "y = sin(x)") #:out-file "sine.png" #:out-kind '"'"'png")'
convert sine.png sine.gif

Díky, že jsi ukázal, proč je Python populární a Lisp (Scheme) není.
Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Jan Gregor 03. 11. 2025, 19:40:29
Lisp, tedy common lisp, je stale dobre pouzitelny jazyk ktery v nekterych aspektech nema moc alternativ - vymena kodu za behu se zachovanim dat, prirozene datove struktury schopne uchovavat slozite grafove struktury nebo xml s moznosti modifikaci beznymi funkcemi jazyka a mnoho dalsich. Je to vhodne hlavne pro nejaky vyzkum nebo slozitou analyzu, a neni to ani pomale.

Jsou to skutečně věci, které jsou v praxi těžce nahraditelné? Nebo je to spíš taková ta obecná představa typu "Lisp je jazyk vhodný pro umělou inteligenci"?

Zapis prirozene ukazuje kompilatoru/interpretu jak by se mohl vypocet paralelizovat coz by mohlo ladit se soucasnym vyvojem hardwaru - moc jader, casto nevyuzitych.

Tohle je podle mě úplná nepravda. Pokud napíšu sekvenční algoritmus v Lispu, žádný zápis mi nepomůže. Když budu psát paralelizovatelný kód v libovolném jazyce, kompilátor má šanci se s tím vypořádat úplně stejně.

Samozrejme, se sekvencnim algoritmem to nepomuze ale to nezavisle poradi vyhodnocovani zanorenych vyrazu je primo navod. Podobne od pocatku jsou tam konstrukce jako aplikuj na vsechny prvky seznamu nejakou operaci misto casto zavislem prochazeni pres cyklus.

Rekl bych ze je to jazyk vhodny pro zapis grafovych struktur a efektivne s nimi pracovat, coz je vhodne pro matematiku a odvozene vedy. Vetsinou jde rychle zmenit implementaci kdyz zmenim nazor a chci to udelat jinak. Moznost neopakovat dlouhy vypocet a menit jen kod za nim ktery snim pracuje je velmi cenna - hlavne kdyz nemate udelanou predtim udelanou serializaci.

Lisp se da urcite nahradit ale vetsinou za cenu vetsi prace, a clovek marne hleda ekvivalentni silu. Moderni jazyky se zameruji jinym smerem.

Název: Re:Prečo nie je Lisp populárnejší?
Přispěvatel: Ink 03. 11. 2025, 21:10:41
Samozrejme, se sekvencnim algoritmem to nepomuze ale to nezavisle poradi vyhodnocovani zanorenych vyrazu je primo navod. Podobne od pocatku jsou tam konstrukce jako aplikuj na vsechny prvky seznamu nejakou operaci misto casto zavislem prochazeni pres cyklus.

Věci typu map/reduce jsou dnes úplně běžné ve spoustě jazyků. Stejně jako jiné techniky z FP (líné vyhodnocování atd.). Problém paralelizace vidím právě v tom, že to dnes musí být programátor, který tuší, jak se má mezi jádra práce rozdělit a kdy je paralelizace - třeba díky zvýšené režii - už moc.

Rekl bych ze je to jazyk vhodny pro zapis grafovych struktur a efektivne s nimi pracovat, coz je vhodne pro matematiku a odvozene vedy.

Tohle zpochybnit neumím, ale zajímal by mě příklad.

Rekl bych ze je to jazyk vhodny pro zapis grafovych struktur a efektivne s nimi pracovat, coz je vhodne pro matematiku a odvozene vedy. Vetsinou jde rychle zmenit implementaci kdyz zmenim nazor a chci to udelat jinak. Moznost neopakovat dlouhy vypocet a menit jen kod za nim ktery snim pracuje je velmi cenna - hlavne kdyz nemate udelanou predtim udelanou serializaci.

Jenže serializace je dnes laciná. Jak z pohledu implementace, tak z pohledu kapacity a rychlosti záznamových médií. V Pythonu je na to třeba pickle/unpickle, často stačí jednoduchý JSON. Uložit si mezivýpočet je dnes zcela minimální problém.

Lisp se da urcite nahradit ale vetsinou za cenu vetsi prace, a clovek marne hleda ekvivalentni silu. Moderni jazyky se zameruji jinym smerem.

"Moderní jazyky" problémy, které řešil kdysi Lisp, buďto vyřešily podobně jako on (převzaly principy z Lispu a dalších jazyků, zejména funkcionálních) nebo jinak. Máme (hygienická) makra, máme pluginy (s nástupem WebAssembly je lze v pohodě kompilovat za běhu a bezpečně), máme dynamické jazyky, které umí udělat reload modulu. Máme serializaci. Já úplně chápu, že Lisp byl v lecčems první, dodnes asi může lidi inspirovat a v něčem můžebýt šikovnější. Ale stojí ten opruz za to?