5
« Poslední příspěvek od xyz 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.