plw (05/11/82)
I have followed this discussion with some interest and it seems to me that there is some disagreement about programmers and programming. I have held the impression that people twiddling bits at machine level and those doing applications work in inventory control, accounting, physics, astronomy,etc. are all programmers doing programming. Of course, each of these areas require differing levels of expertise in mathematics. I doubt that those with a weak background in math are designing compilers or operating systems. After reading only one book by Dr. Dijkstra, I get the impression that he is a programming theorist. His SIGPLAN notice posted to the net is nothing more than the usual complaint by theorists that the implementation of their theories is lacking. Each of the languages that he denigrates in the notice are probably very good for writing applications software that do useful work for their users. However, I must agree with him that none of them are any good for teaching programming principles and techniques. These languages do teach some very basic (no pun intended) things about programming -- we must tell the computer each little thing we want it to do and in the order we want it done. This serves to remind us that we are not dealing with an intuitive entity. I think his point is that the structure(sigh), efficiency, correctness, etc. of a program is based in mathematics - at least on a theoritical level - and programming theory (discipline) requires a strong mathematical background. He rues the fact that more emphasis is being placed on application than on technique. Pete Wilson ...we13!plw
djmolny (05/11/82)
FLAME ON!! When am I going to stop hearing statements like we13!plw made: "I doubt that people with a weak math background are designing compilers and operating systems"? I've done both, and my mathematical knowledge would fit on the head of a pin. Judging from the responses I received from my math vs. CS query, a lot of other people are in the same category. Software engineering is not math. Period. You can look at it from a math angle if you wish, but there's more to programming than formal analyses, just as there's more to fiction than syntax and grammar. (As this note proves.) End of flame. -- DJ Molny ihnss!ihuxn!djmolny
jcwinterton (05/12/82)
Well! Considering the mail I got, I feel that clarification is necessary. I do not believe that math consists only of Combinatorics and Optimization (counting and doing it well). Mathematical thought is so close to philosophical thought that they become hard to separate especially when logic is involved. The word "algorithm" is tossed around with great glee by many people, but only mathematicians, programmers and philosophers seem to use it in its exact sense of "a method of doing something". You will notice that in the last sentence I differentiate between mathematicians and programmers. I do believe that programming is somewhat mathematical, but I do not believe that all mathematicians are programmers. My general approach to learning computer languages and writing analyzers for some of the small ones I have been involved with has been formal of late, but when I started out brute force was used. (It turns out that I actually discovered recursive descent parsing on my own.) WRT DJ Molny, software creation is not engineering either. In fact, it is multidisciplinary and interdisciplinary. Like the "real" engineering crowd a hundred years ago, we are at the threshold of defining either a scientific art or an artistic science, where the mechanical is the result of the creative and esthetic. If programming were a science, there would be only one way to program something, and the methods would produce repeatable results every time. Clearly this is nonesense. What this discipline needs is the "one machine architecture" which would then make it unnecessary to worry about efficient code generators for it would happen once and for all time. Similarly, if there were only one machine, we would only need one machine-oriented language. Under those rather stifling conditions, programming could become a science? John Winterton.
bj (05/13/82)
If programming were a science, there would be only one way to program something, and the methods would produce repeatable results every time. Clearly this is nonesense. Clearly this is nonsense. A problem in science does not always have one solution. If an engineer wants to build a bridge, there is no fixed type of bridge that should be used in a particular location, it is decided by the whim of some person or current trends. If a mathematician wants to prove a theorem he can often choose between several proof methods, break the proof in lemmas in several ways, order the pieces in several ways, and decide what to use as a basis and how to use them (there are scores of different proofs for the Pythagorean theorem, none of thwrong). Science does not limit you to one way to solve a problem, it is a method which tries to limit you to the set of correct solutions. B.J. (Herbison@yale) (decvax!yale-comix!herbison)
ARPAVAX:arnold (05/13/82)
To defend Dr. D's comments regarding math and CS (why did this become math \vs./ CS) by saying the the processes of computer science and mathematics have much in common is pointless. Mathematics is a science, and computer science (as one might guess) is also a science. Thus, they share the scientific method, as useful a process for solving problems as has come along in quite while. These statements could also be used to equate physics to math (some people DO say that physics is applied math, but those people seem to be mostly mathematicians), biology to computer science, or any other two science you care to grab out of a bag. Mathematics is, in some sense, the purest science in that it is (in its highest form) purely scientific process. But computer science is NOT mathematics any more than physics, genetics, biochemistry, or any other science. Just related. I confess to having had a higher- than-average mathematical aptitude, but I suspect that most scientists would say the same. However, we shouldn't confuse similarity with identity. Ken
stevenm (05/13/82)
Harumphh. Since no one has said it yet, I guess I will: "Science is to Computer Science as Hydrodynamics is to Plumbing." S. McGeady