On Wednesday, 5 August 2015 at 17:12:29 UTC, Max Samukha wrote:
On Wednesday, 5 August 2015 at 15:58:28 UTC, Timon Gehr wrote:
The point is that '+' for string concatenation is no more of
an 'idiot
thing' than '~'.
My point is that it is. String concatenation is not
commutative.
Ok, good point. Except that '+' in a programming language is
not the mathematical '+'. Why define '+' as strictly
commutative operation and not more generally as an abstract
binary operation, considering the middle dot is unavailable?
Or, if we want to stick to the math notation, then '*' would be
more appropriate than the idiot thing '~'.
Nobody want to stay in the math world. Not that math are
worthless, but it has this tendency to make simple things
absurdly complex by requiring you to learn a whole area of math
to understand the introduction.
This is commonly referred as the monad curse: once you understand
what a monad is, you loose all capacity to explain it. In fact,
Most developers have used some sort of monad, but only a very
small portion know they were using one or can explain you what it
is.
Mathematical language is geared toward generality and
correctness, not practicality. That makes sens in the context of
math, that do not in the context of every day programming.