Presentation by: Justin Findlay



Most people interact with computers through interfaces explicitly designed for nontechnical users by computer-literate software authors. What do you do when that interface is inadequate or wrong? What if you want to try something entirely new? In these cases, how do you *really* interact with a computer? Computer languages generally offer a much more liberating, limitless, though much less scaffolded introspection into a computer than a premade UI can. To accomplish anything of this kind you're going to need compose and edit the computer language code. One measure of a text editor's goodness in this regard is its unobtrusiveness to the language itself, because writing code is intrinsically a linguistic endeavor. Vim is an excellent example of such an editor, and learning how to use it will help you acquire general purpose thought paradigms requisite and universal to all fields of software work.