3 ms·
Everything is so extremely context sensitive and has much more focus on text over symbols than other languages, which isn't a problem for computers but is a hug
by username90 6y ago
Everything is so extremely context sensitive and has much more focus on text over symbols than other languages, which isn't a problem for computers but is a huge problem for humans. Therefore lisp is objectively harder to read for humans. If you have never read other code and is super familiar with lisp it is easier to read, but anyone with experience with both will find other languages much much much easier to read thanks to the much better UX design.
I don't see how you can argue otherwise. It is as if you have no clue at all about how UX works. You can't get used to everything, there is a hierarchy of syntaxes, and lisp syntax is just plain bad for humans.
- username90 6y agoPeople saying that Lisp is as easy to read since you get used to it is like people saying that salad is as tasty as cake since you get used to it. Sure someone eating cake for the first time after having only eaten non sugary stuff for a long time will find it a bit jarring, but anyone eating both will find cake so much tastier, which is why people overeat cake so much. Yet many people will still adamantly say that they find salad tastier. And still go on and eat cake and get fat. They are just lying to themselves, I'm not sure why. Lispers are the same way, its just a reality distortion field.
- minerjoe 6y agoWhy say lispers are "reality destorted"? Maybe they have learned something you have yet to understand? Have you ever programmed a decently sized lisp program using an editor that allowed you to work at the AST level? Until then, there's just a large probability, regardless of how tasty cake is, that your displaying classic ignorance.
- Perseids 6y agoWhile I agree with your statement, I would probably downvote your comment if it wasn't grey already. The reason is that you mostly state your opinion (aggressively so), but fall short on arguing why your opinion is true. If you can extend your argument / extend the list of arguments, I think your comment would find more appreciation.
- wtetzner 6y agoI have experience with tons of languages, lisps and non-lisps. I don't really get this argument. It's not any harder to read `(if foo` than it is to read `if (foo)`. It's purely a matter of what you've gotten used. I don't think it's an objective measure, it's purely about what you've already trained your brain to pattern-match on. > and has much more focus on text over symbols than other languages Funny how you get the exact opposite complaint about languages like Perl.
- filoeleven 6y agoLet’s talk about text over symbols and readability. Return the maximum value of the array “numbers”. The languages are listed in descending order of text > symbol. Clojure: (apply max numbers) JavaScript: Math.max(...numbers); APL (I couldn't find how to apply this to an arbitrary array): ⌈/ 4 3 2 7 5 1 3 Here’s a guess: ⌈ numbers The most aymbol-focused is the least readable to me, and Clojure is the only one that returned good results from a Google search to figure out what was going on. Both “JavaScript ...” and “APL ⌈” gave me irrelevant results. Furthermore, how is this (if a true-cond false-cond) harder to read than this, aside from familiarity? if (a) { trueCond } else { falseCond } In the latter case, the if/else requires a special syntactical structure. And since it cannot be used as an expression, the common desire to conditionally assign a result spawned the ternary operator: a whole separate syntax that only applies when you want to assign a result to something. In lisps, you just use “if” wherever you need a binary conditional.