4 ms·
If you think that is why Lisp is a "niche language" then you should check out C. It has a "preprocessor" and you can do all kinds of things that make it hard to
by bachmeier 8y ago
If you think that is why Lisp is a "niche language" then you should check out C. It has a "preprocessor" and you can do all kinds of things that make it hard to read your code, yet it is by any metric very popular, which provides a counterexample to your claim that "There is little demand for programming languages that are hard to maintain." Check out [1] for a few examples.
[1] https://www.cise.ufl.edu/~manuel/obfuscate/obfuscate.html https://www.cise.ufl.edu/~manuel/obfuscate/obfuscate.html
- chii 8y agoAny dumb programmer can write C. Only a smart programmer can write Lisp. The popularity is proportional to how much cognitive capability requirements of the language. The story is the same with Haskell.
- mepian 8y agoA dumb programmer who writes C is like a monkey with a grenade, it's irresponsible.
- armitron 8y agoI think when it comes to C, there are no smart programmers. Everyone is like a monkey with a grenade. They very few people that have proven to be exceptions to this, can be counted on one's hand and thus do not invalidate the premise.
- divs1210 8y agoThis is a fallacy
- chii 8y agoIt's an emperical observation. Compare the popularity of languages, and then compare the "difficulty" of using them. Php, javascript, java, C# : all very popular. Haskell, clojure, Lisp, F#, APL (and derivatives): all very niche, and requires some knowledge that one might consider "higher level" than required for the former list.
- lmm 8y agoC is rightly in decline and the preprocessor is a big part of the reason. A series of historical accidents made C popular despite its preprocessor, not because of it.
- vanderZwan 8y agoThe biggest of which is probably that it was essentially "portable assembly" in its first incarnations.
- jandrese 8y agoVirtually nobody these days advocates for using the C Preprocessor do to anything more complicated than define some constants and include header files. History has shown that it is more trouble than it is worth. I don't know if it is fair to say that Lisp meta-programming is more core to the language than CPP is to C.