Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> comp.databases.theory -> Re: Programming is the Engineering Discipline of the Science that is Mathematics

Re: Programming is the Engineering Discipline of the Science that is Mathematics

From: Rich Ryan <rryan_at_cshore.com>
Date: Tue, 06 Jun 2006 01:36:03 GMT
Message-ID: <7_4hg.91368$H71.8109@newssvr13.news.prodigy.com>

"Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message news:4J4hg.18140$A26.418865_at_ursa-nb00s0.nbnet.nb.ca...
> Rich Ryan wrote:
>
> > "Marshall" <marshall.spight_at_gmail.com> wrote in message
> > news:1149554468.101169.75440_at_i39g2000cwa.googlegroups.com...
> >
> >>Elsewhere, I commented that:
> >>
> >> Science : Engineering :: Math : Computer Programming
> >>
> >>
> >>Science is a methodology for study that is intimately anchored
> >>to the natural world. Physicists, chemists, biologists, etc. may
> >>form their hypotheses, but these hypotheses are not interesting
> >>until their usefulness is checked against the actual world we
> >>live in.
> >>
> >
> >
> >
> >>Mathematics, in contrast, is much the same kind of methodology
> >>as the other sciences, but it is not anchored to the natural world.
> >>A mathematical idea may be useful all by itself, without needing
> >>empirical verification of any kind. Thus we may derive use
> >>from hyperbolic geometry without ever going out in to the
> >>natural world and testing whether two parallel lines ever meet
> >>or not. Indeed, we would not be able to locate parallel lines
> >>in the natural world, because none exist there.
> >>
> >>Mechanical engineering, chemical engineering, etc., all are
> >>effective because they build on scientific principles, and from
> >>truths discovered via science. The laws of the natural world
> >>are the laws of engineering, and the engineer who understands
> >>this is a successful engineer.
> >>
> >>Software engineering, or simply programming, is the engineering
> >>disipline of Mathematics, in the exact same way that chemical
> >>engineering is the engineering discipline of the science of chemistry.
> >>
> >>And because of this, we should regard a computer programmer
> >>who believes that mathematics has nothing to offer him the
> >>same exact way we would regard a chemical engineer who
> >>believed that chemistry had nothing to offer him, or a mechanical
> >>engineer who didn't think that physics mattered to his job.
> >>Fortunately for the chemical engineers of the world, and
> >>for the people who rely on their work, the idea would be
> >>immediately rejected as ridiculous by anyone in that
> >>discipline. It is unfortunate that the same is not true for
> >>us programmers.
> >>
> >>I lament the amount of time I spent studying OOP when I
> >>could have been studying math. At the time, I still regarded
> >>programming as a fuzzy discipline, not amenable to
> >>formalisms. I see now that I was simply surrounded by
> >>fuzziness as a cultural norm. The fuzziness was a social
> >>disease, not an attribute of the discipline of programming.
> >>
> >>Let us hope that our profession may one day recover from
> >>this love of fuzziness. The "Law" of Demeter is as hard to
> >>master as a hula hoop, and about as useful. Let us instead
> >>study abstract algebra, set theory, type theory, or what
> >>have you. Though these are all much sterner mistresses
> >>than Demeter, the rewards are proportionally greater.
> >>
> >>
> >>-------------------------
> >>
> >>>From an interview with Alexander Stepanov, author of the STL:
> >>http://www.stepanovpapers.com/CPCW_Interview.pdf
> >>
> >>Q: What do you think of OO? Is it a good style of programming?
> >>Is there a necessary and useful tool for learning OO?
> >>
> >>Stepanov: I try not to think of OO. I am not impressed with their
> >>approach to programming. Quoting from my interview to an
> >>Italian journal: "I find OOP technically unsound. It attempts to
> >>decompose the world in terms of interfaces that vary on a single
> >>type. To deal with the real problems you need multisorted
> >>algebras - families of interfaces that span multiple types. I find
> >>OOP philosophically unsound. It claims that everything is an object.
> >>Even if it is true it is not very interesting - saying that
> >>everything is
> >>an object is saying nothing at all. I find OOP methodologically
> >>wrong. It starts with classes. It is as if mathematicians would start
> >>with axioms. You do not start with axioms - you start with proofs.
> >>Only when you have found a bunch of related proofs, can you
> >>come up with axioms. You end with axioms. The same thing is
> >>true in programming: you have to start with interesting algorithms.
> >>Only when you understand them well, can you come up with an
> >>interface that will let them work." I repeat: programming is
> >>about algorithms and data structures, not about inheritance
> >>and polymorphism.
> >>
> >>Q: What is the relationship between Mathematics and Computer Science?
> >>
> >>Stepanov: Computer Science is a mathematical discipline. Quoting
> >>from Dijkstra: "As soon as programming emerges as a battle against
> >>unmastered complexity, it is quite natural that one turns to that
> >>mental
> >>discipline whose main purpose has been for centuries to apply effective
> >>structuring to otherwise unmastered complexity. That mental discipline
> >>is more or less familiar to all of us, it is called Mathematics. If we
> >>take
> >>the existence of the impressive body of Mathematics as the
> >>experimental evidence of the opinion that for the human mind the
> >>mathematical method is indeed the most effective way to come to
> >>grips with complexity, we have no choice any longer: we should
> >>reshape our field of programming in such a way that, the
> >>mathematician's methods become equally applicable to our
> >>programming problems, for there are no other means."
> >>
> >>
> >>Marshall
> >
> > I think you need another glass of wine. Take a breath., Math is a
language
> > in which we ask questions and answer those questions. Math gets real
hard at
> > some point, and that's why many of us became computer science majors.
All we
> > needed was calculus 2.
>
> That is the stupidest thing I have ever seen posted in c.d.t, and I have
> seen some very stupid things posted here. Plonk!

What I meant was at some point I could not hold a tough math problem in my head. At that point I knew I was not going to be math guy. And I was in graduate school, going for masters in math. Received on Mon Jun 05 2006 - 20:36:03 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US