Xah Lee, 2001-11-26
Dear Richard Gabriel and friends,
Richard Gabriel wrote:
There is much to criticize in the patterns, XP, and mathematical [sic] computer science communities. Let's say we all agree with your argument that all but the mathematical approaches have proven inept. Why would the mathematical approach work better? Or are you simply suggesting we give them a try too?
When subjects are well understood, it is called mathematics. In trying to understand anything, mathematical is the only way. There are many aspects to the question “What is Mathematics”. One practical view is that Mathematics is a form of extreme scientific rationalism. It is with this stance, we should approach to software engineering and everyday questions.
What people usually mean by math or mathematical, are things that are already very well understood, having lots of theorems and various formal foundations, especially in the form of symbols on paper. For example, numbers and equations and geometric figures and measures; the average people will take as mathematics. In general, unless you have had some familiarity with abstract algebra or topology, it is hopeless for laity to understand in any slight sense what modern mathematics is about, less to ponder about “what is mathematics”. From a more advanced point of view, mathematics are simply concepts. Concepts so abstract (and advanced and difficult) that one has to get years of training just to be able to imagine it. For example, there are great many math concepts that i cannot grasp. (e.g. what's a bundle? what's projective geometry in higher dimensions? what's a lattice? what's a rational curve? ...) Same applies to any accomplished mathematician. Much for lack of time to study them all, also for extreme lack of material and people who know them. In contrast, software patterns and OOP mantra and eXtreme Programing every idiot can love and embrace and sing, just like solutions for weight-loss abound, none of which focus on less eating and more exercise.
300 years ago mathematicians have the faintest idea what numbers are. Today, there are still a lot unanswered questions about the nature of numbers, but the difference of today's understanding and 300 years ago is like the difference of knowing a language versus its alphabets. As near as 300 years ago, there are quite a lot math practitioners who made significant contributions to mathematics, yet who speaks of magic and God and voodoo as explanation of many aspects of numbers that are not understood. (examples: the nature of number 0, negative numbers, irrational numbers, complex numbers, infinity, transcendental numbers, transfinite numbers are all filled with mysticism and crap as near as 300 years ago, by as famous mathematicians as Euler, Pascal, Kepler, and others.... bogus fads are not limited to numbers, but much other math objects or concepts such as geometry, calculus etc.)
So, when we ask “why should we rely on mathematical methods in computer engineering?” It is like asking “why not fortune-tell and crystal-gaze and prance?”.
Related essays:
Page created: 2003-06. © 2003 by Xah Lee.