Personally, while my <i>windows</i> are far wider than 80 characters, my code generally use shorter lines for a simple reason: readability. It's faster for me to scan a code fragment if I need to move (scroll the code, move my eyes) only on one axis. I use wider windows because it is convenient to split in two, to let me switch between files while keeping other files up in a fixed location.<p>The 80 width "limit" has survived to the extent it has not <i>just</i> because of tradition and compatibility, but also because it fits well within the range of what is most comfortable for most people.<p>Add to that the desire to ensure fixed-formatted text like code will be readable also on <i>other peoples</i> screens, and it becomes relatively irrelevant if you can fit 200 character lines on <i>your</i> screen and have eyesight that makes that comfortable even when using smaller screens, and don't mind moving your head all over the place.
Another interesting question: Where does the traditional 25-line height of a default terminal window come from?<p>Obviously it came from the 80x25 character mode displays of old CRT monitors. The IBM PC had an 80x25 monochrome display, but it was just mimicking older CRTs from the '70s.<p>Where did those displays get their dimensions: usually 80x25, sometimes 80x24?<p>It can't be punched cards. There's nothing particularly special about a deck of 25 cards vs. 21 or 29 or whatever.<p>It isn't the Teletype machines we used back in the day. Those use a continuous roll of paper.<p>In fact the first time I saw someone using a "glass teletype" at Tymshare where we all coded on Teletypes, I wondered what you would do when something scrolled off the top of the 25 line screen. Teletypes were noisy, but the paper coming out the top gave you an infinite scrollback buffer!<p>So why 25 lines?<p>I think it came from the standard coding forms used for FORTRAN and other languages in the '50s:<p><a href="http://www.atkielski.com/PDF/data/fortran.pdf" rel="nofollow">http://www.atkielski.com/PDF/data/fortran.pdf</a><p>(BTW if you want an authentic FORTRAN Coding Form of your own, that PDF prints beautifully on 8.5 x 14 legal-size paper.)<p>There you have it: six groups of three lines each, 24 lines on your coding form. So an 80x24 display was a perfect match for a standard coding form.<p>Add a status line at the bottom of the CRT and you have your 80x25 terminal.
It's interesting that this old saw comes up with the implication that 80 columns is not enough. Back in the day, Forth programmers wanted to put their source in binary length blocks. They picked 64 columns rather than 128. Forth is a particularly concise language, but the point still exists.<p>Why is more always considered better?
<p><pre><code> Why? Because (and here, we finally get to the real answer),
that's how wide a Roman chariot needed to be, in order to
accommodate the width of the war horses pulling it. So, in
some sense, the width of cars is not only an artifact of
the way that things had always been, but is also an
extension of the tyranny of Caesar. Remember that the next
time you go pick up some groceries.
</code></pre>
<a href="http://www.snopes.com/history/american/gauge.asp" rel="nofollow">http://www.snopes.com/history/american/gauge.asp</a><p><pre><code> This item is one that, although wrong in many of its details,
isn't completely false in an overall sense and is perhaps more
fairly labeled as "Partly true, but for trivial and unremarkable reasons."</code></pre>
Maybe more interesting is why we've retained some of the limitations of the past, while moving beyond others. 80 characters probably isn't as constraining when your variable names are limited to 6 character (as in Fortran77), and seem more constraining for identifiers like "MemberSubmissionAddressingWSDLParserExtension".<p><a href="http://www.pushing-pixels.org/2007/11/07/and-the-longest-jre-class-name-is.html" rel="nofollow">http://www.pushing-pixels.org/2007/11/07/and-the-longest-jre...</a>
In the early-aughts I worked for a small web software company that used Microsoft systems for development and production. We got bought out by a larger "professional" dev house (that also developed on MS products) and a new edict issued (so we could be professionals): we needed a STRICT coding standard. 80 chars per line NO EXCEPTIONS. Of course that was the only rule set in stone for all languages.<p>Even the plain, flat HTML files had to be less than 80 chars per line.
Any coding style that benefits from indentation is strangled by 80 chars. I still need to set up a ruler on Sublime, or else over the course of a week the lines will progressively get longer because I'm unwilling to break for just a few characters without it, but we've all decided to do 120. Hell, if only for comments, I don't want those to be newspaper columns.
If the line of code has many narrow characters (like <i>i</i>, <i>l</i>, <i>t</i>, <i>f</i>, parens, comma, and dot) and few wide characters (like uppercase or Chinese characters in your identifiers) then you can have much more than 80 characters on a line IMO.<p>Or were you advocating breaking the 80 chars per line restriction, but not the fixed-width font restriction?
My day job used to involve coding in RPG which still enforced 80 column formatting as of the late 90s, where specific columns have specific meanings and are populated with indicators that represent types and instructions. This is a direct result of programs being written using punched cards, but was carried into the interactive environment as well.<p>Examples here: <a href="http://en.wikipedia.org/wiki/IBM_RPG#Example_code" rel="nofollow">http://en.wikipedia.org/wiki/IBM_RPG#Example_code</a>