Saturday, March 12, 2005

The IT colon

From time to time, information needs to be displayed in columns. This is all well and good and we can of course appreciate the many benefits this elegant convention has brought to humanity throughout recorded history.

But what in Hell's name is going on with the colons in the following example (it's made up, but a familiar layout):

Account           : 4321
Name              : Smith
Job               : Agent
Date              : 2005-01-01

In general there should be no spaces before punctuation marks - so what are the colons doing all the way over there?

If they were doing their normal job of introducing a following item, the listing would look like this:

Account:            4321
Name:               Smith
Job:                Agent
Date:               2005-01-01

At first you might think they are there to help the reader match items horizontally by providing a visual reference part way between the columns. But then, all that this column of colons actually achieves is to move the right hand column further away, as well as adding a distracting vertical line. You could achieve exactly the same thing by simply moving the columns closer together:

Account           4321
Name              Smith
Job               Agent
Date              2005-01-01
Or perhaps we wanted a vertical bar? Well then, use the 'pipe' character:
Account           | 4321
Name              | Smith
Job               | Agent
Date              | 2005-01-01

That is fairly pointless without going the whole hog and making it into a table, like this:

| Account           | 4321               |
| Name              | Smith              |
| Job               | Agent              |
| Date              | 2005-01-01         |

- which is itself a bit pointless when simply aligning the text into columns would have done the trick perfectly well in the first place.

So IT guys, we love you, but can you just stop doing the thing with the damn colons?


Aram said...

While I had a lot of fun reading your blog, I am a programmer and will keep doing whatever I want with colons and other punctuation marks as long as it makes reading source code and its output easier.

Computer language (and outputs) are not English. It is far too logical to be a human language.


Phantom Nitpicker said...

I'm not talking about computer languages, I'm talking about output intended for end users, specifically a vertical column of colons that does nothing whatever to aid readability.