Source

spark / docs / why-lisp-is-unpopular / Why-Lisp-is-Unpopular.txt

The default branch has multiple heads

Full commit
park - Pre-Birth of a Modern Lisp
==================================
Author: Shlomi Fish
Email: shlomif@iglu.org.il

Introduction
------------

TODO : Fill in.

No good handling of text and "octet streams"
--------------------------------------------

* UNIX/C/TCP/IP's managing of octet streams and sequences vs. Lisp's object 
handling (not necessarily in the OOP sense).

* A good language should have support for both - Perl starting from 5,
Python, Ruby.

* No interpolation.

* No regexes (can be implemented but non-standard).

* People keep telling me to use Domain Specific languages (DSLs) to build a 
syntax methodically instead of agreeing that a templating system is a good 
idea. ("Less is more" as opposed to TIMTOWTDI).

** Don't output SQL directly - use a DSL - no support for something like 
$dbh->quote() or placeholders in CLSQL.

* No support for interpolation.

* No support for here-docs.

* You need to write a DSL instead of just outputting the text the way
you want and getting on with the rest of your life.

* Conclusion: good text support is needed, if you want to attract 
Perl 5 / Python / Ruby / JS / whatever hackers. 
** And there are likely very few programmer-wannabes who will be influenced by 
people who are not their elders or their superiors, so it's a vicious cycle.

Competing implementations
-------------------------

* Scheme has a very large number of implementations for a given platform (C,
JVM, etc.).

* Writing a Scheme implementation seems to be a rite of passage:
** A Schemer on #scheme admitted that he hadn't written a Scheme implementation
yet so he doesn't know it too well.
* Many of these implementations end up as dinky open-source projects.

* Probably a symptom of a language being too simple and minimalistic.

* You don't see Perl 5, Python or Ruby people writing their own implementation
for enlightenment.