Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 beta 3/9/83; site frog.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!harvard!think!mit-eddie!cybvax0!frog!john From: john@frog.UUCP (John Woods) Newsgroups: net.lang.c Subject: Code Calligraphy Message-ID: <250@frog.UUCP> Date: Wed, 31-Jul-85 14:33:22 EDT Article-I.D.: frog.250 Posted: Wed Jul 31 14:33:22 1985 Date-Received: Sun, 4-Aug-85 06:59:07 EDT References: <189@brl-tgr.ARPA> <1017@umcp-cs.UUCP> Organization: Charles River Data Systems, Framingham MA Lines: 30 > >Typing ability probably has a lot to do with [programming on paper], too. > Could be; I never write actual code on paper, and I type MUCH faster > than I write (I type reasonably quickly and write excruciatingly > slowly).... > However, I don't think that writing code on paper gains you much > if anything. The key to writing good code is to have a clear > understanding of the algorithm(s) involved. > Well, I (having already admitted to using paper) type extremely quickly, and write no faster than most people. The advantage I find in using paper, though, is that I can draw pictures, and make marginal notes, on the same page as my growing code evolves. And, in preliminary sketches of code, at least, I find that the flexibility of a 2D sheet of paper is easier to work with than the "1.5D" of a text-editor screen (even with a "REAL MAN'S" editor like EMACS :-). However, when I am slogging though code that is already written, and it's more than a page or two long, I always use a text editor (though I like to have hard copy also: think of it as very static multi-windows...). Sometimes I stick box-and-pointer diagrams into typed in code for explanation. If I tried composing code with comments like that, I think I'd forget the algorithm I was explaining long before I finished the doodle... Someday there will be a C compiler which accepts MacPaint input files. I hope. -- John Woods, Charles River Data Systems, Framingham MA, (617) 626-1101 ...!decvax!frog!john, ...!mit-eddie!jfw, jfw%mit-ccc@MIT-XX.ARPA