My short experience with Lisp led me to impression that Lisp actually doesn’t have more parentheses than C/Java/JavaScript. It only seems so, because it has less of… all kinds of other things.
If you write the same algorithm in Lisp and in C/Java/JavaScript, the total number of parentheses will be approximately the same in both, but the Lisp code will be much shorter. After realizing this, the parentheses stopped bothering me, because their density suddenly felt like a good thing.
(Also, when you write Lisp code, you usually use an editor that highlights matching parentheses, and even inserts the closing ones automatically based on indentation. So forgetting to match them is actually not a problem in practice.)
Aside from the ease of meta-programming with Lisp syntax – as I mentioned in this comment on this post – the other major (historical) reasons why Lisp was nice to use have been greatly copied by newer languages since.
I’ve found functional programming languages to be roughly as nice as the Lisps I’ve used previously, and with more ‘standard’ syntaxes.
But meta-programming can be extremely powerful and thus anything that makes it easier can be pretty useful too.
Clojure was the most recent Lisp (or Lisp-like) language I used. It’s very nice and much more ‘batteries included’ than other Lisps I’ve played with in the past.
I’ve been doing a lot of work with Elixir lately. It doesn’t have Lisp syntax, but I find it too be very nice in a lot of the ways that Lisp languages often are too.
Thanks! I’ve never used Lisp, but all the parentheses strike me as unappealing. Maybe I would like it if I tried it though.
My short experience with Lisp led me to impression that Lisp actually doesn’t have more parentheses than C/Java/JavaScript. It only seems so, because it has less of… all kinds of other things.
If you write the same algorithm in Lisp and in C/Java/JavaScript, the total number of parentheses will be approximately the same in both, but the Lisp code will be much shorter. After realizing this, the parentheses stopped bothering me, because their density suddenly felt like a good thing.
(Also, when you write Lisp code, you usually use an editor that highlights matching parentheses, and even inserts the closing ones automatically based on indentation. So forgetting to match them is actually not a problem in practice.)
Aside from the ease of meta-programming with Lisp syntax – as I mentioned in this comment on this post – the other major (historical) reasons why Lisp was nice to use have been greatly copied by newer languages since.
I’ve found functional programming languages to be roughly as nice as the Lisps I’ve used previously, and with more ‘standard’ syntaxes.
But meta-programming can be extremely powerful and thus anything that makes it easier can be pretty useful too.
Clojure was the most recent Lisp (or Lisp-like) language I used. It’s very nice and much more ‘batteries included’ than other Lisps I’ve played with in the past.
I’ve been doing a lot of work with Elixir lately. It doesn’t have Lisp syntax, but I find it too be very nice in a lot of the ways that Lisp languages often are too.