Path: utzoo!mnetor!uunet!cos!smith From: smith@cos.com (Steve Smith) Newsgroups: comp.software-eng Subject: Re: American Programmer Message-ID: <1232@cos.com> Date: 25 Mar 88 22:36:39 GMT References: <312@uwslh.UUCP> Reply-To: smith@cos.UUCP (Steve Smith) Organization: Corporation for Open Systems, McLean, VA Lines: 39 In article <312@uwslh.UUCP> lishka@uwslh.UUCP (Christopher Lishka) writes: > Maybe there should be a course on this sort of thing. I think a >mandatory course titled something like "Program Writing" should be >offered (at least at this University) where issues such as programming >environments and project management should be discussed. At very >least it could give the prospective CS undergraduate major a set of >"rules" or "guidelines" to go about organizing and writing a general >program. This course could be a 2nd or 3rd course, after a standard >language or two has been taught, so that something well known like >Pascal, Scheme, or whatever can be assumed to be already known, in >order to focus on program writing styles independent of any language. > Well, those are just a few thoughts. Any comments or criticisms? > > -Chris It sounds like a great idea to me. Doing it properly may be a problem, however. Two of the main characteristics of commercial programs are (1) they tend to be big, worked on by a group rather than by one person, and (2) they are designed to last a long time, with upgrades along the way. This type of environment is *very* difficult to simulate. Simply attending lectures and reading books is no substitute for being given a huge, greasy mass of ten year old spaghetti code and being told "Add these ten simple features. You've got three weeks." After taking the course, you know about modular design, documentation, and testability in your head. After untangling that spaghetti, you'll know it in your stomach. On a smaller scale, I've found the venerable "Software Tools" to be an excellent guide to the how and (more importantly) why of small program writing. Unfortunately, I don't know anything nearly as good that addresses larger system development. -- -- Steve (smith@cos.com) ({uunet sundc decuac hqda-ai hadron}!cos!smith) "Truth is stranger than fiction because fiction has to make sense."