---
created_at: '2015-07-02T08:14:11.000Z'
title: Stop the Vertical Tab Madness (2010)
url: http://prog21.dadgum.com/76.html
author: draegtun
points: 85
story_text: 
comment_text: 
num_comments: 63
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1435824851
_tags:
- story
- author_draegtun
- story_9817466
objectID: '9817466'

---
[Source](http://prog21.dadgum.com/76.html "Permalink to Stop the Vertical Tab Madness")

# Stop the Vertical Tab Madness

[programming in the  
twenty-first century][1]

It's not about technology for its own sake. It's about being able to implement your ideas.

# Stop the Vertical Tab Madness

In [One Small Step Toward Reducing Programming Language Complexity][2] I added "Who even knows what "v" (vertical tab) does?" as an off the cuff comment. Re-reading that made me realize something that's blatantly obvious in retrospect, so obvious that I've gone all this time without noticing it:

No one is actually using the vertical tab escape sequence.

And I truly mean "no one." If I could stealthily patch the compiler for any language supporting the "v" escape so I'd receive mail whenever it occurred in source code, then I could trace actual uses of it. I'm willing to bet that all the mail would come from beginners trying to figure out what the heck "v" actually does, and then giving up when they realize it doesn't do anything. That's because it _doesn't_ do anything, except with some particular printers and terminal emulators, and in those cases you're better off not relying on it anyway.

And yet this crazy old feature, one that no one understands or uses, one that doesn't even do anything in most cases, not only gets special syntax in modern programming languages, it's consistently given space in the documentation, even in tutorials. It's in the official [Lua docs][3]. It's in MIT [web course notes][4] about `printf`. It's in the books [Programming in Python 3][5] and [Python Essential Reference][6]. It's in an [introduction to Python strings][7]. It's in the standard [Erlang documentation][8], too.

[Insert conspiracy theory involving Illuminati here.]

Here's my simple plea: stop it. Stop mentioning vertical tabs in tutorials and language references. Drop the "v" sequence in all future programming languages. Retroactively remove it from recent languages, like Python 3. Yes, ASCII character number 11 isn't going away, but there's no reason to draw attention to a relic of computing past.

Surprisingly, the "v" sequence was removed from one language during the last decade: Perl. And even more surprisngly, there's a [2010 proposal][9] to add escaped character sequences, including vertical tab, to the famously minimal language, Forth.

(If you liked this, you might like [Kilobyte Constants, a Simple and Beautiful Idea that Hasn't Caught On][10].)

[permalink][11] _July 29, 2010_

# previously

* [One Small Step Toward Reducing Programming Language Complexity][12]
* [Free Your Technical Aesthetic from the 1970s][13]
* [Explaining Functional Programming to Eight-Year-Olds][14]
* [What Do People Like?][15]
* [Tricky When You Least Expect It][16]

# [archives][17]

[**twitter][18]** / [**mail][19]**

I'm James Hague, a [recovering programmer][20] who has been designing video games since the 1980s. [Programming Without Being Obsessed With Programming][21] and [Organizational Skills Beat Algorithmic Wizardry][22] are good starting points. For the older stuff, try the [2012 Retrospective][23].

Where are [the comments][24]?

[1]: http://prog21.dadgum.com/
[2]: http://prog21.dadgum.com/75.html
[3]: http://www.lua.org/pil/2.4.html
[4]: http://web.mit.edu/10.001/Web/Course_Notes/c_Notes/tips_printf.html
[5]: http://www.amazon.com/Programming-Python-Complete-Introduction-Language/dp/0137129297
[6]: http://www.amazon.com/Python-Essential-Reference-David-Beazley/dp/0672328623
[7]: http://www.tutorialspoint.com/python/python_strings.htm
[8]: http://www.erlang.org/doc/reference_manual/data_types.html
[9]: http://www.forth200x.org/escaped-strings.html
[10]: http://prog21.dadgum.com/32.html
[11]: http://prog21.dadgum.com/76.html
[12]: 75.html
[13]: 74.html
[14]: 73.html
[15]: 72.html
[16]: 71.html
[17]: http://prog21.dadgum.com/archives.html
[18]: https://twitter.com/dadgumjames
[19]: mailto:james.hague%40gmail.com
[20]: http://prog21.dadgum.com/56.html
[21]: http://prog21.dadgum.com/195.html
[22]: http://prog21.dadgum.com/177.html
[23]: http://prog21.dadgum.com/162.html
[24]: http://prog21.dadgum.com/57.html

