Slashdot Mirror


Programming With Proportional Fonts?

theodp writes "Betty or Veronica? Mary Ann or Ginger? Proportional or Monospaced? There's renewed interest in an old blog post by Maas-Maarten Zeeman, in which M-MZ made the case for programming with proportional fonts, citing studies that show proportional fonts can be read 14% faster than fixed-width fonts. Try it for a couple of weeks, he suggests, and you might like it too. Nowadays, Lucida Grande is M-MZ's font of choice on OS X, and he uses Lucida Sans on Windows. Helvetica, anyone?"

394 comments

  1. prophecy by Anonymous Coward · · Score: 4, Funny

    this guys just trying to ensure the prophecy of the helvetica wars is fulfilled

    1. Re:prophecy by Dun+Malg · · Score: 1

      Meh. Helvetica on-screen isn't that good.

      --
      If a job's not worth doing, it's not worth doing right.
    2. Re:prophecy by Surt · · Score: 2, Funny

      Blasphemer! Stone him and raze his village!

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    3. Re:prophecy by Krupuk · · Score: 1

      No! Not Helvetica! Don't they know the dangers of a possible Helvetica Scenario?

    4. Re:prophecy by Anonymous Coward · · Score: 0

      Nah. He's already stoned.

  2. Monaco by psergiu · · Score: 3, Funny

    Monaco is fixed-width & good looking.

    --
    1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
    1. Re:Monaco by psergiu · · Score: 5, Insightful

      background: black
      foreground: X11:peachpuff or #99CF96
      font: X11:10x20 or Monaco 12pt

      That's way faster to read than anything on a bleed-your-yeys white background.

      TFA is comparing 10pt Monaco with a 12pt font. Put them both at 12pt and Monaco - which is monospaced - the way God intended computer displays to be - wins.

      --
      1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
    2. Re:Monaco by Jurily · · Score: 3, Insightful

      There are a lot of fixed width fonts specifically designed so each character is unique in appearance. That is not negotiable when programming.

      oO0 il1 lilli

    3. Re:Monaco by psergiu · · Score: 5, Informative

      Monaco is one of them. 0 is slashed and 1, l, I and | are unique.

      --
      1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
    4. Re:Monaco by h4rm0ny · · Score: 3, Funny


      Still, I'd be willing to give it a try. If I knew how to get proportional fonts in vi. Anyone tell me how to add proportional fonts to a terminal in KDE 4?

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    5. Re:Monaco by thogard · · Score: 1

      Monaco is fixed-width & good looking.
      Um no... its not good looking.

    6. Re:Monaco by frisket · · Score: 1

      background: black
      foreground: X11:peachpuff or #99CF96
      font: X11:10x20 or Monaco 12pt

      That's almost exactly how my Emacs starts up, except I tend to use 12x24 for text documents (eg XML, LaTeX, etc) as it's even more readable; I don't do a lot of programming these days. The trick is to get the right set of colours for font-lock-mode...

    7. Re:Monaco by Anonymous Coward · · Score: 0

      That's way faster to read than anything on a bleed-your-yeys white background.

      Unless most colors on black are near-painful for you, like it is for me. I feel like I've been staring at a lightbulb and get annoying "burn in" very quickly. Oddly enough, green text on black doesn't do this unless it's lime green.

    8. Re:Monaco by A+Friendly+Troll · · Score: 1

      That's way faster to read than anything on a bleed-your-yeys white background.

      For a lot of people (I've seen estimates between 20% and 50%), light-on-dark is much harder to read than dark-on-light, even if they wear corrective glasses or contact lens.

      I get headaches from reading light text on a dark background...

    9. Re:Monaco by TheRaven64 · · Score: 1

      This is actually something that I've been playing with recently. For simple command-line programs, including the shell, there's no reason why the terminal emulator can't use proportional fonts. For things that use curses, it's a bit more difficult. You can more or less get it working if you have the terminal sends SIGWINCH every time you make a line long enough to cause it to wrap, resetting the window 'width' to the number of characters in the line that will wrap. Programs that use curses to generate dialog boxes will still break, but vim will work more or less correctly. You can, of course, also provide extra terminal control codes for getting the width of a given line and for using a fixed-width font (for things like curses drawing).

      --
      I am TheRaven on Soylent News
    10. Re:Monaco by Anonymous Coward · · Score: 4, Funny

      Bah, you kids and your unique characters. I use fixedsys, and typing the wrong characters has never been a pr0blem.

    11. Re:Monaco by bmo · · Score: 1, Redundant

      >background: black
      >foreground: X11:peachpuff or #99CF96
      >font: X11:10x20 or Monaco 12pt

      You just reinvented the amber monochrome screen.

      Now if you could simulate a long persistence phosphor.

      Maybe there's a market for used Wyse 80 amber terminals.

      --
      BMO

    12. Re:Monaco by BrokenHalo · · Score: 1

      Interesting you should say that. I haven't coded full-time for a few years now, but I often feel I was more productive with the old amber-on-black ANSI terminal than I have ever been with modern devices. But maybe that's because the hardware effectively forced me to not be diverted by the distraction of extraneous shiny things...

    13. Re:Monaco by maestroX · · Score: 1

      That's way faster to read than anything on a bleed-your-yeys white background.

      The only downside is that the rest of the apps have white background, which strains the eyes even more when switching between a dark workspace (your editor) and other windows (like a webbrowser).

    14. Re:Monaco by kbielefe · · Score: 2, Insightful

      TFA is comparing 10pt Monaco with a 12pt font. Put them both at 12pt and Monaco - which is monospaced - the way God intended computer displays to be - wins.

      You're missing the point that if you're trying to fit a certain amount of text horizontally on the screen, you can use a bigger font size with a proportional font.

      --
      This space intentionally left blank.
    15. Re:Monaco by Sir_Lewk · · Score: 3, Insightful

      Um yes... its good looking.

      See what I did there? "good looking" is subjective and when you act like it's not you come off as a jackass.

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
    16. Re:Monaco by cynyr · · Score: 1

      How do you get outputed tables to line up in a terminal using proportional fonts? or how about indenting?

      --
      All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
    17. Re:Monaco by koinu · · Score: 1

      O_O ... you slashdot ppl amaze me!

      I just googled for "monaco font" and it gave me:
      "97th most popular search in the past hour"

      Hmm... I guess it makes more sense to build up my personal army here and not in /b/.

    18. Re:Monaco by Dun+Malg · · Score: 4, Funny

      Now if you could simulate a long persistence phosphor.

      It's just not the same without a permanently burned-in login prompt

      --
      If a job's not worth doing, it's not worth doing right.
    19. Re:Monaco by zill · · Score: 1

      Programming fonts and proportional fonts are not mutually exclusive. You could have a proportional font that clearly differentiate "oO0 il1 lilli".

    20. Re:Monaco by aztracker1 · · Score: 1

      Could be the keyboards too, I find that since I went back to using Model M style keyboards, I'm much more productive. If you want one with the Super/Win keys then I'd go with Unicomp, otherwise you can get some older or referbs from a few locations. :)

      --
      Michael J. Ryan - tracker1.info
    21. Re:Monaco by Korin43 · · Score: 1

      I thought the problem was how much you can fit vertically. I was under the impression that pretty much all screens are wide now.

    22. Re:Monaco by mikael · · Score: 1

      I downloaded around 6000+ free TrueType fonts for my desktop environment. It really makes filling in application forms when the default font style is Bladerunner, Arial or Laser or Sci-Fi, and important information is highlighted in red or black.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    23. Re:Monaco by moosesocks · · Score: 1

      Actually, if you do enough usability testing, and collect statistics with a large and diverse enough sample size, you can objectively claim that it's good looking.

      Similarly, eye tracking equipment and reading tests can be used to determine the legibility of a given typeface.

      Apple's done extensive usability testing since the beginning, while Microsoft have seriously ramped up their efforts in this department over the past few years (and it shows). Microsoft's also no slouch when it comes to typography, even though their efforts might be a bit misguided (font rendering in Windows and Office is objectively terrible) -- rumor goes that several man-years went into optimizing the on-screen legibility (hinting) of Times New Roman. (Unfortunately, TNR is an ugly compromise between on-screen legibility and legibility on paper. It can look quite nice with proper kerning, spacing, and anti-aliasing, although the default Word templates don't take advantage of any of this. A block of text as formatted by Word's default template is very difficult to read -- you either need to increase the spacing, or put the text into columns for it to be readily legible.)

      Typography predates computing by nearly a millennia. There is a science behind producing legible blocks of text, and years of conventional wisdom in the printing industry are finally beginning to trickle down into the world of mainstream computing.

      and back to my original point: Monaco tests fairly well as far as monospaced fonts are concerned, although Apple's now using a newhttp://developers.slashdot.org/story/10/01/17/0715219/Programming-With-Proportional-Fonts# mono font as default on 10.6.x. Some of the other newer entrants to the field are fantastic -- Microsoft's Consolas could be mistaken for a proportional font, while the GPL-friendly Droid Sans Mono certainly isn't bad.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    24. Re:Monaco by suffix+tree+monkey · · Score: 1

      [citation wanted, but not needed]

      Well, not exactly. I'd like to find a font where the ASCII characters are *so* different that it's easy to distinguish between them even in really tiny sizes. That even at the price of branching off from the "standard" letters (I don't mind triangles instead of 'o's etc.).

      Thanks!

    25. Re:Monaco by gid · · Score: 1

      You'd think all fonts should be this way. Some fonts drive me crazy, especially how I and l look identical in what's probably Arial I'm looking at now in FF. And WTF sheesh, 0 should always be slashed.

    26. Re:Monaco by nschubach · · Score: 1

      The problem isn't "0O" differentiation. It's trying to figure out if that one char 'O' is a zero or an "O." Most editors have the ability to colorize numbers differently than variables, but not everyone uses it. You could be checking if a variable == 0 or if that same variable matches constant O.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    27. Re:Monaco by Obsi · · Score: 2, Interesting

      What you propose would confuse a Scandinavian. Quoting [1]:

              The numeral 0 -- Some writers put a diagonal slash through the
              numeral 0 (zero), a practice that may have originated with early,
              low-resolution computer terminals which displayed a slashed "zero"
              glyph to distinguish it from the capital letter O. This practice is
              confusing to speakers of Danish and Norwegian languages containing
              the letter "Ø", and they prefer to place a dot in the center of zero
              for this purpose.

      [1] http://en.wikipedia.org/wiki/Regional_handwriting_variation

    28. Re:Monaco by Your+Pal+Dave · · Score: 1

      Could be the keyboards too, I find that since I went back to using Model M style keyboards, I'm much more productive.

      Is that due to the keyboard's mechanics, or simply to the fact that you know that everyone in your office can tell when you're slacking because they can't hear the loud clicks?

      FWIW, I share the Model M fetish, typing on a Unicomp now. Thrift stores can be a good source of cheap Model Ms as well.

    29. Re:Monaco by Anonymous Coward · · Score: 0

      Yeah, it's not. My IDE's typing Window is about the size of a sheet of paper. There's another sheet's worth on screen, for a browser, say. Or netflix.

    30. Re:Monaco by RedWizzard · · Score: 1

      Um yes... its good looking.

      See what I did there? "good looking" is subjective and when you act like it's not you come off as a jackass.

      Didn't you just call yourself a jackass?

    31. Re:Monaco by TheObjectEngineer · · Score: 1

      Meh. It looks okay IMSFHO, but it is kinda childish. Liberation Mono is a much better fixed width font. Again only in my SFHO...

      On the serious side, if you have used Liberation Mono you should give it a try.

    32. Re:Monaco by grub · · Score: 1


      I prefer the soothing contrast of #2 pencil on arrowroot-coloured cards.

      --
      Trolling is a art,
    33. Re:Monaco by sgbett · · Score: 1

      But 90% of programming is staring into space!

      --
      Invaders must die
    34. Re:Monaco by aztracker1 · · Score: 1

      I think It's probably the mechanics as much as anything else. I type a lot faster on my Model M Unicomp than I have been able to in a while. I got a Endurapro model for work, with the trackpoint. To be honest, it's not as nice as I thought it would me. I do have a Customizer 104 at home, and am considering getting another to replace the Endurapro at work. I actually do a lot more typing at home, at work it's mainly code writing so bracket/brace combinations break the typing flow. For message posting and email, etc I can get through things a lot faster.

      --
      Michael J. Ryan - tracker1.info
    35. Re:Monaco by EvanED · · Score: 1

      The problem isn't "0O" differentiation. It's trying to figure out if that one char 'O' is a zero or an "O."

      You say toe-may-toe, I say toe-ma-toe.

      And if anyone uses "O" as a variable (/constant) name they deserve to be executed, regardless of font. :-)

  3. Pffffft... by Anonymous Coward · · Score: 0

    ... yeah right!

  4. Overrated by tjstork · · Score: 3, Insightful

    I've programmed in proportional fonts. It's ok, but I prefer fixed width for alignment.

    --
    This is my sig.
    1. Re:Overrated by interiot · · Score: 4, Informative

      Elastic tabstops solve the alignment problem. "Do what I mean, not what I say" with whitespace is a good thing, particularly when the width of a character can be totally different for every reader. Elastic tabstops aren't implemented in many editors yet (currently available as an optional feature in gedit and Code Browser), but once it becomes more widespread, many more programmers will be free to try out proportional fonts for coding.

    2. Re:Overrated by Anonymous Coward · · Score: 0

      But alignment would be the same no matter what font you use, at least assuming you don't mix tabs and spaces. Two spaces in a non-proportional font are always the same width, but so are two spaces in a proportional font.

      Granted, two spaces in many proportional fonts aren't going to be enough to make indentation obvious, but beyond that...

    3. Re:Overrated by Megane · · Score: 2, Interesting

      I did it once too, back in the early '90s. I was working on an adware program for Buick, so I used Eras as the font in my IDE (FYI, I was using a Mac, I think the PC guys were using Turbo Pascal) and it worked out real well.

      But I prefer monospaced fonts because you can't save your font and tab stop preferences in a plain-text ASCII file, and you don't want your text to look like a complete mess when someone else looks at it. You can only use hard tabs, and 8 spaces is just too wide for most programming.

      One thing's for sure... I wish I could type this message that I'm typing right now in a proportional font. Monospaced is horrible for non-code text. But the standard text input area for HTML is monospaced. Slashdot really needs an option for an "advanced editor".

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    4. Re:Overrated by Yvanhoe · · Score: 2, Insightful

      Actually, it is less error-prone to work with fixed fonts, IMHO.
      In many occurences, one can anticipate if one line will have one more or one less characters than the previous one. Having a way to quickly check this gives a little supplemantal layer of proof-reading.

      this->posx=0;
      this->posy=0;
      tis->ttl=40;
      this->source="";

      The typo is easier to spot in fixed font.

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    5. Re:Overrated by mdf356 · · Score: 2, Informative

      and 8 spaces is just too wide for most programming.

      Tell that to the FreeBSD foundation. Or the bulk of the kernel developers for AIX. Both places use 8 space tabs in style(9).

      --
      Terrorist, bomb, al Qaeda, nuclear, yellowcake, kill, assassinate. Carnivore is dead... long live Echelon.
    6. Re:Overrated by Anonymous Coward · · Score: 0

      Seconded.

    7. Re:Overrated by jo42 · · Score: 1

      I prefer fixed width for alignment

      Not to mention that a proportional font would make a Python programmer's head explode...

    8. Re:Overrated by ceoyoyo · · Score: 1

      But then they'd all have to use tabs!

      Ah, the one true tabbed way will soon rise to ascendancy.

    9. Re:Overrated by ceoyoyo · · Score: 4, Insightful

      Just use tabs. If the dork who opens your text file doesn't have his tab stop set for his preferred size then he deserves to see ugly code.

      You probably use four spaces, hey? Personally I hate four spaces. Waste of space. Two is the way it was intended to be. But I understand that other people might have different preferences. With tabs we can all be happy.

    10. Re:Overrated by AniVisual · · Score: 1

      The case that proportional fonts are not good for programming. Ask yourself these questions before seriously contemplating switching over to proportional fonts:

      • Is it easy to distinguish between ; and :, and ' and "? Also, are ,. distinguishable?
      • Does '' look like " ? What about `` ?
      • Is it easy, at a glance, to distinguish between [{}]()l\/V1!Ii|?
      • Of course, the Oo0Q characters too.

      Monospace fonts gives width to characters like punctuation and parentheses which is undesirable in prose but essential in programming.

    11. Re:Overrated by Vexorian · · Score: 1

      In this specific case I don't think monospace font makes a difference? this is the same word in all the four lines anyway... this->posx=0;
      this->posy=0;
      tis->ttl=40;
      this->source="";

      I am not quickly dismissing your point, but just saying that you need a better example.

      --

      Copyright infringement is "piracy" in the same way DRM is "consumer rape"
    12. Re:Overrated by denmarkw00t · · Score: 1

      I just wanted to see for myself:

      this->posx=0;
      this->posy=0;
      tis->ttl=40;
      this->source="";

      After hitting Preview, I'm not sure your argument holds up as well as I thought. I understand as a programmer that being able to quickly spot where certain keywords are shorter/longer than they should be is important, but viewing the above in proportional font makes it obvious that just about any font will show when you mistype, especially in a situation like that where you're using the same keyword (this) to start each line.

    13. Re:Overrated by Anonymous Coward · · Score: 1, Informative

      One thing's for sure... I wish I could type this message that I'm typing right now in a proportional font. Monospaced is horrible for non-code text. But the standard text input area for HTML is monospaced. Slashdot really needs an option for an "advanced editor".

      HTML does not define a "standard text input" font. Blame your browser.

    14. Re:Overrated by Anonymous Coward · · Score: 0

      Or the Linux kernel, or most other older Unix projects.

      4-space aligned tabs, and spaces-as-tabs is a horribly infectious virus acquired from the slew of young programmers who learned to program on Windows. It's made worse by the fact that C++ style was largely dictated by Microsoft and Windows users, because only recently has C++ become a common Unix language.

    15. Re:Overrated by Anonymous Coward · · Score: 0

      Cool! I remember playing those Buick disks we used to get in the mail. I was using your software on a Mac in 1990 and didn't even know it. We didn't end up buying any Buicks, but always found the disks rather interesting.

      These days I'm working in Python, so tabs, spaces, and whatnot are both crucial and infuriating.

      For the record, I use non-antialiased Monaco with a variety of syntax coloring on a black background. LCDs begin to sort of burn my eyes if I'm sitting at one using a white background for too long.

    16. Re:Overrated by Anonymous Coward · · Score: 2, Insightful

      Sorry, Elastic Tabstops solve nothing. That is just yet another way of interpreting a tab character. The problem with tabs is the tab character itself and the fact that different rendering mechanisms interpret it differently. If you type a tab in an editor which renders it as an 8-character indentation and I view it in an editor which renders it as a 4-character indentation, then what I see is not what you intended. The only thing which works consistently is to use a fixed-width font and space characters for indentation. Any programmer who doesn't grasp this and who puts tabs into his code is obviously not a good rational thinker and is thus probably not a very good programmer.

    17. Re:Overrated by Anonymous Coward · · Score: 0

      Good, that would be an improvement.

    18. Re:Overrated by nedlohs · · Score: 1

      And yet every person in my shared office in the late 90s who used a proportional font for programming also mainly programmed in python. And of course the examples in TFA are python, so that makes 100% of the people I know and don't know who claim to use proportional fonts for programming are also python programmers.

      A proportional font has no effect at all on leading spaces, which are the only ones that matter in python in ways they don't in most other languages.

      So why would it matter to python programmers?

    19. Re:Overrated by Garble+Snarky · · Score: 1

      You should just write a simple bookmarklet or greasemonkey script to change the style of all input areas.

    20. Re:Overrated by Anonymous Coward · · Score: 0

      Tell that to the FreeBSD foundation. Or the bulk of the kernel developers for AIX.

      Guys, 8 spaces for tab indentations is far too wide!

      Were they listening? Eh, probably not.

    21. Re:Overrated by characterZer0 · · Score: 1

      Any programmer who doesn't grasp this and who puts tabs into his code is obviously not a good rational thinker and is thus probably not a very good programmer

      There are plenty of good rational thinkers and good programmers who write code in environments where the development tools are homogenous and tabs are used.

      --
      Go green: turn off your refrigerator.
    22. Re:Overrated by Anonymous Coward · · Score: 0

      Any programmer who ... puts tabs into his code is obviously not a good rational thinker....

      Congratulations, you win the award for least obvious "obvious" proposition.

    23. Re:Overrated by pjt33 · · Score: 4, Insightful

      Nonsense. Differing widths of tab-stops only cause problems when people mix tabs and spaces.

    24. Re:Overrated by Surt · · Score: 1

      If your ide didn't point out that error with a red underline or some such you are working in the wrong environment, or naming your variables very very poorly.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    25. Re:Overrated by HiThere · · Score: 1

      I prefer proportional fonts with serifs...and use tabs for alignment.

      N.B.: With many proportional fonts you can't use spaces for alignment, as they are about one pixel wide...(well, actually, less).

      OTOH, with a good monospaced font I still find myself preferring tabs for alignment. It allows me to reformat the entire file merely by changing the number of spaces that each tab represents.

      But I much prefer a font with serifs, whether mono-spaced or not. It does, however, depend on what I'm writing whether I prefer proportional. If there's a lot of similar stuff on adjacent lines, then perhaps monospaced is better. This is, however, relatively unusual. So I usually prefer proportional. (But I do use a lot of tabs to align adjacent lines...internally as well as externally. I'll frequently use a tab on either side of the "=" to facilitate alignment. When doing so it's important that tab size be somewhere around 3 or 4 spaces, or it starts to look ugly.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    26. Re:Overrated by FiloEleven · · Score: 2, Funny

      I use three spaces, but I'm odd.

    27. Re:Overrated by fyngyrz · · Score: 1

      The better example is simply missing the 'i', which is thin.

      this->posy=0;
      ths->ttl=40;
      this->source="";

      As compared to:

      this->posy=0;
      ths->ttl=40;
      this->source="";

      That's a pretty big visual difference.

      There are other issues, like setting up tables and arrays, where not only do I use fixed width (always), but I use "replace" after the array is set up so I can waltz down the column of [ ]'s and fill in the appropriate things. There are many potential situations like this. Sometimes I have arrays of canned SQL selects, same kind of issues.

      Totally on board with the idea that proportional fonts have no place whatsoever in my source editing.

      --
      I've fallen off your lawn, and I can't get up.
    28. Re:Overrated by dcam · · Score: 1

      This depends on the language. In C you are generally only one tab in before starting to code. In Java or C#, you are 3 in, one for namespace, one for class, and one for the function. HTML, though not really code, is worse again.

      --
      meh
    29. Re:Overrated by fbjon · · Score: 1

      It's not just another way of interpreting a tab, it's the right way to interpret a tab: semantically, not as a character in itself. The point with elastic tabs is to use editors that support it, not to change the world of all the old bearded ones.

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    30. Re:Overrated by fbjon · · Score: 1

      I wish I could type this message that I'm typing right now in a proportional font.

      You could try loading a custom CSS for slashdot with
      input { font-family: xyz; }

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    31. Re:Overrated by moosesocks · · Score: 1

      You were writing adware for Buick in the 90s using a Mac?

      So many things about this just don't add up. Do explain more...

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    32. Re:Overrated by Darinbob · · Score: 1

      The problem with this idea is that it requires the editors to handle the work of aligning things, thus everyone who reads your code needs an editor that handles this feature the same way that your editor did. This is great stuff if you are the only one who sees your code, ever. But when someone tries to display it in a terminal window, in a source code control browser, in a diff program, or tries to print it, the alignment will be wrong. Yes, it is important that the programmers read their own writing but that is only half the fight - nearly as important is for other people to be able to read what they wrote!

    33. Re:Overrated by Anonymous Coward · · Score: 0

      As long as they use hard tabs, that is not a problem at all as you can set your preferred tab width. Anyone using spaces for indenting deserves death by fire.

    34. Re:Overrated by Anonymous Coward · · Score: 0

      Just use tabs. If the dork who opens your text file doesn't have his tab stop set for his preferred size then he deserves to see ugly code.

      Agreed.

      You probably use four spaces, hey?

      That's my preferred tab width.

      I understand that other people might have different preferences. With tabs we can all be happy.

      MOD PARENT UP.

    35. Re:Overrated by Capsaicin · · Score: 1

      These days I'm working in Python, so tabs, spaces, and whatnot are both crucial and infuriating.

      They are until you elimate all tabs from your code. Which editor are you using? I'm a vi* guy, and vi has an annoying habit of mixing tabs and spaces to accomplish various level of indentation. Luckily in vim you can set expandtab, which will automagically convert all inserted tabs to whatever your shiftwidth value is set to. Not that you would never touch the tab or spacebar to create indentation, of course.

      Also useful are the -t and -tt switches?

      --
      Better to be despised for too anxious apprehensions, than ruined by too confident a security. --Edmund Burke
    36. Re:Overrated by coaxial · · Score: 1

      Yet another "solution" to the Gordian Knot. This fails because:

      (x) Everyone needs to hit tab and not space
      (x) Everyone's editor must be configured to insert tabs rather than spaces when the tab key is pressed
      (x) Uses an editor specific trick
      (x) Has been tried before: __settable_tab_stops__

      People are a lazy and dumb. In 50 years of programming, neither of these conditions have ever been met anywhere.

      What makes this idea any different?

    37. Re:Overrated by leenks · · Score: 1

      My IDE highlights "tis" with a red underscoring, regardless of the font used.

      I don't get this whole "my font is bigger than yours" debate, I really don't.

    38. Re:Overrated by nschubach · · Score: 1

      Honestly, I think editors/language should be smart/configurable enough to allow you to open a code file comprised of one line of code and it can indent and format the code to the developer's liking. When they save it, one line it again and remove all their needless formatting so when the next developer opens it they see the code how they prefer.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    39. Re:Overrated by rdnetto · · Score: 1

      Nonsense. Differing widths of tab-stops only cause problems for people who mix tabs and spaces.

      There, fixed that for you.

      --
      Most human behaviour can be explained in terms of identity.
    40. Re:Overrated by mike_ekim · · Score: 1
      The elastic tabstops demo is nice. I played with the idea of empty lines having half-height - sometimes I want something grouped together, but not on the next line, and not a whole line in between. For example, the huge gap in this code:

      struct Foo {
      void getFoo();
      void getBar();

      void setFoo();
      void setBar();
      };

    41. Re:Overrated by Anonymous Coward · · Score: 0

      I see your not a very good programmer and raise that someone who uses spaces in the place of tabs is probably not a very good person.

      Tabs are there for indentation, their width on some editor is irrelevant.

      The problem some people, including the fags using proportional fonts, have is that they are writing C when they would be happier writing CSS.

      Next thing you know, they start sending BMP patches.

    42. Re:Overrated by Anonymous Coward · · Score: 0

      The problem some people, including the fags using proportional fonts, have is that they are writing C when they would be happier writing CSS.

      Like this particular fag? (Yes, those fonts are proportional).

    43. Re:Overrated by Anonymous Coward · · Score: 0

      Used this exact situation the other day, whilst scanning down a list of email addresses, all of which followed the naming convention of 8 chars followed by the domain. Whilst looking for something else, I noticed three email addresses that were incorrect, purely because the @ was in the wrong column. I probably wouldn't have noticed if the font had been proportional.

    44. Re:Overrated by pjt33 · · Score: 1

      Broke it for me, you mean. If one person mixes tabs and spaces it's more likely to cause problems for other people than for the culprit, unless he uses multiple editors or multiple computers with different configurations for the same editor.

    45. Re:Overrated by Anonymous Coward · · Score: 0

      That's because you have a really small font.

    46. Re:Overrated by metamatic · · Score: 1

      Differing widths of tab-stops only cause problems when people mix tabs and spaces.

      Serves you right for using Python.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    47. Re:Overrated by jgrahn · · Score: 1

      Sorry, Elastic Tabstops solve nothing. That is just yet another way of interpreting a tab character. The problem with tabs is the tab character itself and the fact that different rendering mechanisms interpret it differently. If you type a tab in an editor which renders it as an 8-character indentation and I view it in an editor which renders it as a 4-character indentation, then what I see is not what you intended.

      Sure -- because you have misconfigured your tools. It's not my fault -- just as its not my fault the text is upside-down if you have turned your monitor upside down. (But as you see I agree that "Elastic Tabstops" is a bad idea.)

      The only thing which works consistently is to use a fixed-width font and space characters for indentation. Any programmer who doesn't grasp this and who puts tabs into his code is obviously not a good rational thinker and is thus probably not a very good programmer.

      No, rational thinking here would be: TAB is useless unless everyone interprets it the same. Terminal emulators, printers and all sane program defaults choose 8 spaces, therefore I should use 8-spaced TABs, and ignore people who modify their tools to use some other setting -- they have already fscked it up for themselves and will not notice the extra pain.

    48. Re:Overrated by shutdown+-p+now · · Score: 1

      Nonsense. Differing widths of tab-stops only cause problems when people mix tabs and spaces.

      This only holds true when considering line indentation. This is absolutely not true when using whitespace to align comments, or function arguments, etc. For example, consider this:

      void
      foo(a_very_long_type_name_1 a,
          a_very_long_type_name_2 b,
          a_very_long_type_name_2 c);
       
      foo(a_very_long_expression_1,
          a_very_long_expression_2,
          a_very_long_expression_3);

      This is a perfectly valid coding style, but it requires spaces (and proportional fonts) to align the identifiers properly. If you use tabs, then identifiers will only align for one particular tab width, and no other.

      You may say that the above code style is improper, and that may be arguable for C-style languages, but there are some other languages out there for which it is a de facto standard; to wit, Haskell (and also F#):

      let y = a*b
          f x = (x+y)/y
      in f c + f d

      It is precisely why "elastic tabs" were invented in the first place. But, as GP rightly notes, unless and until all editors uniformly interpret tabs in a single way, tabs have no place in the source code, period.

    49. Re:Overrated by shutdown+-p+now · · Score: 1

      4 tabs for C++ makes perfect sense, as you generally get deeper nesting compared to C, what with classes and namespaces.

      Oh, and non-8-space tabs are a lot older than that. IIRC, Borland C++ used to use either 2-space or 4-space tabs by default, and it was generally the compiler on choice (over, say, MSC) on DOS for a long time.

    50. Re:Overrated by fyngyrz · · Score: 1

      My IDE highlights "tis" with a red underscoring, regardless of the font used.

      And if "ths" and "this" are both valid structures, with valid elements as named, but what you meant was to type "this" twice, what will your IDE do then? Nothing. But your eye has a better chance of catching it if you were using fixed width fonts, because your intent has the consequence of creating a visually aligned display, while your error does not. So when your pattern recognition flares up and says "hey, that's not prettily aligned", you catch it.

      As a human, you have pattern recognition. It's a built-in feature of your design. If you elect to cripple it, that's almost certainly going to have consequences.

      --
      I've fallen off your lawn, and I can't get up.
    51. Re:Overrated by pjt33 · · Score: 1

      I indent like that. Using -> to represent tab and . to represent space, I write

      ->->foo(arg1,
      ->->....arg2,
      ->->....arg3);

      There's no "mixing" as such because there's a clear boundary between tabs (used for indentation) and spaces (used for alignment within a line).

      Good point about functional languages. I do use spaces only for indentation when writing SML, but I forgot about that because I do it so rarely nowadays.

      (P.S. You meant "monospaced fonts", right?)

    52. Re:Overrated by clone53421 · · Score: 1

      All of those questions are relative to the shape and spacing of the characters, not whether the font is fixed-width or proportional.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    53. Re:Overrated by BlindSpot · · Score: 1

      No way! Like most decent developers, I consider my code to be an artistic work, which means that if I write it with the indent at 4 spaces then damnit I want the world to see it exactly as I wrote it. You don't get to move Mona Lisa around inside the frame, so why should you think you can change the appearance of my masterpiece?!

    54. Re:Overrated by ceoyoyo · · Score: 1

      Damn kids with their white space. Back in the good old days we did things right - the code was the art. A little bit manipulation here, some inline assembler there.... It didn't matter one bit how you arranged it on the screen, it was still beautiful.

    55. Re:Overrated by Anonymous Coward · · Score: 0

      Late late late to the thread, but I just had to say I hope I never have to work with your code. You obviously never work with anyone else (or are stupendously arrogant). Why on earth should I have to reconfigure my tab width on a per-file basis? Otherwise, tabs or no, the alignment is right out the window. Further, what about when someone else works on the code, and starts interspersing spaces with your tabs?

      If tabs are used in code at all, they must be on 8 character centers. In reality, though, tabs in code are EVIL, and those who promulgate that hated practice should be shunned. How on earth did this get modded "insightful?"

  5. Consolas by Mangala · · Score: 5, Insightful

    Microsoft's Consolas with properly tweaked ClearType has been my personal favorite since its release. Another huge improvement to my code screen is changing the background color to a light grey - still not a dark color scheme, but much less glaring than pure white.

    1. Re:Consolas by Anonymous Coward · · Score: 4, Insightful

      Second the Consolas recommendation. One reason why I prefer fixed-width fonts is that proportional fonts reserve too little room for dots, commas, semicolons and other "narrow" characters, which happen to be of great importance in programming. Proportional fonts focus on text, while programming languages focus on structure.

    2. Re:Consolas by MoeDrippins · · Score: 2, Informative

      I do much the same. I waffle between light grey and "wheat"* for the background, but never, ever white.

      * wheat: http://en.wikipedia.org/wiki/Wheat_(color)

      --
      Before you design for reuse, make sure to design it for use.
    3. Re:Consolas by gbjbaanb · · Score: 1

      second the light grey, but I use an off-white instead. The creamy colour is still white-ish so doesn't look as nasty as grey but takes the edge off pure white. Hint: you need to take the tiniest amount off, too much and the little colour square you thought looked good will turn yellow on a large panel.

    4. Re:Consolas by EdZ · · Score: 1

      I can't find the link right now, but I remember reading that the easiest to read (i.e. a sample group were able to read it fastest on average) font and background colours are a pale yellow for the background and a dark green for the font.

    5. Re:Consolas by smtrembl · · Score: 1

      It's not so much about "readability" (I can read lots of text superfast) as it's about "readability" (I can poinpoint stuff in code structure easily).

      Anyway, Consolas rules my world.

    6. Re:Consolas by Anonymous Coward · · Score: 0

      I have used a pale yellow (RBG: 255,255,232) background with black font for the last decade and wouldn't have it any other way. The color is very subtle but makes it much easier to stare at 16 hours a day.

    7. Re:Consolas by nabsltd · · Score: 3, Interesting

      Anyway, Consolas rules my world.

      I tend to use 9-point Bitstream Vera Sans Mono.

      Consolas at that size has both vertical and horizontal spacing that just doesn't look right to me. At larger sizes (11-point or more), the smaller x-height of Consolas gives it a better look. The "x-height war" that Microsoft started where all of their standard fonts have a large x-height for more readability but far less style is reversed a bit in Consolas.

      Both Consolas and Bitstream Vera Sans Mono are great programming fonts because the easily confused characters are all obviously different. I like the comma in Consolas better, though, because it's even more obviously not a period.

    8. Re:Consolas by Anonymous Coward · · Score: 0

      Another alternative to Consolas (which I agree has spacing issues) is Droid Sans Mono with a slashed zero. I liked the original Droid Sans Mono, which had a plain zero, but I stuck with Bitstream Vera Sans Mono because it had the dotted zero. Then I saw that there was a dotted zero version of Droid Sans Mono, and now there's a slashed zero version (which is what I currently use).

    9. Re:Consolas by crazybilly · · Score: 1
      Gotta agree with Consolas--all programming issues aside, lowercase "g" is gorgeous.

      If only Consolas wasn't a M$ product. Or to put it the way I really think, if only Consolas was open source...Since it's not, I use Liberation Mono on a big screen and Droid Sans Mono at home.

    10. Re:Consolas by sanosuke001 · · Score: 1

      I've been using Consolas for almost a year now and I love it. I've even switched my default font at home to it. (browser, text editors, command windows, etc)

      Proportional fonts are evil.

      --
      -SaNo
    11. Re:Consolas by bertok · · Score: 1

      Gotta agree with Consolas--all programming issues aside, lowercase "g" is gorgeous.

      If only Consolas wasn't a M$ product. Or to put it the way I really think, if only Consolas was open source...Since it's not, I use Liberation Mono on a big screen and Droid Sans Mono at home.

      AFAIK, fonts can't be copyrighted. You should be able to use any MS font anywhere.

      Don't quote me on that, I'm not a lawyer.

    12. Re:Consolas by crazybilly · · Score: 1

      I'm pretty sure they can be. I know they can be licensed (the Droid family is under the Apache license, iirc). Regardless, I know you can't legally distribute fonts unless they're under some sort of share-alike style license (Free Software licenses, CC license, etc). That's why there's such a big stink about this @font-face thing in html5 (or the new css or whatever it is).

    13. Re:Consolas by EvanED · · Score: 1

      I believe the way copyrights work on fonts is as follows: a particular font file can be copyrighted but the shape of the glyphs can't. So you could take screenshots of every letter at each size and distribute those bitmaps as a new font; take them and make your own glyphs based on them, etc., but you can't just email consolas.ttf (or whatever the heck file type fonts come in nowadays) to your buddy.

    14. Re:Consolas by BlindSpot · · Score: 1

      Ditto thumbs-up for Consolas. I use it not just for coding but anywhere that a fixed-width font is called for (terminal windows, non-HTML email, etc.). It's so nice to finally have a proportional font included on a Windows system that doesn't look like it's been scanned from a 1970s dot-matrix printer.

  6. For bug-free code ... by Anonymous Coward · · Score: 5, Funny

    MS Comic Sans is simply the best. My code doesn't have bugs, it has bloopers and out-takes.

    1. Re:For bug-free code ... by Anonymous Coward · · Score: 0

      That's why I stopped using Wingdings, I was worried about the capital m and the capital n.

    2. Re:For bug-free code ... by coaxial · · Score: 1

      Pfft. Wingdings or nothing.

    3. Re:For bug-free code ... by fm6 · · Score: 1

      Unfortunately, your software will probably be pulled after a couple of weeks in favor of a reality show.

    4. Re:For bug-free code ... by troll8901 · · Score: 1

      Looks to me like a broken ball-and-chain and a pirate symbol.

      Are we talking about an escapee from gaol for music/movie piracy here?

  7. fixed by HalfFlat · · Score: 2, Interesting

    fixed, AKA 6x13, or more formally, -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1.

    The one true programming font. No other font better manages the compromise between legibility and compactness, and being a well-crafted bitmap font, it is crisper and clearer than ever on modern LCD screens.
    X11 got it right 25 odd years ago, and now with near-full Unicode support, it's only gotten better.

    1. Re:fixed by psergiu · · Score: 1

      or 10x20 if you have a high-dpi display.

      --
      1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
    2. Re:fixed by arth1 · · Score: 2, Interesting

      I'm a predominantly Unix (and -like) user myself, but X11 fonts is one department where I think work is needed. The choice between 75 and 100 dpi (newer displays tend to be far more than 100 dpi), and no subpixel smoothing? As for "fixed", it's one of the least readable fixed width fonts. Whenever I encounter it, I switch it over to "screen" (by Haeberli, then at SGI), or better yet, consolas if hinted fonts are supported.

      As for TFA and using proportional fonts for programming, all I can say is that the author can't be doing a lot of unified diffs, or working with languages where the amount of indentation is significant (fortran, anyone?). Hell, even doing a cut/paste becomes more difficult when some of the letters are much narrower.
      And with most prop fonts, good luck seeing the difference between variables like ill, lil and il1, or B80, 8BO and B8Ø, for that matter.

    3. Re:fixed by Stele · · Score: 1

      I've been copying "Screen13" around to my various systems since working on SGIs in the 90s. I even have my editor set up to use the white on dark blue/purple background found in SGI terminals. Very nice readable font and text you can stare at all day.

    4. Re:fixed by Anonymous Coward · · Score: 0

      As for TFA and using proportional fonts for programming, all I can say is that the author can't be doing a lot of unified diffs, or working with languages where the amount of indentation is significant (fortran, anyone?).

      Python, anyone?

    5. Re:fixed by Col.+Bloodnok · · Score: 1

      -*-lucidatypewriter-medium-*-*-*-12-*-*-*-*-*-*-*

      Nicer.

    6. Re:fixed by multipartmixed · · Score: 1

      No way! That's a terrible font!

      I have been using -misc-fixed-medium-r-normal--15-140-75-75-C-90-ISO8859-1 since '97 or '98 and still be believe it to be far superior! Condensed is to skinny. :)

      I suppose an upgrade to a Unicode font is due at some point, but I don't speak any languages which can't be represented with Latin-1.

      As for colours, I like yellow on blue for paren-match, khaki on blue3 for for default face, and while for font-lock-keyword-face. Loosely borrowed from Borland's IDEs of the Turbo Pascal 5 era.

      --

      Do daemons dream of electric sleep()?
    7. Re:fixed by lokedhs · · Score: 1
      Wow. Given how much I hate Python's syntax, I never thought I'd see myself typing this: Python's forced indentation is not as bad as Fortran's actually.

      Fortran (and COBOL) has traditionally designated different behaviour to different columns. A character in a specific column has a different meaning than if the same character is in a different column. A variable-width font in that situation is completely unmanageable.

      Nowdays, both Fortran and COBOL has changed this stupid design and you are now allowed to indent any way you want. If only Python could grow up too...

    8. Re:fixed by Anonymous Coward · · Score: 0

      I actually make my programming fonts *huge* so I write better code. No more than 35 rows, no more than around 100 columns (if possible around 80 or a bit less). That keeps me from doing too long lines. Makes working with long functions awful. Makes me avoid a big number of indentation. The result is that I end
      writing short functions that are also simple. Win.

    9. Re:fixed by joss · · Score: 1

      You hate python's syntax ?

      What syntax *do* you like ?

      --
      http://rareformnewmedia.com/
    10. Re:fixed by digsbo · · Score: 1

      You couldn't be more right!

      I found it so superb in my Unix hacking, I found one for Windows and now use this font in VisualStudio and other Windows apps (i.e. Notepad), as it is WORLDS better than Microsoft's default of courier. Any place I don't have this font, I will spend a lot of time to try and get it. The clarity and information density is superior to even the Proggy font family.

      One frustration has been getting this to work under Cygwin/X; for some reason there seems to be some font magic w/ Gtk apps that try to scale or use a font differently than specified, so when I start gvim under Cygwin/X I get a short, uglier version of 6x13 (perhaps it's 6x12? Ever see this? Solution?

    11. Re:fixed by Thantik · · Score: 1

      As far as I'm aware the reason X11 doesn't do subpixel smoothing is because it's patented my Microsoft. Someone please tell me if I'm wrong; it is merely what I recall reading on /. at some earlier point in time.

    12. Re:fixed by david.given · · Score: 1

      The one true programming font. No other font better manages the compromise between legibility and compactness, and being a well-crafted bitmap font, it is crisper and clearer than ever on modern LCD screens. X11 got it right 25 odd years ago, and now with near-full Unicode support, it's only gotten better.

      Alas, Gnome and KDE both try really hard to hide the mere fact of bitmap fonts' existence from you. It appears to be impossible to tell apps like Eclipse or gnome-terminal to use fixed.

      I've always been rather partial to Unifont. It's a bit chunky compared to fixed, by it supports all characters in Unicode BMP (programming: it's not just in ASCII any more), and there's a TTF version. Of course, the TTF file renders each character as a sequence of little squares, which means that unless you like 12pt you'll get a migraine, but at least it works...

    13. Re:fixed by Urkki · · Score: 1

      As for TFA and using proportional fonts for programming, all I can say is that the author can't be doing a lot of unified diffs, or working with languages where the amount of indentation is significant (fortran, anyone?). Hell, even doing a cut/paste becomes more difficult when some of the letters are much narrower.
      And with most prop fonts, good luck seeing the difference between variables like ill, lil and il1, or B80, 8BO and B8Ø, for that matter.

      Indentation is only at the beginning of the line. So variable-width fonts are really no problem with either indentation or diffs.

      However, for best results with variable width fonts, tabs for indentation is really the way to go. Well, they're that for all fonts, anyway. I mean, who got this amazingly stupid idea, that a certain variable (between programmers, styles, files and even contexts within single file, etc) number of spaces means one step of indentation? It even sounds crazy when you read that aloud.

      Now I admit there are some annoying real world issues which make many lazy coders to seek excuses to keep using spaces, including but not limited to: legacy code uses them, can't change due to version control, 'less' doesn't display tab-indented code nicely, with tabs I can't force other coders to use same indentation as I use, I like to spend time aligning commas in different lines using spaces, I lost the manual of my tractor feed line printer so can't set tab stops and I'm too lazy to code a filter to run before printing...

    14. Re:fixed by Razalhague · · Score: 1

      I can get subpixel smoothing just fine on Ubuntu.

    15. Re:fixed by Capsaicin · · Score: 1

      If only Python could grow up too...

      Try running python and then this statement from __future__ import braces

      Honestly, I had philosophical issues with significant leading whitespace when I started using python, but nowadays I find having to use braces elsewhere somewhat annoying. If nothing else indentation as syntax forces the other guy to format his code nicely.

      --
      Better to be despised for too anxious apprehensions, than ruined by too confident a security. --Edmund Burke
    16. Re:fixed by Anonymous Coward · · Score: 0

      I think he specifically hates that indentation has meaning to the compiler. I too hate this aspect of pythons syntax, the rest is fine though.

    17. Re:fixed by Kronos. · · Score: 1

      Very true, 6x13 is the way to go. When I have to use Windows IDE's I install the truetype version, it makes programming in flexbuilder more legible. I may be stuck in my ways but I'm also not about to change something that clearly works for me.

      The proportional example in the article is more difficult for me to read, to others it's the other way around. It all comes down to personal preference BUT.... ... whatever your preference, everyone needs to keep their tab widths/spaces consistent so it can be read nicely by others, whatever they chose to use.

  8. Pencil and Paper by turgid · · Score: 4, Insightful

    It's the only way to write real code.

    1. Re:Pencil and Paper by Starlon · · Score: 1

      I prefer goat's blood and human skin, with a nice big feather from a bird of prey for a quill.

      --
      Health Freedom is almost as popular as Freedom itself.
    2. Re:Pencil and Paper by Kjella · · Score: 3, Funny

      Cue the XKCD comic with the butterflies, but I'm too lazy to find it.

      --
      Live today, because you never know what tomorrow brings
    3. Re:Pencil and Paper by amRadioHed · · Score: 3, Funny

      Meh, pencils have a nice sharp point and all, but dedicated card punchers are still much faster.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    4. Re:Pencil and Paper by MrMr · · Score: 2, Informative

      Goose feathers make better quills than those from birds of prey.
      And yes, I do program in fortran.

    5. Re:Pencil and Paper by Anonymous Coward · · Score: 0

      I only need '1's and '0's. Give me a minus sign and I don't even need the '0'.

    6. Re:Pencil and Paper by maxwell+demon · · Score: 2, Insightful

      But compiling code written that way is awkward.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    7. Re:Pencil and Paper by josmith42 · · Score: 1

      http://xkcd.org/378/ There you go.

    8. Re:Pencil and Paper by Anonymous Coward · · Score: 0

      It's the only way to write real code.

      Pencil? Real programmers use a pen - we never erase.

    9. Re:Pencil and Paper by Anonymous Coward · · Score: 0

      I see that you have never written a lot of code on paper.

    10. Re:Pencil and Paper by Tumbleweed · · Score: 1

      Fonts? You kids these days. Punch holes your cards and be done with it!

    11. Re:Pencil and Paper by Anonymous Coward · · Score: 0
    12. Re:Pencil and Paper by noidentity · · Score: 1

      Cue the XKCD comic with the butterflies, but I'm too lazy to find it.

      I was also too lazy to find it, so I just searched for "XKCD comic with the butterflies". What do you know, first hit.

    13. Re:Pencil and Paper by iknowcss · · Score: 1

      Score:-1, Idealist

      --
      Life is rarely fair. Cherish the moments when there is a right answer.
    14. Re:Pencil and Paper by Anonymous Coward · · Score: 0

      http://xkcd.com/378/

    15. Re:Pencil and Paper by Surt · · Score: 1

      Goose feathers make better quills than those from birds of prey.

      And yes, I do program in fortran.

      But God looks favorably on those who use feathers from birds of prey, assuming you killed the bird of prey on a sacrificial altar before harvesting the feather. Remember Revelations 16:32
      ' and for the righteous who appease him with the blood of the hunter of the sky and code with the feather shall find that He has guided their hand and made no insects'.

      I've always assumed insects there is a mistranslation for bugs.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    16. Re:Pencil and Paper by darkpixel2k · · Score: 1

      I prefer goat's blood and human skin, with a nice big feather from a bird of prey for a quill.

      It's nice to see Microsoft employees being represented in this discussion...let me guess...Office Ribbon developer?

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    17. Re:Pencil and Paper by Anonymous Coward · · Score: 0

      http://www.xkcd.com/378/

    18. Re:Pencil and Paper by fyngyrz · · Score: 1

      Holes in cards? What does that do? I just sit down with the memory card and clip the leads to the diodes I want to read back as a '1'. When I'm done programming, I plug the card in, clean all the relays, replace the tubes that test poorly, power up the computer, and once it's all warmed up, read the answer off the incandescent lamps on the font panel.

      If your cards have holes in them, you should get a new deck. Otherwise your opponent will figure out which cards are the face cards.

      --
      I've fallen off your lawn, and I can't get up.
    19. Re:Pencil and Paper by Razalhague · · Score: 1

      Damn, my Revelations 16 only goes up to 21. I knew I should've bought the director's cut.

      Oh, and people who use goat's blood and human skin most likely don't want God's favour.

    20. Re:Pencil and Paper by Surt · · Score: 1

      The problem is likely that you DID get the director's cut, for values of director==Constantine. The bible was much longer before he got his hands on it. I always quote from the longer, source material.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    21. Re:Pencil and Paper by bXTr · · Score: 1

      That's for pussies. Stone tablet and chisel, now that's a programming media for a man. You mistyped something? Too bad.

      --
      It's a very dark ride.
    22. Re:Pencil and Paper by Eponymous+Bastard · · Score: 1

      Isn't there an Emacs XKCD search script?

    23. Re:Pencil and Paper by clone53421 · · Score: 1

      http://ohnorobot.com/index.pl?s=butterflies&Search=Search&e=0&n=0&b=0&m=0&d=0&t=0

      You’re welcome.

      (Give a man a link, and he’ll be happy for a day... give a man a search engine, and he’ll be happy for... ?)

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    24. Re:Pencil and Paper by clone53421 · · Score: 1

      Use a sideways 1.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    25. Re:Pencil and Paper by aldld · · Score: 1

      Nah, I punched clay tablets.

  9. ProFont ruled the day by drerwk · · Score: 3, Interesting

    This was my favorite for a long time. No question about 1 and l, or 0 and O; which may have been identical in the default Monaco. Also :,;, and , where slightly bold so one could easily see statement ends.
    But for whatever reason, big screens, better fonts, syntax highlighting. ProFont was quite readable in 9pt; important on small screens. I might try to put ProFont in Eclipse tomorrow. ProFont can be found here: http://www.tobias-jung.de/seekingprofont/index.html

    1. Re:ProFont ruled the day by Anonymous Coward · · Score: 0

      I still use it on my low-resolution laptop. My second-favourite programming font, and the one I switched to when I couldn't find a Linux version of the Dina font.

    2. Re:ProFont ruled the day by omfgnosis · · Score: 1

      I use ProFont 9px on my 1680x1050 display and it's fantastic. I get 70 lines of code on screen, between the chrome.

    3. Re:ProFont ruled the day by Anonymous Coward · · Score: 0

      I use ProFont for most of my coding as well, but it has a an issue in some applications (mainly Terminal) where some character sequences, (like o/) are replaced with a different character (in this case ø). ProFont X[1] solves these issues but it also has issues in Snow Leopard. The K and characters render differently to ProFont with extra pixels along the diagonals. It's a shame really because it's a great font.

      [1] http://www.faisal.com/software/profontx/

    4. Re:ProFont ruled the day by broken_chaos · · Score: 1

      which may have been identical in the default Monaco.

      1, l, I, 0, and O are all distinct characters in Monaco.

    5. Re:ProFont ruled the day by drerwk · · Score: 1

      I don't have anything left that I can fire up Think C on System 6, but I know I spent time looking for a good font, and ProFont was awesome. It came with some editor extensions package for Think C that was also super nice.

    6. Re:ProFont ruled the day by drerwk · · Score: 1
      So I dug up the answer - at 9 pt, which was common on 640x480 screens these charachters were not distinct.

      MPW’s default font used to be Monaco 9. This font is also required by the System Software, and is therefore installed on every machine. In addition to the 9-point bitmap font, System Software also supplies a TrueType version of the font. There are a couple of problems with this setup. First of all, the 9-point bitmap characters are not the same as those supplied by the TrueType version. So, when you print, the print driver normally uses the TrueType font to define the characters, which means it’s WYSINWYG (What you see is not what you get). Print your worksheet with Font Substitution turned off, examine the output closely, and you’ll see what I mean. (1998 update: As of Mac OS 8.5, this is no longer true. The bitmap and TrueType versions of Monaco have been synchronized. For some reason, though, it was synchronized on the “new” definition, instead of the traditional version of Monaco.) The second problem is that the characters in the 9-point bitmap version of Monaco are not always distinct. The “I” (eye), “l” (ell), and “1” (one) characters are very similar, as are “O” (oh) and “0” (zero). Some of the punctuation characters are only a single pixel in size, and some of the high-numbered ASCII characters are missing altogether. This makes it very unfriendly as a programmer’s font, where a single incorrect character can mean the difference between a successful build and hours-long debugging sessions.

  10. ascii-art by kampangptlk · · Score: 0

    and my lines of code cannot contain ascii-art anymore

    --
    àà®à¥à®à¾à¦ààYà¥àà àà
  11. Many years ago ... by Anonymous Coward · · Score: 5, Informative

    ... /. had a thread very similar to this.

    And there were a lot of valuable inputs, like

    * 1. Make sure that the font's period (.) sign and the comman (,) sign is BIG, to aid in the debugging process.

    * 2. Color of the font and background must also complement each others. Too much contrast hurts the eyes. Too little will blur them up and make it hard to see.

    There are many other very useful pointers in that thread. If anyone can dig that thread up it would be very very useful for the new crop of programmers.

    1. Re:Many years ago ... by BenoitRen · · Score: 4, Informative
    2. Re:Many years ago ... by cvd6262 · · Score: 1

      * 1. Make sure that the font's period (.) sign and the comman (,) sign is BIG, to aid in the debugging process.

      Good advice.

      Many many many moons ago I wrote a script to markup foreign language HTML pages with English glosses (rollover translations). It just compared strings to db entries, and inserted some DHTML around the original string.

      Running it in French returned a bunch of unfound strings for words and phrases I knew were in the db. I finally had it throw an error with the original string and the five closest matches from the db. It read:

      Original: c'est ; closest match: c'est.

      I was so frustrated I took a screenshot and overlaid the two strings. The apostrophe was one pixel lower on the db's string than the original. It turns out that they were different ascii codes, but the font made them look the same.

      That's when I started using hex editors.

      --

      I'd rather have someone respond than be modded up.

  12. Do the studies apply? by mattdm · · Score: 4, Insightful

    Reading prose is different from reading code. I'd think that whatever you gain wouldn't be enough to make up for the loss from lack of vertical alignment.

    Additionally, which monospaced font you use matters. You need one that's designed to be readable and to make clear distinctions between 0 and O, l and 1, and so on. I use Raph Levien's Inconsolata for coding, and it's excellent (and available under the Open Font License).

    On Fedora, yum install levien-inconsolata-fonts.

    1. Re:Do the studies apply? by Kjella · · Score: 1

      Reading prose is different from reading code. I'd think that whatever you gain wouldn't be enough to make up for the loss from lack of vertical alignment.

      As long as space is a fixed width, then you should still have verical alignment... Imagine:

      if ( foo ) {
              bar();
      } else {
              otherbar();
      }

      vs

      if ( foo ) {
          bar();
      } else {
          otherbar();
      }

      In fact, I think fixed space characters can put unproductive attention to variable name lenghts over content to create "nicer" looking code.

      --
      Live today, because you never know what tomorrow brings
    2. Re:Do the studies apply? by Anonymous Coward · · Score: 0

      I used to use Inconsolata until I had to work on the code of one of my colleagues. His editor automatically inserted his name at the begining of the text file. His name contain a diacritic sign which looked messed up on my machine.
      I switched back to my Fedora defaults (monospaced deja vu) which had no problems with utf8 whatsoever.

    3. Re:Do the studies apply? by eliphas_levy · · Score: 1

      My opinion is like the parent's, I really can't stand the lack of vertical alignment, same length text should display in same width.
      This code should have the same width no matter what:
      arrayOne[1010] = 'lll'
      arrayTwo[1010] = '111'

      I personally use DeJavu Sans Mono, on all OSes. The (0,O) and (1,l) distinctions are very clear to me, and I like the curves it have.

      I actually had to put it on my pendrive, along with gVim portable, as I will not stand notepad with his blocky console font.

      --
      eliphas
    4. Re:Do the studies apply? by TheRaven64 · · Score: 3, Insightful

      You're confusing indenting with alignment. Indenting is a set of whitespace at the start of a line indicating the depth in the scope. Alignment can be anywhere, for example between variable types and their names in a structure. If you have an int element and a float element, you might put one space after float and three spaces after int, then the variable names will line up. In languages like Objective-C and Smalltalk it's common to have colons lined up in message sends that wrap more than one line. To do this, you need to be able to guarantee that the whitespace that you put in one line is the same width as the characters that you put in the other.

      If your editor supports elastic tabstops, then you can use them, but then your code will look weird in something like viewvc or any editor that doesn't. This is why our coding conventions say you should use tabs for indenting and spaces for alignment. A tab is a semantic 'indent by one level' character, while a space is an 'advance the cursor by one character width' character. To have this work in a proportional font, you'd need to redefine space to mean 'advance the cursor by the width of the character directly above'. This is not impossible, but it would require a bit of hacking in the layout engine.

      --
      I am TheRaven on Soylent News
    5. Re:Do the studies apply? by maxwell+demon · · Score: 1

      But with proportional fonts you cannot properly align parts where the first line has text before the first item, such as

      void foo(int bar,
                int baz)
      {
      // ...
      }
       
      int something(int (*f)(some_t),
                    some_t& blah)
      {
      // ...
      }

      [the misalignment of baz in the first function is due to a Slashdot ecode tag bug, which apparently changes the number of spaces, so I can only get one space too many or one too little]
      vs.

      void foo(int bar,
                  int baz)
      { // ...
      }

      int something(int (*f)(some_t),
                          some_t& blah)
      { // ...
      }

      Note that I made the alignment above that it's almost correctly aligned for my font settings. It isn't exactly correctly aligned because a space has a certain fixed width, and alignment may be completely broken for anyone using another proportional font. Indeed, the proportional font in the Slashdot editing box leads to another alignment than the proportional font in the preview (I just hope that the indentation in the final non-preview version isn't different again). For the fixed-width code I didn't have that problem: What aligns OK on one fixed-width font also aligned OK on any other (indeed, I got the alignment right by just counting spaces, despite having to input in a proportional font; I could have entered it in a fixed-width font editor window and copy/pasted it to the browser instead, of course).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    6. Re:Do the studies apply? by Anonymous Coward · · Score: 0

      That isn't what he means with vertical alignment. Consider:
      x = a * x * x + b * y * x + c * y * y
      y = d * x ___ + e * y

      (I've used _ in place of spaces since /. eats both spaces and non-breaking spaces.)
      To fix this situation, you would have to make editors understand that for example a tab character (as opposed to several spaces) needs to go to the same location as the corresponding tab character on neighbouring lines.
      Other than that, I have to agree that proportional code is a lot easier on the eyes. But if you're doing math a lot, alignment is essential to keep things readable.

    7. Re:Do the studies apply? by mikeabbott420 · · Score: 1

      My code often has multi-column formatting I would like to preserve. e.g. a initialized structure array or a list of #defines where I want names and value in two columns

      --
      This program was made possible by a grant from the Ultra-Humanite, and viewers like you.
    8. Re:Do the studies apply? by chapstercni · · Score: 1

      Nice font. I just installed it and tested. I got the modified one linked at the bottom, with the straight single/double quotes.

    9. Re:Do the studies apply? by Anonymous Coward · · Score: 0

      > you'd need to redefine space to mean 'advance the cursor by the width of the character directly above'.

      I'm sorry, but that won't work if your first var requires more spaces than the next. In fact, I don't know how you could do this without more advanced alignmsnt support, like a word processor has.

      In fact, it's a shamd we can still not use modern word processor features in a code editor. Like using italics, embedding pictures, etc.

      (yes, i know of cweb and the like, but I'd like to have those features available while editing...)

    10. Re:Do the studies apply? by Anonymous Coward · · Score: 0

      A tab is a semantic 'indent by one level' character, while a space is an 'advance the cursor by one character width' character. To have this work in a proportional font, you'd need to redefine space to mean 'advance the cursor by the width of the character directly above'. This is not impossible, but it would require a bit of hacking in the layout engine.

      No, you'd have to have it mean "advance the cursor to be under the character where it would be if this were fixed-width". Which would be pathologically insane, since in some cases it would mean you'd have to go backwards and overtype. Try "llll llll\nmmmm mmmm" -- you're saying the second word on each line should line up, in a proportional font? You'd have to look at the lines below as well as above to get that to work without overtyping.

      And even then, most spaces aren't used for alignment, so the overall effect would just be making all the spaces jump to random widths so users of your text editor hate you.

    11. Re:Do the studies apply? by Mathonwy · · Score: 1

      If your editor supports elastic tabstops, then you can use them, but then your code will look weird in something like viewvc or any editor that doesn't. This is why our coding conventions say you should use tabs for indenting and spaces for alignment. A tab is a semantic 'indent by one level' character, while a space is an 'advance the cursor by one character width' character. To have this work in a proportional font, you'd need to redefine space to mean 'advance the cursor by the width of the character directly above'. This is not impossible, but it would require a bit of hacking in the layout engine.

      Of course if you did that, the code would look REALLY REALLY WEIRD when viewed on anyone else's computer. If you're going for readable, maintainable code, this is probably not that great an idea. If your goal is code that is only easy to read on your computer in your specific editor though, then this is probably a great start.

    12. Re:Do the studies apply? by TheRaven64 · · Score: 1

      No, it would also look correct in any editor which used fixed-width fonts. It would only look weird in editors that used proportional fonts but didn't support this behaviour, and code would look weird in them anyway.

      --
      I am TheRaven on Soylent News
    13. Re:Do the studies apply? by clone53421 · · Score: 1

      I will not stand notepad with his blocky console font.

      Um, you’re aware that you can change it, right?

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  13. Proportional fonts are better to read by krou · · Score: 4, Interesting

    From what I understand, the way we process written words is based on the idea that each word is a like a "picture" made up of letters. So, the easier it is to identify the picture, the easier it is for us to read. This means that the width and height of letters plays an important part in creating unique pictures. It is for this reason (at least in print) serif fonts are much easier to read than sans-serif fonts. It's also for this reason that ALL CAPS is the most difficult way to read compared to just reading normal text. On this basis alone, it's likely that proportional fonts are better to read because they're likely to create better word pictures.

    --
    'If Christ had tweeted the sermon on the mount, it might have lasted until nightfall.' - John Perry Barlow
    1. Re:Proportional fonts are better to read by jez9999 · · Score: 1

      I guess it just goes to show it's all down to personal taste, because I have to say I disagree with most of that. OK, reading all caps is tougher, but apart from that I find a good fixed-width font just as easy to read as a good proportional font, and serif/sans- just as easy as each other to read; if anything, sans- looks a bit nicer when printed.

    2. Re:Proportional fonts are better to read by ironicsky · · Score: 1

      The only thing I disagree with is the serif vs san-serif thing both looking good in programming. I own a domain name that specifically plays on the fact that most browsers use a san-serif font for displaying URL's... the url ends up looking like this when typed in upper case letters : lllllllllll.com because I's 1's and lower case L's all look the same or very very similar in a san-serif environment. I prefer a fixed width font serif font for any coding because tabs/spacing line up better and its easier to follow rows/columns of code

    3. Re:Proportional fonts are better to read by jbengt · · Score: 1

      As long as tabs are fixed, and delimiters like spaces, periods, and commas are sufficiently large, I prefer proportional fonts while coding. Then again, I don't code 8 hours a day, so YMMV.

      Maybe it's my old eyes, but I find serif fonts much harder to read than sans-serif.

      Also, I find "ALL CAPS" at least as easy to read than "normal text". That could be because I work in the construction industry where drawings use all caps. (In fact, until several years after we switched from hand drafting to CAD, I found it very difficult to write in anything but all caps.) Also, we use 1/2 size printouts of drawings all the time, and from that experience I can say that all caps is much easier to read than mixed case when the font is small. On the other hand, mixed case probably shows more information when reproductions are blurred or partially obscured.

      Finally, to respond to other threads, I can't stand white on black text. It hurts my eyes terribly and is way too hard to read. I won't usually stay on a website with small, serif, white-on-black text, as it's not worth the effort.

    4. Re:Proportional fonts are better to read by elsJake · · Score: 1

      With proportional text you get a great deal more recognized words. That's great for print but programmers tend to have similarly named variables , because they attribute some sort of related meaning to them. When reading them with a proportional font you're going to have a lot more recognitions but because you can't easily see the difference most of them will be false positives. Rereading will then add more overhead than reading it right , but slower the first time.

    5. Re:Proportional fonts are better to read by coryking · · Score: 1

      Code and prose are two different animals. The meaning of a peice of writing is found mainly in the words and sentences it is made of. While the words found within code are very important, a good portion of the meaning is found in the visual structure as well.

      When you read prose, you have paragraphs, sentences, phrases. You can take these chunks of writing and "pour" them into a two column newspaper, a leaflet or a book without losing the meaning of the piece. You can also put it in a different font and while it might slightly alter the character of the piece, the words and sentence structure would remain the same.

      The same is not true for code. While it is true that the compiler doesn't care about the visual structure, your brain certainly does. For example, you could take a C file and remove all the indents and have it compile just fine, but you'd have a very hard time reading it. Imagine something like the following in a proportional font:

      var MyVar = SomeList.Where((i)=>(i.Id > 10)) .Select((i)=>{
                                    Blah = i.Item,
                                    Thing = i.Name,
                                    Id = i.Id,
                          });

      It would be much harder to read in a proportional font because some of the meaning was found in the spaces. I'd back my argument up more, but I've spilled tea on my keyboard and the cats are knocking things over. Worse, slashdot thinks my examples have too much whitespace in them so screw it. Bottom line is that for coding, the visual layout is as much of a part of the meaning as the text. A proportional font distorts the layout and thus distorts the meaning.

    6. Re:Proportional fonts are better to read by Anonymous Coward · · Score: 0

      > it's likely that proportional fonts are better to read

      What is 'better to read' is entirely dependent on what one is used to.

      As you say, each word is like a picture, but there is no universal, automatic, built-in 'best', they are all built by experience. I was once a punch card and line printer COBOL programmer. I can still read all upper case fixed font easily because I got used to it and built the 'words pictures' required.

      Now I use mixed case monospaced font with indented and vertically aligned parts. It is the best for me because I have built all the 'word pictures' required and identify the meaning of the alignments. If I see code in proportional fonts it becomes a meaningless jumble that I have to work at to understand.

      Perhaps new programmers who have only worked before with proportional fonts for reading and word processing find that monospaced is 'hard'. But that is only because they haven't adjusted yet.

    7. Re:Proportional fonts are better to read by clone53421 · · Score: 1

      If the lowercase characters are only around half the height of uppercase characters, then yes, it’s hard to read mixed- or lower-case at small font sizes. On the other hand there are some fonts that have larger lowercase characters... (P = proportional, F = fixed)

      Times New Roman (P): lowercase is about 67.9% the height of uppercase
      Microsoft Sans Serif (P): 73.8%
      Arial/Helvetica (P): 74.3%
      Lucida Sans (P): 75.1%
      Courier New (F): 76.5%
      Verdana (P): 77.8%
      Consolas (F): 78.8%
      Lucida Console (F): 86.8%

      Note that part of the difference is also the size of the uppercase characters. For instance, the difference between Lucida Sans and Lucida Console is almost entirely in the size of the capitals: at the same point size, lowercase letters are almost identical while uppercase letters are about 15.6% larger in the proportional font (Lucida Sans). However since this can be compensated for by simply increasing/decreasing the font size and the line spacing, only the size difference between capitals and lowercase letters is really significant.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  14. It's probably better, by Anonymous Coward · · Score: 1, Funny

    if you're programming in COBOL.

    1. Re:It's probably better, by Skapare · · Score: 1

      ... but try it in assembly language.

      --
      now we need to go OSS in diesel cars
  15. Monospaced is the only way to go by neuroklinik · · Score: 2, Interesting

    Reading code is not like reading prose. It's more like reading poetry, where how the text elements are spaced and aligned can say a lot about the author's intended meaning. If I'm reading a book, I definitely want it typeset with a proportional typeface. Code, on the other hand, is MUCH more legible when set monospaced.

  16. Not the bottleneck by bcmm · · Score: 4, Insightful

    Speed of reading is not a bottleneck in understanding code anyway, since I am sure it is pretty uncommon to be able to understand code while reading it as fast as you would read a novel.

    And there are numerous disadvantages: lack of alignment, smaller punctuation making syntax errors less visible (" '" vs "' " for example), etc., etc.

    --
    # cat /dev/mem | strings | grep -i llama
    Damn, my RAM is full of llamas.
    1. Re:Not the bottleneck by Tatarize · · Score: 1

      Yeah, the only thing about a font that wou1d make code more readab1e is making 'l' and '1' not look like the same thing. Everything e1se is icing.

      --

      It is no longer uncommon to be uncommon.
    2. Re:Not the bottleneck by amRadioHed · · Score: 1

      Apparently it's even more important to have a keycaps where '1' and 'I' don't look the same.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    3. Re:Not the bottleneck by MathiasRav · · Score: 1

      Maybe not so much 1 and l as l and I.

    4. Re:Not the bottleneck by Tatarize · · Score: 1

      Nah the two that really look similar are "A" and "A" -- Damn you identity principle.

      --

      It is no longer uncommon to be uncommon.
    5. Re:Not the bottleneck by interiot · · Score: 1

      You can easily modify one of the GPL fonts to use wider punctuation, and call it a programmer's font. The important thing that makes proportional fonts faster to read is that the letters are proportional-width, punctuation width doesn't necessarily have to stay small.

    6. Re:Not the bottleneck by mugurel · · Score: 1

      I don't agree with you. While reading code your attention (and eye-focus) is likely to jump from one place to the other. Any extra cognitive effort that is required to visually identify the spot in the code you are looking for will make it more cumbersome to understand that code. TFA also seems to make that argument, as it observes that with a proportional font, more text fits in an `eye fixation' (without making the font smaller, and therefore harder to read), so that means less visual search.

      That said, I have to admit I use fixed-width fonts for programming :-)

    7. Re:Not the bottleneck by amchugh · · Score: 1

      How about monospaced code & proportional comments?

    8. Re:Not the bottleneck by coryking · · Score: 1

      Any extra cognitive effort that is required to visually identify the spot in the code you are looking for will make it more cumbersome to understand that code.

      Beyond variable, function and class names, there really isn't much meaning found within the words of a block of code. That is why you have syntax coloring--so your brain doesn't have to read and re-read silly things like conditionals, quotes and whatnot. Your brain can instead pre-cognitively parse most of the code for you so all you have to "think" about are the important things like the algorithm being used or the overall structure of data being passed around.

      A proportional font speeds up the kind of reading we do when we read a book. When we read a book, we are interested in the words and the sentences they compose Since most of the meaning behind a chunk of code is conveyed by its visual layout and not the words, a proportional font would do no good at all. In fact, since a proportional font distorts the visual layout, it would most likely significantly slow down the reading and comprehension of code.

    9. Re:Not the bottleneck by Anonymous Coward · · Score: 0

      Never had a problem with 0 and O or I, | and 1, I use en editor with code highlighting...

    10. Re:Not the bottleneck by marshallr · · Score: 1

      Great idea for an IDE feature!

    11. Re:Not the bottleneck by Anonymous Coward · · Score: 0

      And your code highlighting distinguishes between letters and digits within identifiers? Bizarre.

    12. Re:Not the bottleneck by clone53421 · · Score: 1

      Those were a lowercase l and an uppercase I, by the way. Paste them in a font that differentiates between them to check.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    13. Re:Not the bottleneck by clone53421 · · Score: 1
      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  17. They're doing it wrong by CdBee · · Score: 4, Funny

    /. is meant to be the font of all knowledge, not the knowledge of all fonts

    --
    I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
  18. I wonder .. by Anonymous Coward · · Score: 2, Insightful

    How do you align comments, etc.? How do you do visual block selection? What if you want to add a small ASCII drawing to a comment?

    The disatvantages seem overwhelming to me, and I find good monospace fonts (Deja Vu Sans Mono, Inconsolata, ...) easy enough to read. Also, some editors (e.g. gvim) will scale proportional fonts to make them look monospaced (and really ugly).

    1. Re:I wonder .. by d3matt · · Score: 2, Insightful

      Let's not forgot standardized coding styles. I have a hard enough time with developers who use the wrong spacing for tabs in their editor window!

      --
      I am d3matt
    2. Re:I wonder .. by gbjbaanb · · Score: 2, Funny

      What if you want to add a small ASCII drawing to a comment?

      You mean like this:

      requirements
      specification ---> o
       
      original coder --> O
                        -|-
                        / \

    3. Re:I wonder .. by Anonymous Coward · · Score: 0

      Simply use tabs to align things. I've been using Verdana for years. The letters are also smaller, so more fit on the screen. It also works with ClearType nicely, part of the reason it's readable in small size.
      And I can confirm it's better to work with it. You often look for things in the code and it makes spotting them easier.
      Kornel

    4. Re:I wonder .. by Jugalator · · Score: 1

      How do you align comments, etc.?

      By tabbing to the configured ruler position in our IDE of course!

      Heh, but seriously, is there a development IDE that support that thing?

      --
      Beware: In C++, your friends can see your privates!
    5. Re:I wonder .. by multipartmixed · · Score: 1

      Not that I think it's a good idea, but editors like xemacs which support mixed proportional and fixed fonts on the same page could solve this problem fairly easily -- use a fixed font for all whitespace which touches the left margin, and make everything else proportional.

      --

      Do daemons dream of electric sleep()?
  19. Old news by dazedNconfuzed · · Score: 1, Redundant

    In the comments there, MMZ (author) notes "This was written 2 years ago."

    --
    Can we get a "-1 Wrong" moderation option?
    1. Re:Old news by Provocateur · · Score: 1

      Is that a pre-emptive strike against /. duping? He's got to learn to play by the rules that govern /. !

      --
      WARNING: Smartphones have side effects--most of them undocumented.
    2. Re:Old news by maxume · · Score: 1

      Have they changed the summary since you read it? Right now, it refers to the blog posting as being 'old'.

      --
      Nerd rage is the funniest rage.
  20. Reading prose versus editing code by Krioni · · Score: 5, Insightful

    What I wonder about is whether the ease of reading attributed (correctly, I assume) to proportional fonts apply to prose, but not necessarily to the kinds of reading needed in programming. When I read code, I'm sometimes looking for single-character mistakes. In a case like that, a proportional font that helps form "word-pictures" might mask an error. In other words, the speed attributed to proportional fonts is for reading comprehension — translating text into thought — but might actually detract from the speed and accuracy of reading for the purpose of editing/finding mistakes.

    --
    Lose essential liberties to get temporary safety = get only hassles and security theater.
    1. Re:Reading prose versus editing code by krou · · Score: 1

      That is a good point. Whether speed of reading for programming is as important as equal spacing, or identifying unique characters etc. is something that is definitely debatable. We don't read code the same way as we read a novel, not to mention that overall code structure (spacing, indents etc.) has a lot more meaning than what you'd find in a book.

      --
      'If Christ had tweeted the sermon on the mount, it might have lasted until nightfall.' - John Perry Barlow
    2. Re:Reading prose versus editing code by Tekoneiric · · Score: 1

      I was about to reply on this very same issue. I totally agree with you on this. Code and data is best reviewed in mono-spaced fonts for accuracy.

      --
      *It's not what you can do for the Dark Side but what the Dark Side can do for you!*
    3. Re:Reading prose versus editing code by smisle · · Score: 3, Interesting

      If I remember right, (some) Editors (the human kind that edit manuscripts) prefer monospaced fonts for exactly the same reason - they can catch errors much easier.

      I typically use the font 'Monospace' although I'm not particularly attached to it.

      --
      I'm not a bird, I'm a super-advanced flying stealth dinosaur!
  21. Quality instead of quantity by GuerreroDelInterfaz · · Score: 1

    When reading code speed is not the most important thing. Here quality is more important.

    And the quality of alignment brought to you by fixed-length fonts is more important than any marginal gain in reading speed.

    --
    El Guerrero del Interfaz

  22. Re:Hmmm... by HNS-I · · Score: 0, Redundant

    Sounds like it shouldn't be a problem as long as you stick with 'the one true style' K&R.

  23. Bad for the next maintainer by Anonymous Coward · · Score: 0

    The people who are going to maintain your code will probably use fixed-width fonts. Clever alignments tricks won't work for them and your code will look horrible.

    If I were your boss, I'd just plain forbid this.

    Unless your code is for yourself only, stick to the "standards". A 14% improvement ? Gimme a break...

    1. Re:Bad for the next maintainer by gaggle · · Score: 4, Interesting

      Incorrect.

      I use proportional fonts (on whiteish background) because I'm a rebel and don't have any nostalgia for black-background-green-text terminals (i.e. I enjoy the increased readability). And contrary to your statement my code is properly tabbed, functions are aligned, everything is indented just the way FSM demands it. I know this because my coworker enjoys his nonproportional black-backgrounded terminal look and our code is interchangeable.

      I simply stay away from "clever alignment tricks". I don't align comments up that sit at the end of my code lines, and you know what? Neither should you. They're annoying no matter the font-type because rewriting one line can make you end up re-indenting all the comments in that block and it's just such a silly waste of time. In my world comments go above a line, or even better is writing the code so at most it needs a little Docstring blurp to provide some context.

      To recap: I'm glad you're not my boss you goddamned controlfreak. I get to read my code in sparkly pink letters as long as it doesn't affect my output or my coworkers.

    2. Re:Bad for the next maintainer by TheRaven64 · · Score: 2, Informative
      This is very language specific. If you wrote code in Objective-C or Smalltalk then you would have come across more problems. In these languages, message sends (method invocations) have named parameters. It's common to write code like this:

      [someDictionary setObject: someObject
      forKey: aKey];

      This should be aligned so that the colons in the two parts of the method name line up. This makes the code much more readable, especially when you have longer or nested message sends, but it only works when the size of a space is the same as the size of the character above it.

      --
      I am TheRaven on Soylent News
    3. Re:Bad for the next maintainer by ceoyoyo · · Score: 1

      If you use tabs for alignment you only need your editor to be smart enough to align the colons. XCode will do it for you automatically, although I've never tried it with a non monospaced font.

    4. Re:Bad for the next maintainer by dokebi · · Score: 1

      Absolutely right. I wish more languages are accommodating of proportional fonts. I have no problems with Java or Python, or c++, but in some languages (like Obj-C you mentioned and sql) proportional fonts look awful. Thank goodness eclipse allows different fonts for different language editors (I use DejaVu Sans and Mono for everything, even on windows boxes!)

      --
      In Soviet Russia, articles before post read *you*!
    5. Re:Bad for the next maintainer by TheRaven64 · · Score: 1

      XCode inserts a mixture of tabs and spaces and a tab width of four. Viewvc uses a tab width of 8. You can tell someone has been editing their code with XCode because it looks completely unreadable when you browse their code online. Solutions that require every single potential editor to incorporate some special logic are more accurately called problems than solutions.

      --
      I am TheRaven on Soylent News
    6. Re:Bad for the next maintainer by Haeleth · · Score: 2, Funny

      I simply stay away from "clever alignment tricks". I don't align comments up that sit at the end of my code lines, and you know what? Neither should you. They're annoying no matter the font-type because rewriting one line can make you end up re-indenting all the comments in that block and it's just such a silly waste of time.

      Here's a nickel, kid, get yourself a real editor. Anything worth using will be able to do it for you at the touch of a button.

    7. Re:Bad for the next maintainer by TheRaven64 · · Score: 1

      Well, the problem really is storing code as text. Smalltalk code is usually stored as a serialised parse tree. When you edit the code, you dump a method as text through a pretty-printer, edit it, and parse it again. None of these issues apply because the stored representation doesn't contain whitespace at all, and you can automatically insert whitespace wherever you want it.

      --
      I am TheRaven on Soylent News
    8. Re:Bad for the next maintainer by ceoyoyo · · Score: 1

      I would set it up so that you use tabs, spaces, whatever so colons line up with a monospaced font. If you want to use a proportional font and you want your colons to line up (which I personally don't find that important), your editor needs to be smart enough to align the colons.

      That way the colon-lining-up logic is a nice feature that helps proportional fonts work, not a required function for all text editors.

    9. Re:Bad for the next maintainer by jdougan · · Score: 1

      Well, the problem really is storing code as text. Smalltalk code is usually stored as a serialised parse tree. When you edit the code, you dump a method as text through a pretty-printer, edit it, and parse it again. None of these issues apply because the stored representation doesn't contain whitespace at all, and you can automatically insert whitespace wherever you want it.

      Squeak Smalltalk stores it's code in the .sources and .changes files as either a String (for plain text and similar to how ST-80 did it) or as a serialized object of class Text (for rich text). VisualWorks was similar to Squeak in the storage format but now uses an XML format for the .sources and .changes that stores the method text as a chunk of plain unicode. Gnu ST is not image based and uses normal text files so it doesn't do what you describe. ISTR that VisualAge ST works pretty much the same way as VW. Gemstone/S is slightly different in that the plain text Strings that make up the source code are stored in the Gemstone object database (along with everything else) and not in a separate file. These are the ST versions I've used enough to know offhand how their code storage works. Which version of Smalltalk have you been using that stores serialized parse trees?

      Are you referring to the code formatter in Squeak that auto-reformats a method on accept? That does use the parse tree to generate the source text, but the tree is thrown away after the operation. It does have the neat feature of supporting an alternate syntax.

      I think doing what you describe could be an excellent idea as long as some details such as associating comments with parse nodes are dealt with. There was some work done in Squeak to do this in order to make the .changes and .sources less necessary (and save disk space) but it has not made it into the mainstream releases. I've also written a crude Common Lisp style syntax macro package for VW (it's in the public StORE)....and that would be a lot more efficient and useful if the parse trees were persistent.

    10. Re:Bad for the next maintainer by TheRaven64 · · Score: 1

      Hmm, well it's what the IDE for my implementation of Smalltalk does (actually, we construct an AST then write it out through a pretty printer on every statement end). I assumed it was something we'd copied from everyone else, rather than something we'd invented. It seemed like the obvious way to work in an image based system. I'm fairly sure the Blue Book described that as the way code was stored in images, but possibly I made it up. Or possibly I was thinking of a Lisp Machine implementation (didn't MacLisp do something similar?).

      Storing code as text is so '60s.

      --
      I am TheRaven on Soylent News
    11. Re:Bad for the next maintainer by jdougan · · Score: 1

      It was quite probably copied from one of the Lisp systems. I used UTILISP many years ago and it had an sexpr structure editor available for code use. However, it still wrote out the code into files. The big stumbling block was comments, which are defined in most language syntaxes as a purely textual element that can go wherever you can put whitespace. And a simple rule for binding comments to parse nodes (such as bind-to-preceding) doesn't usually work because of varying commenting styles.

      The blue book doesn't really describe how code is stored...that was more the domain of the orange book. I know from experience that the version of ST-80 I used in '85 used a .sources and .changes file. Given the hardware they had to run it on I think the reliance on old fashioned files is excusable. Contemporary systems, however, should be reconsidering how to approach this.

      Is this ST version you use available for public use? What is its name (is it Zoku ST?) and where do you work? I'd love to try rewriting my syntax macros for it. I suspect it would make IDE integration much simpler than what I had facing me in VW.

    12. Re:Bad for the next maintainer by TheRaven64 · · Score: 1

      Is this ST version you use available for public use? What is its name (is it Zoku ST?) and where do you work? I'd love to try rewriting my syntax macros for it. I suspect it would make IDE integration much simpler than what I had facing me in VW.

      It's Pragmatic Smalltalk (part of Étoilé). It's not a conventional Smalltalk-80 environment, it produces binaries that are ABI-compatible with Objective-C (so you can subclass ObjC classes in Smalltalk or vice versa). It's got an interpreter, a JIT, and a static compiler. Because it's meant to be used with Objective-C, it doesn't have the same libraries as Smalltalk-80, it uses Objective-C classes.

      I'm currently about 80% of the way through implementing OMeta on it, at which point I will be able to ditch the existing parser (written in Lemon). It's pretty modular, there's also a parser for a dialect of JavaScript that produces the same ASTs.

      I'm a freelance writer, I just wrote this for fun (and because I wanted a decent Smalltalk implementation for Étoilé development. Someone else is working on the IDE. I currently I'm storing most of the code in files, but that's not the long term plan.

      --
      I am TheRaven on Soylent News
    13. Re:Bad for the next maintainer by krischik · · Score: 1

      How about:


      [someDictionary
              setObject: someObject
              forKey: aKey];

    14. Re:Bad for the next maintainer by TheRaven64 · · Score: 1

      Much less readable, because it doesn't make it easy to visually separate the message name and the arguments. With the aligned-colons style, you can read down the left and side quickly and see that it's a -setObject:forKey message. You can read down the right-hand side quickly and see what objects are being passed to the call. And you can read it as a block and see which object is being passed to which argument.

      This is not the best example, but some messages have three or four words in some argument names, so the argument name for one component might be longer than the argument and name for another component. If you align on the start, then it's really hard to read.

      Oh, and how do you do indenting in Slashdot's ecode? I've never worked out how to do that...

      --
      I am TheRaven on Soylent News
  24. Examples... by wisnoskij · · Score: 2, Informative

    I like the examples they show to prove their point.
    Fixed width Monaco 10pt, which comes out too small and kind of blurry to me.
    and Proportional Helvetica Neue 12pt, which is in a bigger font and is actually reasonable sized.

    so yes, a reasonable sized proportional font is easier to read then a undersized fixed width font...

    --
    Troll is not a replacement for I disagree.
    1. Re:Examples... by Laughing+Pigeon · · Score: 1

      Fixed width Monaco 10pt, which comes out too small and kind of blurry to me.

      That has nothing to do with the font; First off all it is not size they're talking about, if it is too small, just increase the size. And concerning the fact that it is blurry, it IS blurry but again, that has to do with the crappy quality of the picture in which the text is shown.

    2. Re:Examples... by TheRaven64 · · Score: 1

      Fixed width Monaco 10pt, which comes out too small and kind of blurry to me.

      That one is really stupid. They are using antialiasing, but Monaco is specifically designed to render well at point size 10 without antialising. The curves line up with the pixels cleanly and you can read it very easily. Turn on antialiasing and you get something blurry. Monaco really shouldn't be antialiased below about 12-14pt.

      --
      I am TheRaven on Soylent News
    3. Re:Examples... by clone53421 · · Score: 1

      Fixed width Monaco 10pt, which comes out too small and kind of blurry to me.

      That’s because the blog resized the image. The image isn’t blurry at all; click the resized image to view it. (I’d link it, but it seems that there is some sort of hotlink-prevention being used.)

      From the looks of his images, the font sizes were probably different to achieve the same line spacing (i.e. to get the same number of lines of code to fit in the same vertical screen space). Not every font is the same size as every other font at the same point size.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  25. Vertical alignment by Skapare · · Score: 2, Insightful

    I'm not willing to give up on vertical alignment. And lots of code sections I've written, in addition to ascii-art comments to explain lots of code, really needs that vertical alignment. And that's not just leading alignment, it is internal alignment.

    This won't break Python's indentation based syntax because one should be using consistent indentation. But many displays of proportional fonts will collapse multiple spaces into the space of one, and even Python becomes hard to read.

    The solution is to have a proper display system that can do both proportional fonts AND controlled alignment at the same time, without mangling the code files themselves, for all active programming languages (and that's a LOT of them). Inserting invisible alignment into the code is not an option unless we can teach every language parse to remove such alignment elements before parsing the code for what it is coded for. Someone could do this with a new language I don't doubt. But it remains to be seen if anyone can do it in general for all existing active languages.

    Oh, and if you do come up with a solution and it just can't manage to achieve it with COBOL, I won't cry. But it better work with assembly and microcode syntax.

    --
    now we need to go OSS in diesel cars
    1. Re:Vertical alignment by pmontra · · Score: 2, Interesting

      You're probably advocating for editors to support elastic tabstops which seem to work well also on proportial fonts. But I don't think ascii art can survive without fixed fonts.

    2. Re:Vertical alignment by Nazlfrag · · Score: 1
  26. Hard to go passed fwf by dj_super_dude · · Score: 1

    Terminus is what I tend to use now, but I really liked Neep and Neep Alt(I think). I think it was in the jmk-bitmap packages or the like. Google would probably find them :)

    1. Re:Hard to go passed fwf by shutdown+-p+now · · Score: 1

      Terminus is awesome, I usually go for it (@ 12pt) wherever I find myself in X on any OS. It also seems to be easier on the eyes in bold variety.

      On Windows, though, I uniformly go for Consolas 11pt, except for the console, where I stick to the good old Terminal 18x10 from the days of yore - as a matter of habit more than anything else. That said, Terminus is also a strong contender there, and where ClearType is unavailable or not desired (e.g. over remote desktop), it is the best choice.

  27. Hahahaha! by Anonymous Coward · · Score: 0

    Programming with proportional fonts, this guy is funny!
    Yes, let us use Microsoft Word or OpenOffice for programming!

  28. Coding sheets. by John+Hasler · · Score: 1

    n/t

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  29. assembly by Skapare · · Score: 1

    But try it in assembly language.

    --
    now we need to go OSS in diesel cars
    1. Re:assembly by clone53421 · · Score: 1

      It works just fine as long as the tabstops are an appropriate distance apart.

      In fact, elastic tabstops would be terrific for assembly.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  30. Lining things up by slim · · Score: 1

    I like to line stuff up, such as assignments. (Tried to demonstrate this with a code sample, but /. comments collapse spaces)

    So for a list of const definitions in .h file, for example, despite variable names of differing lengths, the "=" signs will all be in the same column, and the values will all begin in the same column.

    You might be able to achieve this with a proportional font and tabs, but I don't trust tabs.

    1. Re:Lining things up by u38cg · · Score: 1

      The pre tag. Learn it, love it.

      --
      [FUCK BETA]
    2. Re:Lining things up by slim · · Score: 1

      Slashcode appears to strip <pre>.

      It accepts a <code> tag that puts your comment in a monospaced font, but spaces are still collapsed.

  31. actually i want to have each variable a slightly i by daveb1 · · Score: 0

    actually i want to have each variable a slightly different colour. That way i can easily follow the use of the variable throughout the entire source. (globals etc.) .

  32. Matter of taste by Anonymous Coward · · Score: 0

    Choice of fonts is very subjective, similar to look of a desktop environment.
    Take your pick.
    http://www.codeproject.com/KB/work/FontSurvey.aspx

    My favourite is Terminus. Unbeatable especially in environments without anti-aliasing.
    http://fractal.csie.org/~eric/wiki/Terminus_font

  33. reads faster? by g253 · · Score: 4, Interesting

    Are we really in such a hurry when reading code? I'm under the impression that fixed fonts allow us, when we parse code, to see the different elements more clearly because their size is determined by the number of characters. But that's just an intuition. Anyone else has the same feeling?

    1. Re:reads faster? by Anonymous Coward · · Score: 0

      Right on! We don't WANT people to read the text faster.

      How many problems have you had to troubleshoot because the users skipped over some dialog box and clicked "Okay" without reading it??

    2. Re:reads faster? by Anonymous Coward · · Score: 1, Interesting

      I'd agree - for me that's definitely true. With monospace, I know I'm typing on a grid, and I know how things should line up - it helps.

      A mono-spaced font lets you use the space itself to visualize your code. You can place a line beside another line to try to find a typo.... that kind of thing. A proportionally spaced font does not.

      Now, it is true that a good proportionally spaced Serif font is easy to read - perhaps even easier - and in the end, a programmer should program in whatever they are most comfortable with, right?

      I prefer a good monospaced font - if only because that's what I learned on, that's what I'm used to, and I'm an old codger.

  34. Helvetica? Are you nuts? by Anonymous Coward · · Score: 0

    Because the distinction of 0 versus O, I versus l, and l versus | don't matter in programming languages.

    I'm sorry, but that font choice is a disaster waiting to happen.

  35. visual cues by pz · · Score: 4, Insightful

    Human languages have lots and lots of redundancy, such that you can often either screw up letter order, word order, or even drop entire words, and often the full meaning is clear. Visual cues in the form of paragraphs and chapters are added to help guide the reader, but removing them would not render the text entirely incomprehensible.

    Computer languages are not as forgiving, and, also, lacking redundancy, far denser. Reading speed is irrelevant because of the bottleneck formed by reading comprehension. Code is rarely read in novel-like linear fashion, but, much more often, flitting from one part of the text to another, navigating through visual cues. Visual cues in the form of often richly structured layout that includes idioms not required by syntax make navigating and comprehending code possible, and removing them although would, in most languages, not change the meaning of the code, would erect a formidable barrier to comprehension. Not using these cues to the fullest to help write clear, expressive and maintainable code is being self-indulgent and shortsighted. Requiring that a particular, and perhaps unspecified font be used for best display, rather than the ubiquitous assumption of monospaced font, is mere vanity.

    Remember, when code is written, it is meant not only to be converted into executable machine language, but also to be comprehensible and comprehended by other programmers, or future selves. Clarity of expression is vital.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    1. Re:visual cues by coryking · · Score: 2, Insightful

      Yup,

      Reading speed is irrelevant because of the bottleneck formed by reading comprehension.

      You shouldn't be reading code word for word anyway. Most of a programming language just symbolic (if, for, while) and could be replaced by icons and mean th same thing. The only real words are the variable and function names. As you read the names, it automatically fits them into the overall block of code. The only way your brain can do this preattentive trick is if you provide it visual queues through syntax coloring and indentation. Take out one or both and you are stuck reading word-for-word... Since proportional fonts change the indentation, the meaning of the code is altered and spend more time reading the words instead of the meaning--comprehension slows down, not speeds up.

      If you think that proportional fonts helps you read code faster, I'd argue you aren't reading code correctly in the first place. You don't read a book letter by letter, you read it word by word or even sentence by sentence. Likewise, you don't read code word for word, you "read" it visually block by block pulling meaning out of the variable and method names. If you are reading code in your mind literally like "if variable1 equals variable2 then set variable3 to 5", you are doin' it wrong.

    2. Re:visual cues by darkstar949 · · Score: 1

      However, I would argue that well written code should also be accompanied by enough well written comments that you should be able to scan the comments to isolate the code that you want to read in-depth. Granted, most code in existence doesn't have the be best comments, but ideally that should be the case.

    3. Re:visual cues by Haeleth · · Score: 1

      Computer languages are not as forgiving, and, also, lacking redundancy, far denser.

      I'm guessing you're not familiar with Java or XML, then.

    4. Re:visual cues by lennier · · Score: 1

      "Most of a programming language just symbolic (if, for, while) and could be replaced by icons and mean th same thing. The only real words are the variable and function names."

      Lisp cries!

      Symbols not first-class entities? nil!

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    5. Re:visual cues by Anonymous Coward · · Score: 0

      If "richly structured layout" is important for comprehension, then why not bold, underline, italic, strikethough, multiple fonts and sizes, colors etc. as well? OK, some coders would produce code more ugly than myspace (blinking code, anyone?), but the vast majority would take advantage of these features, the way they already take advantage of rich layout.

    6. Re:visual cues by coryking · · Score: 1

      I love it. I was even thinking of saying "languages like C/C#/Java/etc" just to ward off your comment :-)

    7. Re:visual cues by shutdown+-p+now · · Score: 1

      Symbols not first-class entities? nil!

      My dialect of Lisp has icons as first-class entities, you insensitive clod!

  36. Python... by Temkin · · Score: 0, Troll

    The Python zealots will be along shortly to defend their indentation insanity in 3... 2... 1...

     

    1. Re:Python... by Anonymous Coward · · Score: 0

      I guess the Python babies can handle the truth.

    2. Re:Python... by maxume · · Score: 1

      Defend it from what? In most programs intended to edit text, indentation is at least going to show up when using a proportional font.

      And the big criticism isn't that python code is indented to show the structure (most coding styles recommend indenting code in a way that shows the structure), the big criticism is that the parser uses the indentation to determine the structure.

      --
      Nerd rage is the funniest rage.
    3. Re:Python... by Anonymous Coward · · Score: 1, Insightful

      > ...the big criticism is that the parser uses the indentation to determine the structure.

      This has been true for config files and delimited data files since the dawn or programming.

      It's just that it hasn't been true for program code in most languages through that time--which isn't really a point against Python, it's a point against permissive formatting in other languages.

  37. But what about all the programmers ... by Skapare · · Score: 1

    ... out there, regardless of the coding language, who are developing and writing their code on those old punch card systems ... you insensitive clod!

    --
    now we need to go OSS in diesel cars
    1. Re:But what about all the programmers ... by maxwell+demon · · Score: 1

      They should use proportional punch cards.

      --
      The Tao of math: The numbers you can count are not the real numbers.
  38. Depends on the language by stokessd · · Score: 1

    At work I do a bit of matlab programming and the default font makes it very hard to see the difference between parenthesis and curly brackets. That's a huge glaring flaw in the defaults that come with the IDE.

    Back in the dark ages when I did a lot of FORTRAN77 programming, I would output a lot of data tables. Trying to setup the print statements to make those tables with a proportional font would make me want to kill someone.

    Today I pick my fonts for programming on how readable the punctuation and letters vs. numbers are, and what I've got on the computer I sit in front of. Sadly I do a lot of code snippet writing on walk-up computers, or conference room computers, where I've got a standard windows and office font load.

    I also do a lot of LabView programming, and the glyphs, icons, and lines are always proportional. :)

    Sheldon

  39. Small apples vs big oranges by gaspyy · · Score: 1

    The "article" is stupid and ill-informed.
    The author compared a Monaco at 10pt with Helvetica at 12pt and concludes Helvetica is easier to read.

    I could do a similar test with Helvetica at 7pt and Arial at 12pt and conclude that Arial is better!

    In programming, readability is determined by different factors than for literature. Word-pictures are less important since you basically have to deal with a lot of made-up words (variable and function names) but what's really important is to eliminate any room for misinterpretation, e.g. I vs l or " vs '' or O vs 0

    Hands down, my font of choice for programming is Consolas, followed by Inconsolata.

    1. Re:Small apples vs big oranges by TheRaven64 · · Score: 2, Informative

      Not only that, but he took a font specifically designed to be readable without antialiasing at small sizes (Monaco), displayed it with antialiasing, and then concluded that it was hard to read.

      --
      I am TheRaven on Soylent News
    2. Re:Small apples vs big oranges by clone53421 · · Score: 1

      No, he didn’t. The blog automatically resized the image, making it blurry. Click it to see the full-sized version.

      The reason he used different font sizes was (I presume) to get the same number of lines in the same vertical space.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  40. We were taught in visual design class... by Anonymous Coward · · Score: 0

    ... that while proportional is more visually appealing, fixed width is easier to read when it comes to large amounts of text. I don't know if that's bunk or not, but I'd rather code in a fixed width.

  41. Stroustrup chose proportional-width by Looke · · Score: 4, Interesting

    All code in Stroustrup's "The C++ Programming Language" is presented in a proportional-width font: "At first glance, this presentation style will seem 'unnatural' to programmers accustomed to seeing code in constant-width fonts. However, proportional-width fonts are generally regarded as better than constant-width fonts for presentation of text. Using a proportional-width font also allows me to present code with fewer illogical line breaks. Furthermore, my experiments show that most people find the new style more readable after a short while."

    Not only is the font proportional, but it's bold, italic, and serif as well. Now, reading a textbook is of course pretty different from editing on-screen, but I remember reconsidering some of my habits after reading that book. That code ain't hard to read.

    1. Re:Stroustrup chose proportional-width by Anonymous Coward · · Score: 0

      I'd like to see the IDE let you intersperse math-like notation (or at least comments), Mathematica-style.
      It might not add much if you're doing database programming all day, but it seems like it could make math-intense/scientific code more readable.

    2. Re:Stroustrup chose proportional-width by Anonymous Coward · · Score: 2, Funny

      You are taking the C++ inventor's advice for legibility of code ?

    3. Re:Stroustrup chose proportional-width by shutdown+-p+now · · Score: 1

      All code in Stroustrup's "The C++ Programming Language" is presented in a proportional-width font: "At first glance, this presentation style will seem 'unnatural' to programmers accustomed to seeing code in constant-width fonts. However, proportional-width fonts are generally regarded as better than constant-width fonts for presentation of text. Using a proportional-width font also allows me to present code with fewer illogical line breaks. Furthermore, my experiments show that most people find the new style more readable after a short while."

      .

      Well, my experiment (trying to read the damn book, that is) showed that I get a headache from looking at a pageful of code presented in proportional-width italic font. And pretty much everyone else in the industry (gladly) uses monospace fonts, so Stroustroup is the odd one there.

      One thing I hate though, is Courier. For the sake of all that is holy, please, stop using that crap in print. If I want to read something that looks like it was typed on a typewriter, I'll look up scans of CompSci papers from 60s and 70s. But this here is the 21st century, and we have beautiful monospace fonts such as Consolas, Lucida Typewriter (both Sans and Serif varieties), and Monaco. Use them!

  42. type geek here by Anonymous Coward · · Score: 0

    I'm a fairly serious typography geek, and I can tell you that for something like programming, fixed-width fonts make a hell of a lot of sense. When you're dealing with windows or displays that have a certain number of characters (80 char terminals, for instance), or programming languages that use a lot of nesting, having the visual cues of alignment far outweight the benefits of refined character recognition and easier legibility (which by the way generally only applies to long blocks of text set in a language in which you are conversant). And this is coming from a guy who generally can't stand seeing fixed-width fonts used (except in very specific circumstances, like this).

  43. Yuck by Anonymous Coward · · Score: 0

    Use two different font sizes to prove your point: check
    Must use tabs in code to get columns to line up: check
    Use Baby's First Language instead of a real language: check

    Another young idiot, with another idiotic attempt to make programming easier. You can create all the baby languages you want (Java, C#, VB), and come up with all the stupid tricks you want. Programming is still hard, and will remain so.

  44. Use fonts made for programming. by mindwanderer · · Score: 1

    Proportional fonts: look pretty, increase readibility of words.
    Monospaced fonts: increase readibility of code by making all symbols very distinct (ie. ( from {, O from 0, -- not a single line, etc.). The 14% improvement you gain in reading keywords and variable and fuction names is nothing compared to the bugs that arise from similar-looking symbols.

    I use Terminus, with no smoothing of any kind. Just raw, beautiful pixels.

    --
    :wq
  45. Only if you don't use VIM by tagattack · · Score: 5, Insightful

    VIM renders text-area as a grid. This is compatible with column-area selection, and other features it supports which frankly I use nearly daily. While I've honestly considered using proportional fonts — I've tried living without VIM, switching to Eclipse or IDEA for several months at a time to give the IDE experience a full opportunity. Doesn't work for me, so neither will proportional fonts.

    Besides there seem to be more reasons not to use proportional fonts than to use them:

    • Lot's of people align assignments, this will look terrible.
    • Several formatting techniques (newline before curly bracket) depend on the width of whitespace.
    • Occasionally code contains tabular data which is easily formatted for digestibility using fixed-width fonts.
    • Occasionally, although rarely, comments may contain diagrams or ascii-art figures which would be rendered useless with proportional font.

    Reasons to use them:

    • You might be able to read the contents of your code up to 14% faster, if you don't run into the issues above...
    1. Re:Only if you don't use VIM by Threni · · Score: 1

      I agree with all your points, which is why I use fixed width. But if I had an editor which let me use proportional fonts, but which aligned stuff "properly" (indented code, { } etc, then I'd give it a go.

    2. Re:Only if you don't use VIM by lpq · · Score: 1

      Ditto on the vim issue... I'll switch to a proportional font in a heartbeat if vim supports it.

      Sigh

      Maybe vim is in need of a fork?

    3. Re:Only if you don't use VIM by RedWizzard · · Score: 1

      This is compatible with column-area selection, and other features it supports which frankly I use nearly daily.

      I love column-area selection and use it often as well, but virtually never for programming.

      Reasons to use them:

      • You might be able to read the contents of your code up to 14% faster, if you don't run into the issues above...

      They also permit more readable text on a single line. That's a significant advantage for programming IMHO.

  46. Link for hinted version by msgmonkey · · Score: 2, Informative

    I thought I would have a look at this font but it looks terrible on windows with cleartype on at 11points, however I managed to find a hinted version at:

    http://pgl.yoyo.org/bits/tech/inconsolata-cleartype-raph-leviens-inconsolota-font-hinted-for-windows/51:2008-09-25/

  47. Stroustrup is guilty of worse than that by argent · · Score: 3, Insightful

    Odd. My impression after reading his book was that Stroustrup deeply misunderstood the importance of coding style. And not merely because "C++" and "style" should only be combined for humorous effect: the way "&" behaves in declarations is bizarre, and his explanation read like a rationalization for a bad decision.

    1. Re:Stroustrup is guilty of worse than that by Anonymous Coward · · Score: 0

      Amen.

  48. Call me crazy... by DiSKiLLeR · · Score: 1

    Call me crazy.... but I started doing this a couple years ago.

    I can't remember what font it was now; I was programming under linux using eclipse.

    But I really enjoyed switching away from a fixed width font...

    --
    You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
  49. "Betty or Veronica?" by Anonymous Coward · · Score: 0

    Betty AND Veronica

  50. Whitespace by jdevivre · · Score: 0

    I believe proper use of whitespace in programming makes enormous improvements in recognition. Spaces in proportional fonts are often thinner and less contrasting. That alone may reduce proportional effectiveness, more readable or not. One would have to form a habit of using two space characters and more tabs.

  51. Re:Dark background by dshk · · Score: 1

    That's way faster to read than anything on a bleed-your-yeys white background.

    You should
    1. setup good lighting
    2. adjust your monitor to the lighting

    and then you won't want to go back to black background. There is a reason why we use white paper and dark ink.
    There are a few people who indeed need dark background, but that is related to serious eye disorders.

  52. The way God intended computers to be by troll8901 · · Score: 1

    ... the way God intended computer displays to be ...

    Slashdot 10:01:17: Thou shalt use no GUI, and only text mode - the way God intended computer displays to be!

    1. Re:The way God intended computers to be by darkpixel2k · · Score: 1

      Slashdot 10:01:17: Thou shalt use no GUI, and only text mode - the way God intended computer displays to be!

      Don't you mean 'From the book of Slashdot, 2nd Parenthesis chapter 10, verse 1: Thou shalt use no GUI, and only text mode - the way God intended computer displays to be!"

      At least show some reverence when quoting from the good site.

      --
      There's no place like ::1 (I've completed my transition to IPv6)
  53. I'd love to use a proportional font by j_cavera · · Score: 1

    ... but my VT102 terminal only has the one and the APL compiler doesn't understand a \t.

    --
    #include "humorous_pop_culture_reference.h"
  54. Missing the Point by Deorus · · Score: 3, Insightful

    While fixed-width might not be recommended for text, code is not exactly regular text. In a regular essay, skipping a period or a comma is usually not an issue. In code, however, it makes a world of difference, and therefore it doesn't make sense to use a font that may cause confusion between a pair of parentheses '()' and a zero '0', an 'I' and an 'l', a single dash '-' and two dashes '--', etc. Fixed-width founts are a lot clearer, and clarity and usability are extremely important for me.

    1. Re:Missing the Point by BritneySP2 · · Score: 1

      Bullshit. The whole topic reminds me of heated discussions 40 years ago of how interactive programming using terminals was somehow inferior to batch programming using punch cards; or, later, how using graphical displays for text editing (as opposed to using VI on a dumb terminal) was a perversion.

      Grow up people. Leave the character cell mentality in the past - together with dumb terminals and typewriters, and realize already that programs are just that - human readable text. The fact that a program can be fed to a computer is secondary.

      And remember: mathematical formulas are not "regular text", either. And yet, fixed-width fonts are never used in typesetting them.

    2. Re:Missing the Point by RedWizzard · · Score: 1

      In code, however, it makes a world of difference, and therefore it doesn't make sense to use a font that may cause confusion between a pair of parentheses '()' and a zero '0', an 'I' and an 'l', a single dash '-' and two dashes '--', etc.

      You know it is possible to design a proportional font which keeps all the different characters visually distinct, right?

  55. Re:Dark background by wed128 · · Score: 5, Insightful

    I call foul on this.

    On paper, you need the extra white to reflect as much reading light back at you as possible.

    with a computer display, the light is generated behind the text, so you don't need the sheer volume of light a white background gives you. This was even more true of old CRT displays, but even an LCD backlight produces way to much light to read comfortably. Note that non-backlit displays follow the opposate convention, and really benefit from a light background.

    in conclusion, go with what you're comfortable with; what do a bunch of dorks on slashdot know anyway?

  56. Plan 9 has always used proportional fonts... by CondeZer0 · · Score: 4, Informative

    The programming environments by Rob Pike use proportional fonts by default. Both Acme (also used by Dennis Ritchie) and Rob's previous text editor Sam (still used by Ken Thompson, Brian Kernighan and Bjarne Stroustrup).

    The rio terminal windows also use proportional fonts.

    At first (like many other things from the Plan 9 world) the lack of precise control about how everything spaced can be a bit frustrating, but once you learn to stop worrying about it, it can be rather pleasant and liberating to use (good) proportional fonts for writing code.

    --
    "When in doubt, use brute force." Ken Thompson
  57. inilliibiliti by epine · · Score: 4, Informative

    proportional fonts can be read 14% faster than fixed-width fonts

    Sounds good, until brain engages, 14% later. can be always flags +10 in my wetware instance of CrapAssassin, unless BeerGoggles is displacing cycles.

    I think, with maybe 60,000 hours of reading time under my lengthening belt, I'd have noticed this effect by now, if it applied carte blanch to all modes of reading. The other night I skimmed the 130,000 words supplied in response to the Edge 2010 question "How is the Internet changing the way YOU think?" This was not the cream of their efforts, but there were some interesting topical centers.

    My reading speed through this exercise varied by an order of magnitude, depending on signal density. The weird thing is, for some of the longer responses, my subconscious sends notice "nothing to see here" at a skimming speed where I have no clue what words are actually flying past. Every so often, I drop out of warp speed to double check, and sure enough, not very much to see here, by whatever criteria turns my crank, which itself is sometimes elusive to my conscious mind.

    I took a speed reading course and read 'War and Peace' in twenty minutes. It involves Russia.
              — Woody Allen

    I once attended a school where in some dark closet they kept copies of "Duck and Cover" films, as well as a CRM114-vintage machine designed to stretch your saccade, by forcing you to read words in a revealed window with a progressive speed ratchet.

    I never did especially well compared to the best of my classmates on the quiz that followed. Had they slowed that stupid thing down to about half the speed they were forcing us to read, followed by an essay question to expound upon conceptual error, distortion, slant, exaggeration, and damn lies, I would have run out of foolscap before completing my task. In critical response, I was an autobahn surrounded by country lanes, yet many of my classmates could read for uncritical comprehension faster than I could. Dangerous skill. (I'm sure for some of my old classmates, whatever dirt path once existed has returned to nature in their adult years, with ample fertilizer from mainstream media, but that's another matter.)

    It's no different with source code. You can read for comprehension, or you can read for all possible error, a state of mind where the eyes consume only a tiny fraction of total brain glucose. Critical thought in the candy factory is hard enough when the conveyor flows along at a consistent speed. Neither can I properly type a long sequence of i and l characters worth a damn in a proportional font. My eyes fail to sync with my fingers, and half the letters fall down my shirt.

    Nothing impairs reading speed like a tightly written algorithm where every symbol is exactly right. Nothing inflates the volume of symbols violently gouged onto the retina as a chunk of code where no symbol means precisely what it seems to mean.

    Personally, I'm not lining up for smaller gouges in greater number.

    1. Re:inilliibiliti by Anonymous Coward · · Score: 0

      ...half the letters fall down my shirt.

      Were you using Neutra by any chance?

    2. Re:inilliibiliti by lennier · · Score: 1

      "as well as a CRM114-vintage machine designed to stretch your saccade, by forcing you to read words in a revealed window with a progressive speed ratchet."

      I read that as "CRM114 vintage machine gun"

      Now that would be aggressive testing...

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    3. Re:inilliibiliti by batlbot · · Score: 1

      I have to tell you that I have no idea what half of your post means, but I found it ultimately enjoyable reading. You cram a lot of semi-obscure-obtuse references into a minimal amount of space while still be mostly clear in your meaning. CrapAssasin, BeerGoggles, signal density, critical brain glucose Letters falling down the shirt had to be my favorite though.... Thanks. I think.

  58. RTF! by Megane · · Score: 1, Insightful

    I see a great need for compilers to support an RTF-to-plaintext filter on their front ends. Then you can program in whatever font you want, and it will look essentially the same when viewed by anybody else.

    But there should also be a standard on what you should and shouldn't do. For instance, it should not be kosher to specify text sizes or colors. Text sizes give you the "HTML mail" problem (where Outlook e-mails show up in a tiny font because the HTML hard-codes the font point size). Text colors screw things up for the "white on black" crowd, and also allow for "white on white" hiding of evil code.

    It doesn't have to specifically be RTF. RTF would really be overdoing it. Whatever format would be chosen should take well to merging in svn or whatever. Maybe something equivalent to Unix's #! line could specify the font. You don't want to specify the size, because that should be up to the individual reader, and I suppose the font should really be a matter of choice too. And most of the time, 8-space tab stops work well in proportional fonts.

    So you just need... um, you just need people to use 8-space hard-tab text, not use any tabs after the first non-tab character in a line, and... oh, I guess you can just use plain text after all, as long as everyone switch to hard tabs. Oops, never mind.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    1. Re:RTF! by Rockoon · · Score: 1

      When I first began to program I used 8 space tab stops.

      Somewhere along the way I dropped it down to 4 space tab stops and I think that was when I started sing 80x50 text screens instead of 80x25.

      I now use 2-space tab's and I think almost certainly its because I get so many more lines of code on the screen due to high resolution GUI's.

      --
      "His name was James Damore."
  59. it's easy by garaged · · Score: 0

    if it makes it hard to write ascii art it cannot be good for programming

    --
    I'm positive, don't belive me look at my karma
  60. Wusses. by binaryseraph · · Score: 0, Redundant

    Real men program using Wingdings.

  61. Studies on people that are *used* to them? by Hurricane78 · · Score: 2, Interesting

    If they did those studies with $JoeRandom, they are meaningless for programmers, who see fixed-width fonts all day long.

    Oh, actually I just came here to say: “Those who do not learn from history, are doomed to repeat it.” (In that some new generation thinks they have to test it for truth all over. Which can make sense... If you build up to what is already known, and not just ignore everything.)

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  62. Re:Dark background by Achromatic1978 · · Score: 4, Interesting

    with a computer display, the light is generated behind the text, so you don't need the sheer volume of light a white background gives you. This was even more true of old CRT displays, but even an LCD backlight produces way to much light to read comfortably.

    Perhaps because most displays are sold pre-set to 100% brightness, 100% contrast, because that's what looks shiniest and most vibrant on display, driving sales.

    A while back, I experimented, with the assistance of a color calibrator I use for photography (i1 Display 2, and turned the brightness on my LCD to 40%, contrast to 70%.

    The result? "Wow, that's so dim. I don't think I could read that..." ... for about an hour. Now it's fantastic. My eyes hurt less, especially when the room is dark, and seem more sensitive (in a good way). Reading online all day, coding... so much more pleasant. Definitely a worthwhile experiment.

  63. In summary by SoonerSkeene · · Score: 1

    I see a lot of great points for mono fonts, most notably the ability to quickly distinguish puctuation marks or errors such as "' " versus " ". But acctual words and blocks of some code are easier to read in a proportional font. So... is there a font out there specifically designed for coding, with the best of both worlds?

  64. top-10-programming-fonts by hey · · Score: 4, Informative
  65. Re:Pencil and Paper - bah! Punch Cards... by flyingfsck · · Score: 1

    Punch cards, with a dry ink ribbon, read against the light in 7 bit ASCII...

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  66. Things That Are Similar Should Look Similar. by Anonymous Coward · · Score: 0

    No pro-programmer I know prefers a variable-width typeface to code. On first thought, a fixed-width typeface makes it easy to align statements and numbers. But one can get all that, and more, using tab-stops. So, on second thought, why do we prefer fixed-width typefaces to code? Well, in coding, things that are similar should look similar. ...

    From: http://codeblab.com/2009/12/fixed-width-coding/

  67. Obligatory by Anne+Thwacks · · Score: 1

    I write Fortran4 you insensitive clod.

    --
    Sent from my ASR33 using ASCII
  68. RPG by inicom · · Score: 1

    I've tried, and I just can't keep the columns straight when programming RPG with a proportional font. Anyone got any tips?

    --
    -a.e.mossberg
    1. Re:RPG by Curmudgeonlyoldbloke · · Score: 1

      I suspect an example might be needed for some of the people who weren't even born at the time:

      http://en.wikipedia.org/wiki/IBM_RPG_II#Sample_Code

      As the link says "... code must be placed in exact column locations in order to generate correct results".

  69. That typo would be exactly as easy to spot in a proportional font because it happens at the beginning of a line where all will be lined up. If you add stuff to the beginnings of each line to put the text farther out, it will line up in a monospaced font only if you have exactly the same number of characters before the common text. That will happen either by chance,
    in which case any editing will undo the chance, or by artificially padding out lines with oddball spaces, in which case you will be putting in a lot of work which will be a pain to maintain.

    Monospaced fonts have their purposes, but your example is not one of them.

  70. Inane sillyness by Anonymous Coward · · Score: 0

    I don't care what font other people use so long as any code I'm working on reads fine in an 80 column terminal with fixed width fonts. Just use whatever works for you and let's debate tom-ay-to vs tom-ar-to instead :-/

  71. Re:Dark background by ceoyoyo · · Score: 1

    Dim your display? It saves battery power on a notebook too.

  72. How important is this reading speed improvement? by prefec2 · · Score: 1

    Today's IDE use special windows and sections to display structures of classes, XML files, schema definitions. Automatic generated program documentation is also already in proportional fonts. While most of the reading is done to lookup features (method names, tags, structural semantics) this is already done with proportional fonts. The only place where you read actual mono spaced text is in an editor to edit a class or function (if you are programming in a non OOP language).

    However, there are other techniques which can improve reading speed at an even bigger scale. You could use domain specific languages (DSL) to generate C, Java, Python, Ruby, Fortran, etc. code. So instead of describing every aspect of every class you can use a problem specific language to model everything. Combined with AOP you can reduce the code base which must be read by humans by 300-400%. And if you are writing another application for the same domain you are able to reuse a lot of the template and artefacts you used for the first time.

  73. setfont r.psf by Jim+Hall · · Score: 1

    When I started in computers (1993?) we did our programming at the console. And I remember being very thrilled the day I found that Linux had a "setfont" command, to set the console font.

    "r.psf" was a great font. It set the console to a kind of "Times"-like font. Except it was still monospace, 80x25. The serifs made text really easy to read. Numbers looked distinctly different from letters, and certain digits (3, etc.) were "dropped" a little. You never could mistake 1 for l or |, or O for 0, and so on.

    Combined with setting the foreground "grey" and the background "blue", it made reading/writing code a snap, and the console experience very pleasant. For that first year, I preferred doing everything at the command line, and would start X11 only if I needed to do something that required graphics (like, gnuplot.)

  74. Scantron by Namlak · · Score: 1

    Although it gets to be a real bitch at 64-bits!

  75. Re:Dark background by JoeMerchant · · Score: 1

    in conclusion, go with what you're comfortable with; what do a bunch of dorks on slashdot know anyway?

    Yep, let me open with "GET OFF MY LAWN!"

    As the eyes age, all that extra light from a white background constricts the pupils, which makes it easier to focus without corrective lenses... all a matter of personal taste and physiology.

    On the other hand, true tabs in source code is a continued source of annoyance in my life - yes, tabs are superior to spaces, short term. Longer term, that source code will be opened on different editors where different settings make the tabs seriously annoying. And, why the tab rant? Because, the only way I would program with proportional fonts is with tab alignment for "tabular" blocks of code.

    Fixed space fonts are just easier to manipulate, especially with column/block selections - and if your code doesn't need column manipulation, you're not fully using one of the two dimensions available to you to organize your information.

    So, is it 14% faster to read a proportionally spaced novel, or 14% faster for an experienced programmer to read a block of code in proportional fonts? I know it's more than 14% slower to correct a hosed up file full of wrongly tab-spaced code, even if it is a sort of zen-like walkthrough to fix the spacing while getting familiar with the code.

  76. Geneva 9 by azav · · Score: 1

    I used Geneva 9 point for the longest time for the proper spacing between the letters. I never had any compelling need to use a monospaced font to program since I was offered an alternative.

    --
    - Zav - Imagine a Beowulf cluster of insensitive clods...
  77. Re: proportional fonts can be read 14% faster by Joce640k · · Score: 1

    Thing is, you don't "read" source code the way you read normal text.

    --
    No sig today...
  78. Re:Dark background by Anonymous Coward · · Score: 0

    windows / super m or n

    instant pain relief

  79. So many armchair scientists! by wonkavader · · Score: 1

    Long ago, people used to do real studies. They timed people reading text, and they found that serifed fonts and proportional fonts were easiest to read, meaning people could read the texts faster.

    All through the responses to this article I see people making assertions that coding isn't reading, that this won't speed things up, paper is different from screens, punctuation would be too hard to read, etc.

    OK, where are your studies to back this up?

    So many assumptions. It would be nice if someone here said instead "OK, I'll test this with my team and get back to you in a week."

    1. Re:So many armchair scientists! by Nazlfrag · · Score: 1

      Coding isn't reading, it's editing. Reading speed doesn't help me much at all. If I'm working on a section of code, it's already in my head after the first time. Speed at editing is important, and I use the cursor keys quite often. It's much more annoying navigating proportional fonts this way. So basically, reading speed is irrelevant to my coding speed.

      As for studies, do you really think people aren't speaking from their own personal experience? No need to dismiss an anecdote because it's not backed up by research. We've all tried it, it's not hard to do, except finding a good font with discernable ,. ;: lI1 O0 8B and other characters is hard. If you mess that up, it is undeniably hard to read the code, or should I say easy to misread.

  80. Proportional fonts for programmers Math-clueless by Anonymous Coward · · Score: 1, Interesting

    For people who's "computer science" job consists in doing Object-Relational mapping, sure... Proportional may do the job.

    But for anyone working with "true" algorithms, forget proportional. You need a fixed-width font (and, no, the elastic tab, let alone the pathetic non-existent editors support, ain't cutting it enough).

    Show me a dynamic programming algo that doesn't look sucky with a proportional font. Show me some FSM implementation that doesn't look sucky with proportional font.

    When someone argues that "proportional font are better for programming" you can safely consider the guy mostly clueless about algorithms, big-O perfs, etc.

    They like their proportional font as much as they think nothing is bogus with someMethodThatDoesSomethingNTimes(...). Sure, with such long method names you better 'gain back' every pixel you can by using proportional fonts.

    In other words: give him the monkey ORM type job but don't count on him to know about when to use, say, a skip list.

    (btw this post touch-typed on a blind IBM Model M, monospaced font of choise being a modified 'proggy font')

         

  81. Different fonts for different parts of a program? by plopez · · Score: 1

    Comments could be one font. Attributes another. Functions a third. As could DB and library calls. Has anyone tried this? Do you think it would help? Or would it be too noisy?

    --
    putting the 'B' in LGBTQ+
  82. What's the point? by Anonymous Coward · · Score: 0

    I'm a Whitespace developer, you insensitive clod!

  83. Proportional fonts for source code? by janwedekind · · Score: 1

    Well, do as you please. You use your font and I use mine.

  84. Re:How important is this reading speed improvement by Anonymous Coward · · Score: 0

    Reducing something by 300% leaves -200%.
    I sure as hell don't want to be anywhere near your code.

  85. Use SciTE by Anonymous Coward · · Score: 0

    Switch between monospaced and proportional with Ctrl+F11. Easy as pie.

    http://www.scintilla.org/SciTE.html

  86. I did this quite a bit by spitzak · · Score: 1

    From 1986 to 1993 I used proportional fonts in terminals and in the text editor (which was Emacs run in the terminal). It worked quite well. I fully expected this to appear on it's own and am rather disappointed that my ideas never seem to have happened again. I could try to make a program that uses them but do we really need another terminal emulator?

    I have no idea if the code I wrote can be found: first is the NeXT-machine terminal emulator made by Mark of the Unicorn called "Communicae". Second is a terminal emulator written for the Sun NeWS system called "jet".

    Both programs used the same technique based on getting the best output from programs expecting fixed-sized fonts. First of all spaces were rendered as "en spaces", actually it used the width of a '2' character. This made words be somewhat spaced apart but made most tables of numbers line up. Second was that 3 or more spaces, and also a tab character, would move to the N*en position, regardless of the text earlier, where N is the number of characters (plus the round up to multiple of 8 by tab characters). In most fonts this would make a wider space, if not I think it avoided overprinting by instead making the space zero sized rather than negative.

    The rules were limited by them being run when updating the display. On modern machines I would think much more complex pattern-matching rules could be used, such as detecting alignment in adjacent rows, and detecting usage of | and - and + in ascii art and replacing it with line drawings.

  87. Re:Dark background by darkpixel2k · · Score: 1

    what do a bunch of dorks on slashdot know anyway?

    Well, collectively there's someone who knows the answer to any question you ask, complete with car analogy.

    --
    There's no place like ::1 (I've completed my transition to IPv6)
  88. Re: proportional fonts can be read 14% faster by azav · · Score: 1

    I do. But why does mono spacing matter if people don't read their source like normal text?

    --
    - Zav - Imagine a Beowulf cluster of insensitive clods...
  89. Anti-aliased and fixed by AlexWillisson · · Score: 1

    DejaVu Sans Mono on emacs23 here, been using it since I first compiled emacs23! Non-fixed width fonts just don't work for me when I'm programming. I don't like the random look they have in my programs.

  90. You're doing it wrong. by zippthorne · · Score: 1

    Stop trying to program with *any* fonts. Get the glyphs from some sort of system-wide font handler so the users can change them, and design your modal dialogs and menues such that they can accommodate the changes, including size changes.

    Depending on fixed-size system fonts was fine back in the mid 80s, when you were lucky have a display a full 640 dots wide. It's the 10s, now. People's screens and eyes are all kinds of wonderful permutations of each other. Let us specify our own sizes.

    --
    Can you be Even More Awesome?!
    1. Re:You're doing it wrong. by Anonymous Coward · · Score: 0

      Stop trying to program with *any* fonts. Get the glyphs from some sort of system-wide font handler so the users can change them, and design your modal dialogs and menues such that they can accommodate the changes, including size changes.

      I wanted to draw the "whoosh" ASCII art here, but then realized that the thingy flying over your head would have to be a few hundred comments above to be to scale.

      This isn't about using proportional (or any other kind of) fonts in UI which you create. This is about what font you as a programmer should use in the editor to write code.

  91. A good REAL font by Lulu+of+the+Lotus-Ea · · Score: 1

    I consider the suggestion of using a proportional font for programming frivolous and a bit juvenile. In fact, I'm of an age where it seems a little off if my SSH backgrounds are not green-on-black (and hence make them so).

    That said, a *good* fixed font really makes a lot of difference. Not too long ago, I found one called Anonymous Pro, that I have become very fond of:

    http://www.ms-studio.com/FontSales/anonymouspro.html

    It's freely available, TTF, and I've installed it most places. As much as I hate being forced onto Windows machines, in the few cases where I am, I actually think Consolas is pretty good quality too.

  92. I'd prefer by tthomas48 · · Score: 1

    What would be nice would be an IDE that could deal with proportional fonts. Keep my tab stops, spaces, and braces in alignment, but render the text in proportional font. I understand the value of being able to read the language part of my code as language, and read the structural part of my code as structure. The best of both worlds would be nice.

  93. Irrelevant by jeroen94704 · · Score: 1

    I'm sure proportional fonts can be read faster than monospace fonts, but this is absolutely and completely irrelevant. In no way, shape or form is reading speed something that slows down developers.

    --
    He who laughs last, thinks slowest.
  94. Top10 Programming Fonts by Fnord666 · · Score: 1

    HiveLogic did an article last year about the top 10 programming fonts. Inconsolata was number 1, but I believe all of the top 10 were monospaced fonts.

    --
    'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
  95. Programmer Fonts by fm6 · · Score: 1

    Consolas is a good font, but I don't like the distinction between 1 and l. I think that incurs more cognitive overhead than it should. This kind of unobvious distinction is an issue with most fonts. For a long time I used Andale Mono (despite hearing fontophiles sneer at its esthetics) because the letter l is radically different from the digit 1. Then I discovered Vera Sans Mono, which has a similar letter l, and also has a narrow underbar, so that sequential underbars don't form a continuous line. I've often wondered why so many "programmer friendly" fonts overlook this issue: continuous underlining makes it easy to get the wrong number of underlines in things like __WEIRDCONSTANT.

    Incidentally, both these fonts are designed by major font foundries, but are available for free. Andale Mono used to be part of Microsoft's free "core web font" program; that's long ended, but nobody seems to care about all the copies available on the web. The Vera Sans family appears to be Bitstream's donation to GNOME.

    This discussion caused me to google "programmer fonts". Some interesting discoveries:

    • There are a huge number of fonts designed by programmers who can't quite live with any existing font. Since scalable font design is a specialized skill, these are almost always simple bitmap fonts.
    • Monofur is a very clever design. Which is precisely why I will never use it — too distracting.
    • This font is designed around the assumption that "We need to re-engineer the alphabet so that it will be clear at extremely small sizes." I think this guy needs to get out more.
    1. Re:Programmer Fonts by Unoti · · Score: 1

      OMG, that last font you linked to... looking at it made my stomach turn and made me laugh my ass off at the same time. It's the best "what the hell were they thinking" moment I've had all day. It's a laudable idea, but damn, this guy is from another planet if he's willing to make something like Russian characters just so he can run his font size so small that he's got a thousand characters on his screen. He's probably one of those scary-smart people, or just utterly clueless. You said it well when you suggested he needs to get out more.

    2. Re:Programmer Fonts by fm6 · · Score: 1

      Oh well, we all have our brilliant/stupid moments. A long time ago, I actually was a fervent dozenalist!

  96. Tabs by gknoy · · Score: 1

    As long as tabs (And corresponding blocks) are indented properly, I don't think I would care as much.

  97. Black Hole Parens by SuperKendall · · Score: 1

    They totally lost me in the "better" example for proportional spacing in the link for making the case, when I saw how collapsed a pair of parens [ () ] became in the proportional font - almost invisible, making it hard to recognize function calls.

    In that example the mono-spaced font they chose just sucked, there are many more readable monospaced fonts which would look way better than the proportional example.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  98. Are you reading or editing? by joh · · Score: 1

    Try to see which characters (they're all unique) these are and position your cursor between them in a hurry with a proportional and a fixed width font: il[I|]

    Anytime you see some coder craning towards the screen with narrowed eyes when selecting something, he's probably using a proportional font. Proportional fonts are better for reading prose, are not good for reading code and are terrible for editing code. Much of this is personal preferences and a few things (like 0 and O looking similar) can be fixed, but a few things are real. Editing characterwise will always be easier when the characters occupy the same space regardless of their actual width.

    IMHO everyone should use a fixed width font for editing, even if it's not code. It's just much easier.

  99. I use mono for everything by mirix · · Score: 1

    I pretend I'm reading the printout from a selectric.

    --
    Sent from my PDP-11
  100. Is Monaco available free for Windows? by billstewart · · Score: 1

    Apparently it's a Macintosh font, which is why I didn't get the joke :-) However, it's designed by Kris Holmes (who did Lucida), so I assume there may be some licensing or cost requirements. Is it available for either free-as-in-speech or at least free-as-in-beer? It's possible to download from various places around the web, but I don't know whether that's legitimate or not.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  101. Re:Dark background by dshk · · Score: 1

    The human eye cannot adjust to two different brightness levels at the same time. So the brightness of the display must be similar to the environment. If someone has to sit in a dim room, then, and only then, it is correct to use dark background. But working in a dim room is a bad idea to begin with.

  102. Re:Dark background by vikstar · · Score: 1

    wed128 doesn't realize that it doesn't matter if light is produced from behind the text or is reflected from around it. Luminance is luminance, no matter if it is emitted or reflected. Dim the display to be the same as paper in you current environment. What makes paper easier to read is print, pen, and pencil are usually thicker/bolder than displayed text, and of higher resolution.

    --
    The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.
  103. How about Rich Text Format by pentalive · · Score: 1
    How about a language that uses the formatting in RTF as a part of the syntax?

    You could include pictures in your code ( which are automatically comments)

    The font and size of the code is changeable - you can have parts in a monospaced font and parts in a proportional font.

    Outline levels are used to block statement

    1. Re:How about Rich Text Format by pentalive · · Score: 1

      This could be done with any language (well not the outline level feature) by using a pre-processor that just rtf --> plain text

  104. Times New Roman in Xcode by spinspin · · Score: 1

    Times New Roman looks really good to my eye.
    This is my Xcode setup:
    http://vectorvector.tumblr.com/post/339810337/proportional-font-programming
    (I link to the downloadable .xccolortheme file)

    Worst to my eye: Monaco and Arial.

  105. Re:Dark background by ceoyoyo · · Score: 1

    He has a bit of a point - paper is self adjusting. The luminance of white paper is always going to be the same relative to the luminance of anything else of a given reflectivity, so in general it will always be about the same relative to the surroundings. A computer screen, on the other hand, may be much dimmer or much brighter than the surroundings, if you don't adjust it (or if it's not smart enough to adjust itself). Paper IS easier on the eyes than a badly adjusted screen, due to luminance. It's also easy to fix.

    I notice most text on my screen is usually smaller than printed text. When it's blown up to about the same size it's not really a problem to read.

  106. I'm suprised not to see this mentioned by jdougan · · Score: 2, Informative

    A data point in this discussion is that it is traditional for Smallltalk implementations to use proportional fonts as the default for code editing. I've been programming in Smalltalk since 1985 and I think I've only encountered a couple of people who changed the default to anything but a proportional font. Some Smalltalks allow for rich text code, and then you'll see ASCII art done as a monospaced font section embedded in a larger proportional method or comment. But I've not seen it that often. Maybe I've led a sheltered life.

    Another data point is the book "Human Factors and Typography for More Readable Programs" by Ronald Baecker and Aaron Marcus ( http://www.amazon.com/Human-Factors-Typography-Readable-Programs/dp/0201107457 ). In this outstanding volume they build a framework for understanding program legibility and an approach to formatting C programs that utilizes this framework. Recommended to anyone who wants to have a better understanding of the issues in this area.

  107. Elastic Tabs aren't an easy fix by kaladorn · · Score: 1

    I like the look of proportional fonts. But if you go for elastic tabstops, everyone using your code (you, your boss, your co-workers, the company you might be developing the code for which might not be yours, maybe co-workers on other teams too that might need to spelunk the code) all have to be using editors capable of using these elastic tab stops.

    If they aren't, and the number of tabs inserted was different or if someone mixes spaces and tabs, it'll look like hell if they're using a different-width or different-kerning font (including fixed width).

    And yes, some of you say 'too bad for them'. Except of course that quite a few of them may be higher on the corporate food chain than you are and/or perfectly willing to make your life miserable until you conform to a standard.

    If everyone moved to Elastic Tabstops, and all the tools did, I'd love that.

    Unrelately, my favourite programming fixed width font is: Andale Mono (check it out)

    --
    -- Mal: "Well they tell you: never hit a man with a closed fist. But it is, on occasion, hilarious."
  108. What I use by Anonymous Coward · · Score: 0

    ... is a proportional font called Cynthia Handwriting (the font license says it's OK for personal use) - I like how

    • the I, l, | and O, 0, () are distinct;
    • the font itself is quite narrow;
    • yet, despite that, it's still quickly readable.

    This font isn't for everyone, though. I code in Java, where the class names are long and the doc strings abound, so most things read as words anyway. I also use Eclipse with a theme that bolds keywords, brackets and braces; the default settings also perform brace matching when I select a brace. It's pretty neat.

  109. Finally... by Anonymous Coward · · Score: 0

    Comic Sans MS FTW!

  110. Re:Dark background by leenks · · Score: 1

    If you weren't using Python or some other whitespace-is-syntax-fool language it wouldn't matter - your IDE could easily reformat the code for you. Thus space vs tab becomes somewhat moot.

  111. the theory, that it is by Anonymous Coward · · Score: 0

    goes something like;

    with dark text on light background you get more light entering the eye, which causes the pupil to contract and increases the depth of field of the eye so that it doesnt have to work so hard moving around to get a focused image.

    so assuming the brightness of the white and darkness of the black is the same in both cases of; white text on black background and black text on white background, the former should result in less eye fatigue.

    although perhaps im missing something. as i tend to like bright text on black background consoles and editors late at night with the lights off (presumably when my eyes are already fatigued)

  112. Bad example by jonaskoelker · · Score: 1

    The typo is easier to spot in fixed font.

    Actually, it's just as easy to spot in a proportional font, because what you're comparing isn't a character count but equal prefixes. If they're strcmp-equal, wouldn't they also be pixelwidth-equal, independent of the (constantness of the) char-to-pixelwidth mapping, as long as it doesn't vary per line?

    Of course, you're right in your point that it lets you compare character count visually much faster. That seems to be relevant somewhat less often, though.

  113. Re:Dark background by Eraesr · · Score: 1

    Maybe it's because white paper is easiest and cheapest to make?

  114. Not the issue by jandersen · · Score: 1

    ... proportional fonts can be read 14% faster than fixed-width fonts

    Does that really make any difference at all in programming? I doubt it; understanding source code does not hinge on how fast you could read the text, in my experience. What really helps is something else:

    - Good indentation that follows the block structure of the code
    - Good symbol names that are neither too simple nor too rich in information
    - Good comments that explain why one has chosen an unusual algorithm and that sort of thing

    I think when you read code, you don't read through each letter, you perceive each keyword as a whole. This process gets easier when you always use the same font in your editor, because the keywords then always have the same "shape". Personally I find the "grid-structure" of fixed-width font helpful when writing code, because I can relatively easily format the layout of things, which I occasionally do - eg. when I set up data in an array or table form.

  115. Proportional/monospace irrelevant. by Arimus · · Score: 1

    As a coder I don't care about proportional/mono fonts. What I do care about is a font with clear and distinct characters, especially O0ilI({)}[]

    To be honest, I'd like to bring back the ø for use in code.... I know its strictly a maths symbol and not a zero but it would be clearer than trying to spot a capital oh from a zero...

    --
    --- Users are like bacteria -> Each one causing a thousand tiny crises until the host finally gives up and dies.
  116. A little knowledge is a dangerous thing by tgv · · Score: 1

    How come people citing studies from the early '80s on reading normal text become experts on programming ergonomy? There are several reasons to distrust this.

    1. Experience: normal readers (which were the subjects in these studies) mainly have experience in reading proportional fonts. Programmers on the other hand...
    2. Context: ease of reading depends on the context, as does almost every cognitive task. Normal text does not look like code at all, so cannot be expected to be representative.
    3. Importance: reading speed is not that important in programming. Reading speed for code must be way below that of normal text (which is 3 to 5 words per second for easy text, plus or minus a bit). I cannot imagine a programmer reading and understanding at that speed, so reading is not the bottleneck.
    4. Errors: proportional fonts make it easier to misinterpret: 1, l or i? rn or m? 0 or O?

    So, unless someone comes up with a relevant study, this should be discarded. And relevant doesn't mean speed alone.

    Yes, I am a programmer and, yes, I do have a PhD and postdoc in psycholinguistics.

  117. ProFont (monospaced) by V+for+Vendetta · · Score: 1

    ProFont is my font of choice for programming needs. It's small and it provides a "0" (zero) which is good to distinguish from a capital "O". Extra goodie for german speaking coders: it includes umlauts.

  118. indeting in /. by krischik · · Score: 1

    Use code blocks - you know code in pointy brackets - just like in html.

  119. Re:Dark background by JoeMerchant · · Score: 1

    Did I mention how old I was??? Them newfangled IDE autoformatters are a) one more thing to learn b) not really capable of reading my mind. I do occasionally break "formatting syntax" rules in the interest of visual clarity. I stick to a standard style, unless the standard style is obfuscating what I am doing in the code - which happens more often than you might imagine. These "custom style" blocks will often turn 10 pages of repetitive code riddled with copy paste error potential into a single page table where the errors literally jump off the page at you.

  120. Roll Your Own by codewarren · · Score: 1

    I'm a variable font user. I used Tahoma for the readability at lower resolutions, but ended up modifying it using a font editor to fix a few annoyances. I increased the width of the space, made all numbers, and punctuation characters the same width, as well as a few other minor tweaks (like adding a dot to the middle of the zero and adjusting the look of some characters like greater/less than signs)

  121. wuzzes by uiuyhn8i8 · · Score: 0

    You are all a bunch of limp wristed weaklings with your god damn new yuppie fonts. Use '-misc-fixed-medium-*-*-*-14-*-*-*-c-*-*-*' and view your code as emacs and X11 intended it with hard, cold gloriously pixelated simplicity.

  122. Re:Dark background by quanticle · · Score: 1

    Light is light, whether its coming reflected off a sheet of paper or being generated by a computer monitor. Your eyes can't tell the difference between "emitted" and "reflected" light - its all just photons to your rods and cones.

    The difference is brightness and directionality. Paper is a fairly rough surface, and tends to scatter light in many different directions. Monitors tend emit the light in a single direction, much like a flashlight. This is the reason that light backgrounds are more comfortable on paper than on computer monitors - the paper scatters much of the light away from your eyes, lowering the apparent brightness of the background.

    To see what I mean, try reading a book printed on glossy paper outside, or underneath a bright lamp. You'll find that the sort of eyestrain you get is exactly the same as with staring at a computer monitor for too long.

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  123. Lucida Console by Fish+(David+Trout) · · Score: 1

    (subject)

    I'm surprised no one has mentioned it.

    --
    "Fish" (David B. Trout)
    1. Re:Lucida Console by shutdown+-p+now · · Score: 1

      Probably because it doesn't distinguish zero and capital "O" well (no slash/dot), and because it is pretty much superseded by Consolas, which does have proper slashed programmer's zero (and is otherwise better looking).

  124. Re:Dark background by sgbett · · Score: 1

    He has a bit of a point - paper is self adjusting. The luminance of white paper is always going to be the same relative to the luminance of anything else of a given reflectivity, so in general it will always be about the same relative to the surroundings. A computer screen, on the other hand, may be much dimmer or much brighter than the surroundings, if you don't adjust it (or if it's not smart enough to adjust itself). Paper IS easier on the eyes than a badly adjusted screen, due to luminance. It's also easy to fix.

    People have commented on the light sensor on my mbp being 'gimmicky' (other laptops probably have them too in the interests of fairness!), far from it imho.

    --
    Invaders must die
  125. Re:Dark background by ceoyoyo · · Score: 1

    Ah yes, I was going to mention the MBP. I usually forget that mine adjusts automatically, but it usually manages to be comfortable to look at outside during the day or in dark rooms with no windows. One of the best features.

  126. Re:Dark background by RockWolf · · Score: 1

    what do a bunch of dorks on slashdot know anyway?

    Very little, and always less than they say they do.

    But what would I know?

    ./Rockwolf

    --
    February 9th, 2009 8:55pm: Slashdot becomes self-aware.
  127. Any vi-like editor supports this? by Anonymous Coward · · Score: 0

    Does anybody know of an editor with vi-like keybindings supporting proportional fonts?
    Vim, the obvious candidate (or MacVim over here) does not and will not support proportional fonts, due to its internal design.
    I'm all for programming with proportional fonts, but I will not give up my modal editing.