4 ms·
used to be on the same camp. now I think I get it. the language is malleable. because it is homoiconic. so while developing software, you are simultaneously wr
by dkarras 3y ago
used to be on the same camp. now I think I get it.
the language is malleable. because it is homoiconic. so while developing software, you are simultaneously writing a domain specific language for your problem. because macros.
in the end, if you like your craft, you end up with a "language" that is very suitable for solving the problem you have at hand, with very little noise.
the downside is, probably most others will not understand your code so lisps have heavy bias towards "solo hackers". BUT... if that is important to you, you can code towards understandability. so much so that you can make it very hard for others to make mistakes when using the public api.
so with most programming languages, you program within the constraints of the syntactic rules of the language. with lisps, you define the language you want to approach the problem, that language comes out by itself iteratively. for some, that is a joy. others don't care for it.
- dboreham 3y agoHomoiconicity is a gimmick and it's a cult.
- goku12 3y agoHomoiconicity is why Lisps have rich macros and legendary metaprogramming capabilities. You don't even have to deal with it yourself to feel its usefulness. Emacs use-package is an example.
- Hammershaft 3y agoWhy do you think homoiconicity is a gimmick? Have you seen languages that offer metaprogramming capabilities as simple & powerful as Lisp without homoiconicity?