Lisp doesn't have more parentheses than other languages:
(if (validate foo)
(println foo "is the right answer"))
vs if (foo.validate()) {
console.log(foo, "is the right answer");
}
Unless you consider curly braces special and virtuous, and "(" parens bad. if foo.validate() {
println!("{} is the right answer", foo);
}
This has less parentheses (unless you count the placeholder in the format string). Putting the condition in parentheses like C and friends do is redundant if you use braces for the block anyway. (procedure foo ((integer x) (in-out integer y))
(set y (+ 3 x y))))
;; https://sites.google.com/site/sabraonthehill/postmodern-examples/postmodern-intro-to-s-sql
(query (:order-by
(:select 'countries.name
:from 'countries
:where (:= 'name '$1)))
"Vietnam")Edit? Oh hell yes. Once someone groks paredit (a weekend to get fluent), every other language is painful. It's because you're editing in terms of complete forms, rather than in units mismatched to the actual code.
Remember your first text editing experience? You probably spent a long time editing in terms of characters. Then remember what a revelation it was when you learned a programmers editor and started being able to manipulate larger portions of text such as words, lines, and even paragraphs?
Paredit is like that, but the next level, because you're working at the level of arbitrary syntactic forms.
Having exactly the same languages makes macro writing really easy.