Beware of mathematicians!
Sep. 5th, 2017 07:23 amThis post is written in English because it is very important.
580 words, reading time: 2.5 minutes, further mental damage for some software developers.
Many centuries the sentence "People cannot fly" was a proven scientific fact. Generations of engineers tried to create models to deny this. They built mechanical constructions created on base of this models and experimented with them.
As you know engineers finally had succeeded.
Note, science does not change the world we live in. It can explain, describe, classify, suggest, predict something in the reality but it does not try to affect it.
Scientists protect the purity of their sciences behind the walls of an ivory tower. And the mathematicians live on the very top of it. They work with clean graceful abstractions far above the mud of our earthly life.
If someone tries to apply mathematics for some real world tasks and fails, a mathematician says: "I'm right! My formulas are correct. My theorems are correct. They must work. It fails because this person does not understand obvious things and is poorly educated".
Engineers do not have a luxurious protected imaginary world. They are forced to fight head on against all disturbances and imperfections. If something goes wrong, they roll up their sleeves and start to search for their own errors and real world facts they have not considered in their models.
Only at the end of a long journey through trials and errors, optimistic expectations and bitter disappointments, careful examinations and bold assumptions, small corrections and big changes an engineer can say "We have solved all problems. It flies. I am Wright."
Engineers respect mathematicians. But this admiration is distant. If mathematicians climb down from their ivory tower and try to touch something real, they turn for engineers into a walking disaster.
The ways this two groups interact with the world are too different.
Mathematicians try to find universal solutions for all possible cases. Engineers seek for simplest ways to solve actual known problems.
Mathematicians introduce highest abstraction levels they can think out and use obscure terms to describe them. Engineers mirror real world objects in their models and speak language that users, managers and experts from other fields can easily understand.
Mathematicians strive for perfection. Engineers tolerate ugliness, if it produces acceptable quality and allows to save time, money and other resources.
Mathematicians take for granted that all conditions they expect will always be fulfilled. Engineers check input values for plausibility.
Mathematicians blame users. Engineers write user manuals.
The most explosive quality of a mathematical brain are its error prevention habits.
Engineers know that all humans make mistakes, all their plans are uncertain, all their creations contain hidden defects. Engineers do not demand any kindness from this world and are ready for unexpected turns.
They always await unknown errors. Anything incorrect will be immediately stopped, documented, reported and analysed.
Engineers remove their own mistakes, reject wrong assumptions, find hidden defects, add new patches and adapt their software to the real world.
Mathematicians behave as if they are saints living in a perfect universe. They do not let defective data or stupid users to affect their precious beautiful formulas.
Mathematicians almost always try to accept anything silently and consistently. This includes values and actions that are not correct or do not have any useful meaning. Mathematicians call them "variations" or "special cases" and think out tricky ways to include them into regular processing.
If a field "Age" contains a negative value, this is a user's problem. For a mathematician "-32" is also a number.
From the point of view of an engineer mathematicians that try to write software are simply dangerous.
Next part: Mathematics is inhuman
Previous part: Physics works with bullet prof good enough models, mathematics works with brittle absolute models
2. Scientific models are created to find the truth, engineering models are created to become true
580 words, reading time: 2.5 minutes, further mental damage for some software developers.
Many centuries the sentence "People cannot fly" was a proven scientific fact. Generations of engineers tried to create models to deny this. They built mechanical constructions created on base of this models and experimented with them.
As you know engineers finally had succeeded.
Note, science does not change the world we live in. It can explain, describe, classify, suggest, predict something in the reality but it does not try to affect it.
Scientists protect the purity of their sciences behind the walls of an ivory tower. And the mathematicians live on the very top of it. They work with clean graceful abstractions far above the mud of our earthly life.
If someone tries to apply mathematics for some real world tasks and fails, a mathematician says: "I'm right! My formulas are correct. My theorems are correct. They must work. It fails because this person does not understand obvious things and is poorly educated".
Engineers do not have a luxurious protected imaginary world. They are forced to fight head on against all disturbances and imperfections. If something goes wrong, they roll up their sleeves and start to search for their own errors and real world facts they have not considered in their models.
Only at the end of a long journey through trials and errors, optimistic expectations and bitter disappointments, careful examinations and bold assumptions, small corrections and big changes an engineer can say "We have solved all problems. It flies. I am Wright."
Engineers respect mathematicians. But this admiration is distant. If mathematicians climb down from their ivory tower and try to touch something real, they turn for engineers into a walking disaster.
The ways this two groups interact with the world are too different.
Mathematicians try to find universal solutions for all possible cases. Engineers seek for simplest ways to solve actual known problems.
Mathematicians introduce highest abstraction levels they can think out and use obscure terms to describe them. Engineers mirror real world objects in their models and speak language that users, managers and experts from other fields can easily understand.
Mathematicians strive for perfection. Engineers tolerate ugliness, if it produces acceptable quality and allows to save time, money and other resources.
Mathematicians take for granted that all conditions they expect will always be fulfilled. Engineers check input values for plausibility.
Mathematicians blame users. Engineers write user manuals.
The most explosive quality of a mathematical brain are its error prevention habits.
Engineers know that all humans make mistakes, all their plans are uncertain, all their creations contain hidden defects. Engineers do not demand any kindness from this world and are ready for unexpected turns.
They always await unknown errors. Anything incorrect will be immediately stopped, documented, reported and analysed.
Engineers remove their own mistakes, reject wrong assumptions, find hidden defects, add new patches and adapt their software to the real world.
Mathematicians behave as if they are saints living in a perfect universe. They do not let defective data or stupid users to affect their precious beautiful formulas.
Mathematicians almost always try to accept anything silently and consistently. This includes values and actions that are not correct or do not have any useful meaning. Mathematicians call them "variations" or "special cases" and think out tricky ways to include them into regular processing.
If a field "Age" contains a negative value, this is a user's problem. For a mathematician "-32" is also a number.
From the point of view of an engineer mathematicians that try to write software are simply dangerous.
Next part: Mathematics is inhuman
no subject
Date: 2017-09-05 12:13 pm (UTC)Why do you use "math" instead of the full name: "a mathematician who tries to write software"?
no subject
Date: 2017-09-05 12:24 pm (UTC)I don't know what it is, and in fact, I didn't assume anything. You said it's a field named 'age', so it is. By 'input' I meant the field's value. Anyway, my point is that type theory is a branch of mathematics.
> Why do you use "math" instead of full name: "a mathematician who tries to write software"?
Well, I don't think that only mathematicians use bad engineering practices. Actually, a properly trained mathematician generally can't code and remain sane at the same time, e.g. a common expression x = x + 1 makes no sense from a mathematical viewpoint; only a few programming languages do support proper notations.
no subject
Date: 2017-09-05 12:55 pm (UTC)If the field "age" is an output field in a GUI, than "-32" is not "a correct input", it is an incorrect output. And the people who have designed and written this software are responsible for this error.
This has nothing to do with the type theory.
Well, I don't think that only mathematicians use bad engineering practices.
Sure. But this text is titled "Beware of mathematicians!" and I explain only this statement.
no subject
Date: 2017-09-05 01:10 pm (UTC)no subject
Date: 2017-09-05 01:59 pm (UTC)I'd rather ponder about how math as known to the humans now can be applied. Imagine we switch to using real numbers.
no subject
Date: 2017-09-05 02:39 pm (UTC)no subject
Date: 2017-09-05 02:41 pm (UTC)no subject
Date: 2017-09-05 02:43 pm (UTC)no subject
Date: 2017-09-05 02:14 pm (UTC)Why? This is my text and I simply removed the word "output" to use this sentence as a primitive trap for mathematicians. However I thought everybody can see it.
Such cases can be easily prevented with old primitive technologies. New achievements in the type theory would not protect from engineering errors.
no subject
Date: 2017-09-05 02:28 pm (UTC)> achievements in the type theory would not protect
They would make certain classes of errors obsolete, like this one. But sure, you can always make other engineering errors anyway. Hence the next hot question, how to actually prove a program works as designed. And afaik there are some recent advances in this field too.
no subject
Date: 2017-09-05 03:56 pm (UTC)Mathematician are humans. There is nothing special about them. I describe not special but typical behaviour patterns.
Of course there are some (rare) mathematicians who can perfectly solve engineering problems.