Skip to content

Comment on Relic: Functional relational programming for Clojure(Script)parent

Comments

To each their own. There are obviously very smart people choosing Lisp so I’m not trying to knock it down or anything, I just never got the appeal

Every now and then I try to check out a Lisp project and this is my reaction the moment I see the code: https://giphy.com/gifs/seinfeld-bye-jerry-106PwpLIIXJnXi

This is what we see: https://raw.githubusercontent.com/tarsius/paren-face/master/...

Don't look at the parens and don't stop at the superficial look :]

In most cases, an imperative example in a curly-bracket language (JavaScript as one example) has the same number of parens and curly brackets as a Lisp has in parens. They're just in different places.

And, the non-Lisp languages tend to have more rat droppings => , ; . etc.

f is a function which takes two arguments, adds them, and returns the result.

Clojure: (def my-var ["hello" 123 (f 10 20)]) -> my-var: ["hello" 123 30]

([""()]) -> 8 noisy characters

JavaScript: const my_var = ["hello", 123, f(10, 20)]; -> myVar: ["hello", 123, 30]

=["",,(,)]; -> 11 noisy characters

Obviously this difference becomes more pronounced with longer argument lists or array element counts.

For me much of the appeal of the syntax comes from using it with a editor integrated REPL, or when writing macros, or when generating linter configuration from a domain model etc.

However I agree with you on some level. Lisp code can easily be written in a way that’s hard to read. Specifically because of nesting expression way more often than is comfortable for me to read. I much rather prefer let bindings and threading so most of the code reads from left to right.

To each their own. There are obviously very smart people choosing Lisp so I’m not trying to knock it down or anything, I just never got the appeal

Just know that almost no one STARTS off by liking Lisp-Syntax, but oh boy does it grow on you.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.