Wednesday, April 23

I recently added the following keybinding to my .vimrc:

map <F5> :wall<CR>
imap <F5> <ESC>:wall<CR>

Which means that hitting the F5 key saves everything currently open in the editor. I don’t think there are any real semantics here. I chose F5 by analogy to F5 in QBasic, which would run the program from scratch or continue it from the last breakpoint, depending. Something about the core of this idea persisted into the browser era, where it’s become a synonym for “reload”, but it’s the mapping to QBasic that really tugs at my heartstrings.

I fired up an actual copy of QBASIC.EXE just now inside of dosbox(1) to check my assertions about UI here, and to see if, in its incarnation as MS-DOS Editor, it could open this file.

Sure enough it can, and I find myself in one of the first pieces of software that ever got deep inside my head. Users of a certain age and inclination must surely be able to conjure this in their minds' eyes: The background is blue - a blue you associate instinctively with Microsoft. Text and a collection of quasi-graphical, “high ASCII” interface elements are off-white. The cursor blinks rapidly. There’s a little collection of menu items across the top of the screen, activated by hitting ALT. Shift lets you highlight text. There are borders around the screen, and primitive scrollbars, almost unreadable as such in these latter days.

It’s striking how this environment feels at once thoroughly primitive and surprisingly modern. On the one hand, it lacks such fripperies as generalized syntax highlighting, word wrap, or an “undo”. It can cut, copy, & paste (this is where I formed the muscle memory for shift+insert as “paste”), but stands a fair chance of destroying vast swaths of work if you don’t save (ALT F S) reflexively.

On the other hand, it’s easy enough to navigate. It’s not an alienating experience the way software of its vintage so often can be. Whoever wrote this code took some real care to file off a lot of the sharp edges and build a welcoming little space.

It makes sense when you think about this editor in the context of QBasic, which was always a good deal better than it had to be, or at least a good
deal better than you’d expect from the modern recollection of DOS as a kind of crippled, brutalist end-user nightmare. QBasic, beneath the surface aesthetics, was a really humane and generous piece of work.