Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!decwrl!glacier!kestrel!ladkin From: ladkin@kestrel.ARPA (Peter Ladkin) Newsgroups: net.singles Subject: Re: Re: Titles Message-ID: <5122@kestrel.ARPA> Date: Mon, 24-Feb-86 18:14:45 EST Article-I.D.: kestrel.5122 Posted: Mon Feb 24 18:14:45 1986 Date-Received: Wed, 26-Feb-86 07:28:21 EST References: <4514@kestrel.ARPA> <3407@nsc.UUCP> <276@sdcc7.UUCP> <1195@mtx5a.UUCP> Organization: Kestrel Institute, Palo Alto, CA Lines: 41 In article <1195@mtx5a.UUCP>, mat@mtx5a.UUCP (m.terribile) writes: > [...] But the fundamental stuff can't > be taught. It's in your bones, or it's not. The right guff, I call it. This is an extreme statement about programming. What on earth did frustrated natural programmers do 50 years ago? People say this about math, music,... As a mathematician and a musician, I think your first sentence is false as stated. There's obviously a half-truth here - you have to have *talent* for it. > [problem solutions in CS courses] > These are problems that computer science wrangled with for many years. Why > did they take so long to solve? Because they are, in a sense, pathological. > Look at the code that you write on a day to day basis. 98% of it can be > written according to a simple rule: state the problem in the simplest way > you can and ``trace'' the code over the problem. This leads to code that > is maintainable, code that can be traced back to requirements, code that > meets specs -- or if it doesn't, put the code next to the problem description > and see where they differ. > [......] > If we teach these things to students in the beginning, we are teaching them > that this is the way programming problems get solved. We've destroyed the > thinking style needed before we even have got it working in the first place. Many computer scientists believe that the software engineering problem is the fundamental problem in CS today. The problem is how to get software systems to work reliably. You suggest that this is a matter of better training???? For those interested in the problem, David Parnas, Jim Horning and a host of others have been discussing it in the context of SDI, and Parnas has published his reservations in the CACM, I believe. The reasons that we teach what we do in CS courses are (a) you need it (b) the solutions are known, and (c) you're unlikely to discover them yourself. > What in blazes is this doing in net.singles, anyway? Because people keep the discussion going. There's also one in net.cse. It's an important topic. Peter Ladkin