Back to the future


The strange thing about learning to code is that you don’t really no what lies ahead. I have been amazed by the things that I have discovered.

It is very nerdy but I am actually writing this blog in a programme that was written in the 1970′s: Vim. Its name comes from VI which is short for visual. The ‘m’is from iMproved. VI is the editor that got created when computers first had screens. Today the idea that an editor that displays just text is somehow ‘visual’ seems strange, but it is from a time when most computers didn’t have screens.

You might also think it is hard to understand anyone wanting to use such an old programme today. It turns out that Vim has never before been so popular. The reason is that it is used by computer programmers to edit their programmes. So why should anyone else care? When it comes to anything on a computer it is well worth aping anything that programmers do.

If you are like me when you have seen someone use Vim you will have thought:’A witch!’ and felt a definite flight and fight response as though you are in the presence of evil for sure. The reason Vim is so good is that it was written by the type of genius that occupied the MIT computer labs in the 1970′s if not the very same geniuses. The people who created the world we live in today knew how to solve problems and with Vim they solved a butt load of them.

At the time there still wasn’t a computer mouse. So you have to be able to edit text with key board commands. That of course is Vim’s big problem. In order to use it you have to invest 30minuets to learn the commands and then you have to keep using it to retain a perishable skill.

So why do programmers choose to edit text documents in Vim? Its fast. Speed also aids flow. If you can get the machine to do your bidding at the speed of thought, you don’t break your flow. If you have to stop typing for a spelling mistake for example, you don’t have to find your spot on the page and then the corresponding spot in your train of thought to start typing again.

I was typing ‘vim’, and the spellchecker was politely letting me know that its a name so ‘Vim’ is correct. I didn’t know the command for find and replace all so I googled it, dragged and dropped it to Vim and hey presto, 10 instances on 5 lines of that word correct without me loosing my spot. Without me diving into a single menu and most importantly of all in a matter of seconds.

Additionally I thought it would add something to give the specific number of words I changed. So again that was only a few keystrokes away.

Vim is very quick and easy to edit text ‘programmatically’ in. i.e getting the machine to do repetitive tasks, but it is also quicker to not use the mouse. You have 9/10 fingers at your disposal. The mouse is a pointy-clicky-stick. The reason Steve jobs got so exsited when he saw a graphical user interface and the mouse was not that the mouse is a great advance in computing. It is that the mouse is the computing equivalent of a white cane. The folders, mouse and an operating system like MSWindows make it possible for someone with ZERO computing knowledge to navigate in this digital world. The reason he saw dollar signs and the people working at xerox park missed it, is that the mouse wasn’t a massively useful tool for them, it was largely redundant. Steve jobs could see that the mouse helps people most that DON’T know the keyboard commands.

Saying I don’t need to learn the keyboard short cuts is a bit like saying:’eyes, no thank you. I’m happy with this white stick’

If the mouse was the best/fastest way to get around a computer, then very likely it would have been the first method used. Steve jobs other pearl of wisdom is that the computer is a ‘bicycle for the mind’. Note not the car not a Ferrari. It is a bike for the mind because you have to put some effort into get the most out of it. Basically, a computer  extends our abilities. It does easy boring things really fast, like count how many times a word occurs in a document. But in order to do that the hard bit ‘thinking’ gets even harder.

The tough bit about using a computer well is not the learning it is the thinking.