From: <da...@ax...> - 2007-08-04 15:50:27
|
Nikodemus Siivola writes: > Our current convention (that we're not quite perfect about) is 80. > How would people feel about extending it a bit? I think often enough > the code is easier to read when line-length allowed to grow. Actually it would be ugly because then my sequence numbers would fall in the middle of the text thus: 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 (defun helloworld (&rest x) (format t "this is a hello program with long00000100lines")) 00000200 (defun surelybad (&rest x) (format t "this would probably cause syntax e00000300rros")) 00000400 Although this would allow for larger programs because then we could have 28 digit sequence numbers, such as: 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 (defun helloworld (&rest x) 0000000000000000000000000100 C (format t "this is a hello program with long lines")) 0000000000000000000000000200 For those who don't get the historical joke: Columns 72-80 were reserved for "sequence numbers". Punched card readers, expecially at my school, were prone to reading cards "out of sequence" due to mechanical errors. Column 72-80 contained sequence numbers. The first step of your JCL (Job Control Language) was always a call to the sort library routine to sort your records by sequence number before calling the compiler. (It also helped when you dropped your card deck). The apparent random "C" in column 7 was because the first lisp reader I used was written by a fortran programmer who insisted that it was needed. A character, typically a "C", in column 7 implied that the previous line was "continued" on this line. Standard fortran convention. Note that sequence numbers were typically spaced by hundreds to allow patches to the program (e.g. 00000201) to be sorted into place. Ah, history... Perhaps it would be better to code in Microsoft Word and use a smaller font size? Joking aside, we do have a person on my project that uses 128 character lines. It causes complaints. My editor (emacs) is usually sized at 80 and typically auto-breaks the lines. This tends to defeat the primary reason for long lines, readability. However since he does code in Java the long lines are more readable. Note that if you write a book the publishers generally restrict lines to be no more than about 5 inches (12cm) because long lines strain the readers eyes. The Axiom textbook has an 8 inch (20cm) page but the text is still 5 inches, with "notes" in the margins. In lisp I don't find the 80 character restriction to be much of an issue since I tend to use a 2-space indent rather than tabs. (8 character tabs are an old typewriter restriction) In Java the 2-space indent isn't as effective because the symbols tend to be very large, like System.out.println. Tim P.S. We old timers will die off eventually and be buried in 4-foot long coffins. P.P.S. This email was composed using a battery applied to the bare end of a coax ethernet cable. |