Path: utzoo!attcan!uunet!ncrlnk!ncrcae!ece-csc!mcnc!gatech!ncar!tank!mimsy!haven!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn ) Newsgroups: comp.unix.wizards Subject: Re: cat -u Message-ID: <9140@smoke.BRL.MIL> Date: 11 Dec 88 05:39:40 GMT References: <175@ernie.NECAM.COM> <189@wyn386.UUCP> <8910@smoke.BRL.MIL> <8160@bloom-beacon.MIT.EDU> <146@minya.UUCP> <1111@entropy.ms.washington.edu> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 24 In article <1111@entropy.ms.washington.edu> charlie@mica.stat.washington.edu (Charlie Geyer) writes: >Simple psychology. Who wants to write a program that just concatenates >files? If your task is to write a text editor but your real ambition in >life is to write a Lisp interpreter, what do you do? On UNIX we already have a program that concatenates files. It is one of the first programs I write for a new non-UNIX system. A professional tasked with developing a text editor will develop a text editor. If he's really good and there are no particular design constraints (unlikely), the resulting editor will be extremely flexible, powerful, and easy to use. It may even support a form of LISP, but only because it's a good way to achieve the previously mentioned goals, not because it's what the programmer would rather do. I manage to find occasion to develop interesting (to me) algorithms, designs, and methods in the course of working on various projects. So long as one is aware of a variety of possible techniques, sooner or later the opportunity to apply some of them will arise. If your task includes software system design, then knowledge of the toolkit approach gives you a powerful advantage over those who don't know how to plan for the unplanned.