Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!uport!admin!suprt!mdg From: mdg@suprt.UUCP (Marc de Groot) Newsgroups: comp.arch Subject: Re: Small is beautiful Message-ID: <115@suprt.UUCP> Date: Tue, 6-Oct-87 20:02:47 EDT Article-I.D.: suprt.115 Posted: Tue Oct 6 20:02:47 1987 Date-Received: Sat, 10-Oct-87 07:15:47 EDT References: <121@quick.COM> Organization: Microport Systems, Scotts Valley, CA Lines: 57 Summary: Hurrah! In article <121@quick.COM>, srg@quick.COM (Spencer Garrett) writes: > (I've seen a screen editor written as a TECO macro, for > pete's sake!) Didn't Richard Stallman write the original EMACS as a TECO macro? That's what I thought I heard. > I > decided that what people needed was an editor simple enough to use that it > wouldn't get in their way, so they could think about the program and not > about the editor. Well, I wrote it and it has many rabid adherents to this > day. It has grown to a whopping 2800 lines of C, and nobody bothers to keep > the manual handy. Yay! This is my idea of how software should be done! > I therefore humbly proclaim Spencer's Law: > > No program over 10,000 lines long can ever be made to work (correctly). May I quote you on this? I have only recently started working professionally in the UNIX world. I came from more modest microcomputer environments. While I can understand the big boys' argument that people who live with 64K limitations and the like become crippled (or at least blindered), I still feel that the trend towards eating memory for breakfast, megalithic programs, and inefficient use of CPU cycles is misguided. I have programmed in Forth (half the readers are deciding to skip the rest of the article now) for a number of years on 8- and 16-bit machines, *and* the 68020. I have used interrupts, implemented multitasking, simulated privileged mode op- eration on the Z80, written custom I/O drivers for hardware I built myself, and many other "heavy" systems-type jobs. I have never experienced the sen- sation that the code changes by itself overnight before working with UNIX and its hopelessly obfuscated, under-documented utilities, nor have I ever worked with the conviction that "you can't get much of anything done in 1 day". I hasten to point out that Forth is not an environment for running off-the-shelf DBMS and accounting software. It *is* an environment for software development which affords unequalled flexibility in a compact space. The only environments which provide such extensive power are Lisp environments, and I've never owned a machine that was big enough for Lisp. I have developed *many* programs over the past few years that have no bugs in them. These programs were designed with Mr. Garrett's philosophy in mind: Try to include the essence without bogging the program down in unnecessary functionality. Mr. Charles Moore, the inventor of Forth and chief architect of the Novix NC4000 hardware Forth processor, has written a Forth interpreter (for the NC4000) that fits in 2 kilowords, and is sufficiently powerful to recompile itself. It is also a reasonable soft- ware development environment. Now THAT'S what I call software. -- Marc de Groot (KG6KF) @ Microport Systems, Inc. UUCP: {hplabs, sun, ucbvax}!amdcad!uport!mdg FONE: 408 438 8649 Ext. 31 DISCLAIMER: "..full of sound and fury, not necessarily agreeing with anyone.."