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.