!lilli!!lllliil!illilllillll!!i!lllll!!iillll…yes, syntax matters

14 Feb

Re Lisp without parens again, I dug up this old quote I clipped from a Reddit comment that sums up why Lisp’s parentheses are a real problem:

There is a reason all Lisp languages didn’t break through: the syntax is too monotonous. A program is written for humans to read, and humans are not too good with repetitive anything, including repetitive parentheses.

Another commenter writes:

People can go and love Lisp and [its] derivatives all they like, nobody I know finds deeply nested s-expressions very readable or writable. Syntax doesn’t matter much, but it does matter. I hacked on a fair amount of emacs customizations, but I always found it hard to follow the control flow.

People just don’t like parsing text like the title here for the same reason that they much prefer reading decimal or hex over binary. Sure, with time and experience, we can learn to deal with monotonous syntax, but given the choice, why should we put up with it? Some people get really good at sending and receiving Morse code, but Morse code is not only far less accessible than a keyboard, it’s unarguably less efficient: a proficient typist will always beat a proficient telegraph operator.

The parens of Lisp are repetitive noise which one can learn to cope with sufficiently well for some tastes, but not well enough for most programmers. Animvs solves this problem and goes a step further: by imposing a stricter indentation scheme and introducing first-class symbol highlighting, Animvs gives code a significant shape indicating structure that can be reliably parsed at a glance with low mental overhead.

No comments yet

Leave a Reply