4 ms·
I would say that it is a bang-on certainty that... > It can't be that only a minority of people have it Only a minority of people have the ability to understa
by lproven 2y ago
I would say that it is a bang-on certainty that...
> It can't be that only a minority of people have it
Only a minority of people have the ability to understand algebra.
Of them, only a minority can usefully use it and apply it.
Of them, only a minority can formulate an algorithm and construct code to perform it.
Of them, only a minority can tolerate having the helpful algebraic notation removed and replaced with a bare abstract syntax tree decorate with parentheses.
Why do you think most people only understand enough about Lisp to make jokes about all the parens?
Why do you think most people gravitate towards the simplest, shortest, infix-notation language and moved the entire industry on to that?
By coincidence?
- kazinator 2y agoAlgebra is taught in public schools. The majority of children are able to get through the classes: do the homework and pass the tests. Not sure where you're getting your statistics. Not everyone likes it, or ends up going into a field that requires math, but that's not the same thing as having no ability to understand it. Why most people only understand enough about Lisp to make jokes about all the parens is like asking why some people only understand enough about Poland to tell jokes, like four Polaks turning a ladder so a fifth one can change a light bulb.
- lispm 2y agoBasically no programming language is an infix-only-notation language. Most programming languages are using mixed notation: prefix, infix and possibly postfix. In most languages function calls are prefix. For a subset of functions there are infix operators: a + b, instead of +(a,b). For control flow many programming languages use a more elaborate syntax. The usual mathematical notation is two-dimensional. Fractions are written a / b and a - b Also think of square roots and all kinds of other mathematical notation. When I verbalize a * (b + c) as a natural language expression then it is: Multiply a with the sum of b and c. The operators are prefix. In German: Multipliziere a mit der Summe aus b und c. in Lisp: (* a (+ b c)) or (* a (+ b c)) or (* a (+ b c)) or (* a (+ b c)) or (* a (+ b c)) The latter, more random layout, will not be used by Lisp programmers, because it does not follow the usual layout rules. But it is possible, since the layout of the lists is not significant in Lisp. A pretty printer in Lisp is a function, which takes an expression and writes it in some layout. Thus Lisp can generated 2d-layouts of expressions. Most Lisp-supporting editors can indent or even layout Lisp expressions. This helps Lisp developers using a common layout of code, supported by the tools.