Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!ctrsol!uakari.primate.wisc.edu!gem.mps.ohio-state.edu!apple!bloom-beacon!eru!luth!sunic!mcsun!hp4nl!star.cs.vu.nl!ast From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: Re: Important new program: cleanit.c Message-ID: <3631@ast.cs.vu.nl> Date: 9 Oct 89 22:22:52 GMT References: <3492@ast.cs.vu.nl> <3498@solo10.cs.vu.nl> <3539@ast.cs.vu.nl> <3554@solo2.cs.vu.nl> <3592@ast.cs.vu.nl> <3630@solo5.cs.vu.nl> Reply-To: ast@cs.vu.nl (Andy Tanenbaum) Organization: VU Informatica, Amsterdam Lines: 49 In article <3630@solo5.cs.vu.nl> maart@cs.vu.nl (Maarten Litmaath) writes: >ast@cs.vu.nl (Andy Tanenbaum) writes: >\>Anyway, what's wrong with the shell script? >\People keep calling up P-H asking for the sources to spell and write > >I don't get it. People call up P-H on the average of perhaps once a week and tell them that MINIX is incomplete because there is no commands/spell.c. My editor then sends me a letter telling what happened and asking me to call or write the customer and help him. I am also instructed to be nice to the customer. All this takes more of my time than I like. Besides, I think the shell script is more cryptic than the program. >Isn't the spirit of MINIX the spirit of UNIX? Use small, orthogonal tools to >build complex utilities? With 160 C programs and 3 shell scripts, I think this principle is stronger in theory than in practice. I think making that 4 instead of 3 does not change much. >Job control. Henry Spencer wrote you didn't object to it *in principle*, >but to the POSIX standard. Perhaps some other scheme would do. Is total >conformance to 1003.1 *that* important to you? If it can be achieved without too much complexity, yes. If there turns out to be some obscure feature which is horrible to implement properly (like Chap 7), I may reconsider. I certainly don't want any extra complexity that isn't required by the standard. Remember, I am a strong believer in St. Exupery's dictum: "Perfection is not achieved when there is nothing left to add, but when there is nothing left to take away." Creeping featurism is what makes Berkeley UNIX ten times bigger than V7, but by no means 10 times better, and certainly not 10 times faster or 10 times easier to understand. However, being a sport, I'll make you the following proposition. If you can write a 1 page procedure to implement some sort of job control like thing, I'll add it. However, there is a catch. You may only add 1 line of code to the rest of the system. You may not add 50 hooks all over the place, in the tty driver, in signal handling, in process termination, in ptrace, in dozens of other places. That is what POSIX requires and what I refuse to touch. Personally, I think a far better and more elgant solution would be virtual screens. You simulate N terminals on one. When you hit ALT-n, the contents of the screen and replaced by that of terminal , and the keyboard is attached to terminal n. In effect, you are timesharing the one screen into n windows. Again, the trick is localize everything so that there are no tentacles all over the place. It won't be easy. Andy Tanenbaum (ast@cs.vu.nl)