steve yegge - the-emacs-problem
lispemacsprogramming-languagestext-processingxml
Abstraction: Argument that Lisp's homoiconicity makes it superior to XML for structured data
Key points:
- Core thesis: all programming work is ultimately text processing, and tree-structured data (not flat text + regexps) is required for sufficient complexity
- Java 1.5 logging switched to XML output, validating Lisp community's long-standing preference for tree-structured data over regex-parseable flat text
- Lisp code-as-data means configuration files, log entries, and web pages can all be expressed as executable Lisp programs — eliminating the proliferation of half-language DSLs (Make, Ant, .properties, XSLT)
- XSLT is criticized as Turing-complete XML that reinvents Lisp badly; Ant, Jelly, and similar tools converge toward full language features without becoming clean languages
- Emacs is stuck: Emacs Lisp is incompatible with Common Lisp/Scheme; millions of lines of elisp and FSF contribution process prevent migration; newer programmers drawn to IDEs like Eclipse
- Yegge's practical recommendation (2005): Java for production systems, Python/Ruby for auxiliary code, Lisp as aspirational; language popularity is roughly inversely proportional to power
Connections: Steve Yegge · Emacs · Programming Languages · Lisp · Text Processing
Source: https://sites.google.com/site/steveyegge2/the-emacs-problem