Path: utzoo!mnetor!uunet!husc6!uwvax!uwslh!lishka From: lishka@uwslh.UUCP (Christopher Lishka) Newsgroups: comp.software-eng Subject: Re: American Programmer Message-ID: <312@uwslh.UUCP> Date: 24 Mar 88 18:20:04 GMT Organization: U of Wisconsin-Madison, State Hygiene Lab Lines: 46 I too think that this is a great idea. All too often the real skills in programming are left aside in favor of theory, and theory does not necessarily a good programmer make. As a current undergraduate who has learned most of his real "skills" from my current job (from an excellent, well-versed programmer who also works here), I am now amazed that what I thought were good programming skills (i.e. knowing all of the commands of a language, etc.) are only a small part of a much wider base. One problem I see, however, is that there really isn't much of a standard OS to work from in teaching the practical aspects of programming. For instance, where I work I use tools such as Gnu-Emacs, several C compilers, Perl, Yacc, Lex, Ksh, Csh, Sh, RCS, Gprof, Dbx, etc. all running on 4.3BSD Unix. Now, at school I have used such a wide variety of systems (from Xerox InterLisp workstations to archaic local OS's) that the vast array of tools can be overwhelming, especially when they are written to work with systems that differ in *philosophy* as well as implementation. A structured Lisp editor is not like Vi. An interpretive Lisp environment can be much different from, say, the edit-compile-run-edit cycle so typical of many C projects. Using RCS can be much different than saving backup directories as well as using Tar with a 9-track tape drive. There is a lot of "theory" involved in organizing programs as well as modifying and writing them, and it is this kind of theory that seems to be left to the student to discover. 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 -- Chris Lishka /lishka@uwslh.uucp Wisconsin State Lab of Hygiene <-lishka%uwslh.uucp@rsch.wisc.edu "My cockatiels control my mind!"\{seismo, harvard,topaz,...}!uwvax!uwslh!lishka