in lambdatalk (http://lambdaway.free.fr) one could go beyond and mix html/css using the same syntax, for instance
{div {@ style="color:red"} the hypotenuse of a square triangle (3,4) is equal to {sqrt {+ {* 3 3} {* 4 4}}} }
which can be read like this « write in a div html element, whose style attribute is color red, the hypotenuse of a square triangle (3,4) is equal to the square root of the sum of the product of 3 by 3 and 4 by 4 »
is displayed as « the hypotenuse of a square triangle (3,4) is equal to 5 »
In fact prefixed parenthesis expressions follow the way we think and speak.
(√ as sqrt is not generally primitive, though it can be trivially implemented.)
For someone who started learning Lisp way way late in my programming journey, I would not have appreciated it had I not went through half dozen other languages before. The sheer simplicity of the foundational concept is liberating.
That simplicity means Lisp actively encojrages exploration (which is why you see so many Lisp dialects). Unfortunately, most people don't really learn anything new unless they were forced into it. Most people, aren't into exploration. They treat language as a short-term tool to get paycheck, and anything making them use more braincells, even to their own long-term benefit, is an annoyance.
To each their own, its just that as good as Lisp is, its MO don't map well with that of most populace.
Not an unjustified one, in fairness. Lisp tends to prefer long, descriptive names.
I've thought about how the verbosity can be avoided, but at certain level of complexity, it is better to have long descriptive names, but I'm not experienced enough with big projects to propose a solution.
1
+ 2
---
as [1 2 +]. I guess it's a difference in perception.