5 ms·
As elegant as lisp is, I think the flexibility just kills its usability on teams, while more rigid languages like Java, Go or C see massive adoption. Language e
by Areading314 8y ago
As elegant as lisp is, I think the flexibility just kills its usability on teams, while more rigid languages like Java, Go or C see massive adoption. Language expressiveness is rarely a real bottleneck, compared to debugging and understanding program flow and getting new contributors up to speed.
Separately I think each lisp has an individual fundamental flaw that makes it unusable for production, eg clojure having terrible error handling, common lisp being case insensitive, scheme having a minimal standard library, racket being fairly slow, etc.
- junke 8y agoI tend to find it very easy to debug CL code. In fact, CL is designed to be introspective: "inspect", "trace", "break", "disassemble" and "step" are part of the language. Also, Common Lisp is case sensitive.
- workinfunk 8y agoYou can hardly fault newcomers for not understanding the finer nuances when everything they type automatically gets uppercased.
- junke 8y agoThat's why I try to correct people when possible and point newcomers to Practical Common Lisp (Seibel).
- jandrese 8y agoIs case insensitivity really a flaw? Other than some weak namespace hinting (constants in ALL CAPS for example) what is the flaw of your language being case insensitive for everything but string handling? Would C be ruined if people could type: If ( expression ) { effect }; I'm also becoming unsold on file system case sensitivity as well. Should "Income Report 2018Q1" really be different than "Income report 2018Q1"? How often is this a desirable feature? The only reason I have now for maintaining case sensitivity is that in the Unicode world casefolding is an absolute nightmare and no language or file system built today can afford to not use Unicode.