Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!umcp-cs!chris From: chris@umcp-cs.UUCP (Chris Torek) Newsgroups: net.cse Subject: Re: Teaching UNIX Message-ID: <992@umcp-cs.UUCP> Date: Sun, 11-Nov-84 14:16:51 EST Article-I.D.: umcp-cs.992 Posted: Sun Nov 11 14:16:51 1984 Date-Received: Tue, 13-Nov-84 01:16:41 EST References: <88@athena.UUCP> <640@clyde.UUCP> Organization: U of Maryland, Computer Science Dept., College Park, MD Lines: 43 There are really two issues here. First of all (as someone else has already pointed out) it is far cheaper to support hordes of students on one Univac 1100 running EXEC-8 than it is to support said hordes on VAXen or equivalents running Unix or some other "modern" operating system (VMS is considerably better than EXEC-8, for example). Many universities just can't afford the CPU crunchons it takes to teach Unix to undergraduates. The second is that if someone really knows what s/he (it?) is doing, knowing Unix well (from the outside; I'm not talking heavy kernel here) is not particularly important. With the right concepts, everything else just falls into place. To take a reverse example, I recently had to write a short SNOBOL program on our 1182, running EXEC-8. Even working on an unfamiliar machine (I avoid the Univac as much as possible) and in an unfamiliar language (I've never so much as *looked* at SNOBOL before), it didn't take me long to write it -- because I understood, in general, what was going on. Sure, I needed lots of reference manuals nearby, but if I were to use the machine or the language more often, I could soon hack at a reasonable rate. (I'm ashamed to admit that it took probably 3 hours to do such a tiny program: I spent at least an hour and a half before discovering that you can't use NE(foo) on user-defined types; gotta use \IDENT(foo). Sigh.) If someone understands the basic concepts in operating systems, then knowing Unix isn't so important. Pipes should be nothing more than a pleasant surprise (``gee, you mean I don't have to store 30 megabyte temporary files?''), the tool philosophy should be familiar, learning the editor shouldn't be too difficult (hey, if I can learn to use EDT in an hour, anyone should be able to learn Emacs in 20 minutes! :-)), and so forth. [Note, however, that being able to *use* something and being a wizard at it are two entirely different things.] If you need a Unix wizard, *then* Unix experience is a must. But if all you need is someone to write programs, then find someone who knows language design concepts and can write algorithms! Experience is not the most important thing in this case. -- (This line accidently left nonblank.) In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (301) 454-7690 UUCP: {seismo,allegra,brl-bmd}!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@maryland