News for hackers. Stuff that matters.
Re:How Lisp-family languages facilitate building bioinformat... by cicero on Monday January 09, 2017 @09:42AM (#13356604)
Until children are taught S-expressions in elementary school math, infix math notation will always be more familiar to the general population, and there will always be a learning barrier that must be overcome to gain similar skill with S-expressions, no matter how superior they might be.
Re:How Lisp-family languages facilitate building bioinformat... by JaumeGreen on Monday January 09, 2017 @10:40AM (#13357070)
But we are all using S-expressions without noticing. What do you say "Add 3 and 4" or "Take 3 and add 4"?

That is the same with most things, we say the verb before the object(s).

Re:How Lisp-family languages facilitate building bioinformat... by cicero on Monday January 09, 2017 @01:41PM (#13358605)
Your English notation is not really an S-expression. I would say it is similar in that the operation comes first. Even though people understand such notation for simple expressions, most people are not used to doing advanced (beyond elementary school) math using such notation.

I agree that the concepts behind S-expressions are simple and logical, but expressing an entire program using S-expressions is an additional thing that must be learned. Other languages chose a syntax that is closer to what people are used to and that helps with the adoption of the language, even if the language loses other capabilities.

Re:How Lisp-family languages facilitate building bioinformat... by abrax3141 on Monday January 09, 2017 @01:38PM (#13358581)
Yes, that right. And moreover, much math isn't infix: Factorial is postfix. Sum, Product, and Integral are prefix. Infix is actually the exception, and is not semantically uniquely without parens anyway (languages have different orders of operation!), so folks should just get over the mindless prefix hate.
Re:How Lisp-family languages facilitate building bioinformat... by taejo on Monday January 09, 2017 @11:31AM (#13357525)
"What is 6+1*0-2/2?" memes/threads on Facebook have taught me that infix math notation is more or less completely unfamiliar to the general population. At least sexprs are fully parenthesized.
Re:How Lisp-family languages facilitate building bioinformat... by cicero on Monday January 09, 2017 @01:49PM (#13358690)
If you are talking about order of operations, all of the sixth graders that I teach know how to evaluate that expression. While it's true that I had to teach them * means multiply and / means divide, they can quickly pick that up. Our school is all honors and the students are above average intelligence, but they are not all math or tech geeks.

On the other hand, I have taught courses at the high school level at the same school based on "How to Design Programs" [1] using the Racket language. Although I can explain the concept of (+ 6 (* 1 0) (/ -2 2)) rather easily, the students make mistakes writing expressions for several weeks.

1: http://www.ccs.neu.edu/home/matthias/HtDP2e/

Re:How Lisp-family languages facilitate building bioinformat... by taejo on Tuesday January 10, 2017 @04:19AM (#13363647)
I wasn't entirely serious, and I believe sixth-graders can evaluate infix expressions with correct order of operations, but it was adults I was referring to, many of whom have long forgotten.
Re:How Lisp-family languages facilitate building bioinformat... by agumonkey on Monday January 09, 2017 @07:21PM (#13361343)
I can't take the infix arithmetic argument anymore. In any interesting piece of software, such arithmetic will only be 5% of the problem. You'll deal with many other concepts, combinators, morphisms, trees, vector spaces, geometry ... which are often functional in syntax (Ker <morphism>) ...

Plus when you're used to trees, linearization and parsing, you *fix the way you see fit, pre post or in ...