Math is not always science. Sometimes a lot of equations and axioms can be derived from an idea, but that alone does not validate the idea itself. It is a nice bonus if useful ideas have a "math" behind them, but not necessarily a prerequisite. If in comparing two ideas, one has a nice math behind it and another doesn't, perhaps one should go with the mathified one if they otherwise seem equal. In other words, the ''quantity'' of things that can be surmised or derived based on root axioms alone does not necessarily reflect the ''quality'' of the base axioms themselves. Misuse of math tends to happen when the root ideas are unsound or still up in the air. Somebody takes these shaky or unproven ideas as givens and creates extensive formulations. Such work is a good thing to explore, but doing "interesting" things with simple ideas alone does not validate the root ideas in itself. A classic example from AddingEpicycles is the assumption that planetary orbits are all based on perfect circles. Elaborate systems of nested circles were often used to match the idea that "EverythingIsa circle" to the observed motions of the planets. Eventually it was replaced with Newtonian physics, which had better predictive value than nested circles and was based on the observable properties of gravity. Relativity later superseded Newtonian physics. Newtonian physics turned out not to be perfect (perhaps nothing known is), but at least serves as a UsefulLie because of its low complexity-to-reliability ratio. I believe that is similar to what we need in the software design field: UsefulLie''''''s with low complexity-to-utility ratios. Every abstraction is probably going to turn out to have deviations and flaws, but we still need abstractions to help us manage overwhelming complexity. Thus, we need simple but powerful ideas. We can use math to help us find and test ideas, but it may not serve as the ultimate validation tool for such ideas. -- top ''Excellent observations, Top! Does this mean that you have now rejected the OoLacksMathArgument? After all, that silly dispute strikes me as just as much of a MisuseOfMath as anything else.'' I have moved away from LaynesLaw issues around defining "math" and toward OoLacksConsistencyDiscussion. Relational's consistency advantage over OO may or may not be due to its math-based beginnings. I think it helped because math requires consistency, or at least specificity, to work, but the real "road test" is observed improved consistency. -- top ''Procedural programming lacks consistency too, Top. Sometimes people use pointers, other times they don't. Sometimes they pass in a single struct as a parameter, and other times they split up the paramaters and don't use a single struct. This is inconsistent. Sometimes we return error codes as an OUT parameter, whereas other times we return the error as a function result. Again inconsistent. There are many inconsistencies in many programming practises. Tables in databases often contain inconsistent data: some is phone numbers, some is blobs, some is only positive integers and not negative, some is strings (which is why you need a TypeSystem, to handle different kinds of Types of things).'' I meant that the rules were clear and available for inspection. Using different rules to achieve the same goal is another matter. ''Also, did you know that object oriented programming is just structured programming with extensions? Since you dislike OO, do you also dislike structs? A struct in C with methods, is an object. Structs are objects. The OO people invented new snake oil terminology instead of sticking with existing terminology like "struct" or "record". They could have just called it "extended struct" instead of calling it "object". They introduced new terminology to sell something old: structured programming. So if you dislike OO, then you dislike extended procedural programming, because that's what OO is. Sometimes the extensions are not needed and programs can be done without them, other times these extensions come in handy. That's what you need to figure out, when they are handy and when they are not.'' I agree that structured programming by itself is limiting. That's why I like to combine it with TableOrientedProgramming. TOP is more powerful than OOP. For example, it handles many-to-many relationships much nicer. But this is not the place for arguments over such. --top ---- PageAnchor: "Difference Between Math And Science" Math is about producing an internally consistent model or notation. Science is about the applicability of that model to the external world. Math can be completely divorced from the physical world, while science cannot. Math can "lie" as long as the lies are consistent; science cannot because in the end it must be tested against the physical world. ''I hate to ask what programming where programming exists then. . . '' * I would probably place it with math. There are some long discussions on this somewhere around here. -- top ** ''Such as IsProgramming pages - but I reject the notion that math can be completely divorced from the physical world. The symbols are still tied to this realm. We may think about math in abstract axiomatic terms, but that thinking, and the symbols we use to represent things - are still tied to this world. I think that was part of what Godel proved - that math is not self-supporting - requiring an external system to support it. . . at least that's the only explanation I can find for why Greek letters are still used. Now there may be an underlying "truth" in math that we represent with abstract symbols, but I don't consider modern mathematics to be that truth - it's just a bunch of symbols we invented to get close to it.'' ** But the symbols are arbitrary. One can assign unique integer ID's to the symbols, for example, and use those instead. And those integers can be represented in binary or all kinds of different notation. Whether math is bound to the physical world or not, I don't think it is the symbols that bound it if so. They symbols are for human convenience only. -- top ** ''One way to view Godel's work is that he showed that any sufficiently complicated symbol system is inconsistent with itself - in essence proving that all symbol systems need an external system to exist.'' [That's misunderstanding it.] Graffiti seen on a temporary barrier during construction on Evans Hall (the home of the math department at CalBerkeley): : "Math is God" : "No, Math is the set of all Gods" : "God is Physics" : "No, Physics is Math on earth" ---- Some Math misuses: * "People are 67% more likely to believe someone who gives a statistic." * "0 is a number, infinity is not. That is why you cannot divide infinity by zero." * "There is a good reason that computer science students taking the required calculus are not taught how to find the antiderivative of f(x)=1<