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

Prečo nie je Lisp populárnejší?
« kdy: Dnes v 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?




Re:Prečo nie je Lisp populárnejší?
« Odpověď #1 kdy: Dnes v 13:22:52 »
<troling>
Lisp sa pouziva hlavne na trolenie v IT forach.
</troling>

Kit

  • *****
  • 912
    • Zobrazit profil
    • E-mail
Re:Prečo nie je Lisp populárnejší?
« Odpověď #2 kdy: Dnes v 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.

Wasper

  • ***
  • 219
    • Zobrazit profil
    • E-mail
Re:Prečo nie je Lisp populárnejší?
« Odpověď #3 kdy: Dnes v 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.

Ink

  • *****
  • 692
    • Zobrazit profil
    • E-mail
Re:Prečo nie je Lisp populárnejší?
« Odpověď #4 kdy: Dnes v 17:42:11 »
Není to taková sláva, jak se někteří tváří. Nepřináší nic moc navíc, jen problémy.


Kit

  • *****
  • 912
    • Zobrazit profil
    • E-mail
Re:Prečo nie je Lisp populárnejší?
« Odpověď #5 kdy: Dnes v 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?

Ink

  • *****
  • 692
    • Zobrazit profil
    • E-mail
Re:Prečo nie je Lisp populárnejší?
« Odpověď #6 kdy: Dnes v 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.

Re:Prečo nie je Lisp populárnejší?
« Odpověď #7 kdy: Dnes v 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.

Re:Prečo nie je Lisp populárnejší?
« Odpověď #8 kdy: Dnes v 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.

Re:Prečo nie je Lisp populárnejší?
« Odpověď #9 kdy: Dnes v 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.

Kit

  • *****
  • 912
    • Zobrazit profil
    • E-mail
Re:Prečo nie je Lisp populárnejší?
« Odpověď #10 kdy: Dnes v 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č.

Kit

  • *****
  • 912
    • Zobrazit profil
    • E-mail
Re:Prečo nie je Lisp populárnejší?
« Odpověď #11 kdy: Dnes v 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.

xyz

  • ****
  • 287
    • Zobrazit profil
Re:Prečo nie je Lisp populárnejší?
« Odpověď #12 kdy: Dnes v 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.