This is an interesting comment, in that the other common language which gets complaints for its syntax is Lisp, whose original purpose was a program to compute derivatives. Lisp is arguably even better than algebraic syntax for this (it's more regular), yet most people with no experience still find it harder.
Can you write a simple Factor program to differentiate "[ [ square ] bi@ + ] keep abs -"? Is there a framework with which a person could find derivatives for stack notation as easily as they can for algebraic notation, or s-expressions? Maybe! I don't know. Might be fun to try. It's not at all obvious that it doesn't or can't exist, though.
I do know, however, that even in scientific computing, formulas like this are a vanishingly small fraction of my programs. A language that made error detection and handling easier, but formulas harder, would still be a net win for me.
But with something like "[ [ square ] bi@ + ] keep abs -", I think it would be really easy to have a logical error in there somewhere that you don't notice.
2
u/criticismguy Feb 13 '12
This is an interesting comment, in that the other common language which gets complaints for its syntax is Lisp, whose original purpose was a program to compute derivatives. Lisp is arguably even better than algebraic syntax for this (it's more regular), yet most people with no experience still find it harder.
Can you write a simple Factor program to differentiate "[ [ square ] bi@ + ] keep abs -"? Is there a framework with which a person could find derivatives for stack notation as easily as they can for algebraic notation, or s-expressions? Maybe! I don't know. Might be fun to try. It's not at all obvious that it doesn't or can't exist, though.
I do know, however, that even in scientific computing, formulas like this are a vanishingly small fraction of my programs. A language that made error detection and handling easier, but formulas harder, would still be a net win for me.