Forgot your password?
typodupeerror
GUI Programming

Programming With Proportional Fonts? 394

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?"
This discussion has been archived. No new comments can be posted.

Programming With Proportional Fonts?

Comments Filter:
  • Many years ago ... (Score:5, Informative)

    by Anonymous Coward on Sunday January 17, 2010 @08:58AM (#30797628)

    ... /. 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.

  • Re:Monaco (Score:5, Informative)

    by psergiu ( 67614 ) on Sunday January 17, 2010 @09:14AM (#30797692)

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

  • Examples... (Score:2, Informative)

    by wisnoskij ( 1206448 ) on Sunday January 17, 2010 @09:28AM (#30797740) Homepage
    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...
  • Re:Consolas (Score:3, Informative)

    by MoeDrippins ( 769977 ) on Sunday January 17, 2010 @09:48AM (#30797858)

    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) [wikipedia.org]

  • by msgmonkey ( 599753 ) on Sunday January 17, 2010 @10:04AM (#30797974)

    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/ [yoyo.org]

  • Re:Overrated (Score:5, Informative)

    by interiot ( 50685 ) on Sunday January 17, 2010 @10:11AM (#30798022) Homepage

    Elastic tabstops [nickgravgaard.com] 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 [nickgravgaard.com] and Code Browser [tibleiz.net]), but once it becomes more widespread, many more programmers will be free to try out proportional fonts for coding.

  • Re:Pencil and Paper (Score:3, Informative)

    by MrMr ( 219533 ) on Sunday January 17, 2010 @10:14AM (#30798036)
    Goose feathers make better quills than those from birds of prey.
    And yes, I do program in fortran.
  • by CondeZer0 ( 158969 ) on Sunday January 17, 2010 @11:17AM (#30798470) Homepage

    The programming environments by Rob Pike use proportional fonts by default. Both Acme [cat-v.org] (also used by Dennis Ritchie) and Rob's previous text editor Sam [cat-v.org] (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.

  • inilliibiliti (Score:5, Informative)

    by epine ( 68316 ) on Sunday January 17, 2010 @11:17AM (#30798478)

    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 [youtube.com] 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.

  • Re:Overrated (Score:3, Informative)

    by mdf356 ( 774923 ) <(moc.liamg) (ta) (653fdm)> on Sunday January 17, 2010 @11:40AM (#30798670) Homepage

    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).

  • by TheRaven64 ( 641858 ) on Sunday January 17, 2010 @11:44AM (#30798702) Journal
    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.

  • by TheRaven64 ( 641858 ) on Sunday January 17, 2010 @12:03PM (#30798828) Journal
    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.
  • by hey ( 83763 ) on Sunday January 17, 2010 @12:16PM (#30798908) Journal

    This was on reddit today
    http://hivelogic.com/articles/top-10-programming-fonts [hivelogic.com]

  • Re:Overrated (Score:1, Informative)

    by Anonymous Coward on Sunday January 17, 2010 @01:46PM (#30799554)

    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.

  • by BenoitRen ( 998927 ) on Sunday January 17, 2010 @02:42PM (#30799994)

    Could you be referring to Best Color Scheme For Coding, Easiest On the Eyes? [slashdot.org] ?

  • by jdougan ( 11426 ) on Sunday January 17, 2010 @07:50PM (#30802584) Homepage

    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 [amazon.com] ). 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.

Anything free is worth what you pay for it.

Working...