RE: [opensuse] Re: [SLE] Novell-Microsoft: What They Aren't Telling You



On Saturday, November 11, 2006 @ 11:24 PM, Randall Schulz wrote:
On Saturday 11 November 2006 20:29, John Andersen wrote:
On Saturday 11 November 2006 19:17, Randall R Schulz wrote:
Programmers are applied mathematicians. The basis of all software
is mathematical logic of one sort or another.

Grossly over stated.

Not overstated in the slightest. It is exactly and completely true.

But isn't programming simply a set of instructions? Those instructions may
be logical or completely illogical. Any mathematical calculations in a
program are of course logical, by definition, though the logic behind the
calculation may be completely illogical (wrong formula). I. e., the
calculation itself is logical in that it provides the result that it was
asked to give, though what it was asked to give by the programmer may have
been totally illogical.


Very little of programming is mathematical.
The logic involved is usually no more than find the RED ball.

I agree to some extent, though I think you grossly underestimate the logic
that can be involved (i. e., it can certainly be much more complicated than
"find the RED ball").

The foundations of all programming is symbolic logic.

I'd say an attempt at symbolic logic.

Not necessarily
first-order predicate logic, but a variety of logics nonetheless.


Programming is mostly moving stuff around, getting it from here
and putting it there. More akin to organizing your closet than
math.

It can be quite a bit more complicated than organizing your closet, I
promise you.

It all requires complete and precise characterization, without which
programs could never be made to do a particular thing. Computers don't
understand what we have them do, so we have to tell them with perfect
precision in a completely formal language what it is we want them to
do. The essence of those characterizations, going back to Turing and
beyond, originates in symbolic mathematics. Mathematics, after all, is
not primarily about numbers, but really about symbols (of which numbers
a kind--or kinds) and patterns.

I believe the foundation of programming is simply instructions, logical or
illogical.

Moving data from one place to another requires a formal specification
just as does a regular expression match, a sort or a neural network
simulation.

The only problem with current logical formalisms is how low-level they
are. An FOPC characterization of something as simple as the C
library "memcpy" function requires pages of mathematical logic.

Few programmers realize just how very much they're saying when they
write a few simple lines of C or Java. In fact, that kind of leverage
is absolutely essential as our ambitions w.r.t. to size and complexity
of information systems grows ever larger.


I once debated this very issue with the head of the Math Department
at college. He insisted programming belonged in the Math department.
I insisted it belonged in the business department.

The people who do the best software are those that understand the formal
and theoretical underpinnings of computing. In rare cases, you find
individuals with a sufficient intuitive grasp that they can craft good
software with realtively little overt understanding of computing
theory, but for the most part, to exploit the nature of computation
requires a good understanding of the principle of operation.

There's a pretty good comparison, I think, with medicine. If you don't
understand the anatomical and physiological bases of normal human
function and ways in which it breaks down or is impaired in disease,
you cannot be a competent, effective doctor.

At my alma mater, CS grew out of the math department, and I'm glad for
it.


This was before the advent of Computer Science departments, which
took the wind out of both of our sails.

The domain of computation and of engineered information processing
system is easily big enough to constitute a separate domain of study
and justify separate departmental home in academia.


Randall Schulz

Greg Wallace

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx



Relevant Pages

  • [CfP and deadline change] 7th International Workshop on the Implementation of Logics
    ... The submission deadline is October 18 now. ... 7TH INTERNATIONAL WORKSHOP ON THE IMPLEMENTATION OF LOGICS ... conjunction with the 15th International Conference on Logic for Programming, ...
    (comp.specification.z)
  • ICLP08 CALL FOR PARTICIPATION
    ... We are pleased to announce the 24th International Conference on Logic ... Programming, to be held in Udine, Italy, in December 2008. ... Carla Piazza e Alberto Policriti (Systems Biology: Models and Logics) ...
    (comp.specification.z)
  • CFP: LICS 2004: Call for Short Presentations
    ... We invite submissions on that theme. ... concurrency and distributed computation, constraint programming, ... logics in artificial ... Theoretical Computer Science. ...
    (comp.theory)
  • ICLP08 CALL FOR PARTICIPATION
    ... We are pleased to announce the 24th International Conference on Logic ... Programming, to be held in Udine, Italy, in December 2008. ... Carla Piazza e Alberto Policriti (Systems Biology: Models and Logics) ...
    (comp.specification.z)
  • Re: [opensuse] Re: [SLE] Novell-Microsoft: What They Arent Telling You
    ... instructions may be logical or completely illogical. ... I'm not talking about incoherent programs, or programming language ... formalism, ... mathematics and logic as it goes back to the ancient Greeks. ...
    (SuSE)