Computer Science, Mathematics, Society, Relationships, Sex, 0xf00d, Pets, Leashes and Secretaries.
Wednesday, January 16, 2008
On editors
From time to time I tend to try a new editor. What would make you steer away from your trusty old Emacs shell? The reason is pure curiosity -- I tend to like to see new things and get new views on computing.
We must realize that part of what we use on the computer is built for humans in order to make humans interface with the computer. The editor is for editing documents that may happen to tell the computer what to do. The task is quite simple, and originally on unix, ed did the job. Much have happened since that time, or has it really?
We still edit files and though we got syntax highlighting, multiple buffers, IDEs nothing has really changed much. You still "open" a file. Edit it and then you put the changed file back on the file system. Editing done. Some editors change the way we look at editing in a really deep way.
This time it was Rob Pike's Acme editor. I really like this editing environment and should I ever get to the point where I wanted to write an editor in Haskell, ML or similar, it would aspire to acme. First, the editor is dead simple. It can be done in less than 10000 lines of C, hinting on something around 1000 lines of Haskell/ML. It would be pretty cool to have an editor written in those languages and the extension language would be pretty obvious.
What amazes me is that this little editor is extremely usable. There are no movement with the cursor keys, rather they scroll the window. The mouse is an integral part of the editing process. But compared to weak uses of the mouse found in other environments, the acme editor makes really good use of it. I always hated the mouse. Then I tried acme.
It is certainly not for everyone. It is not like vi or emacs at all. But you will become proficient in it in 1 week. And then you know all of it. Since it can run any Unix-shell command on a selection in a window you don't need that much power in the editor itself. Just make Unix help you out. Sheer power. Thanks Rob!
Subscribe to:
Post Comments (Atom)
About Me
- Jesper Louis Andersen
- Lambda-loving CS Geek. Likes metal music. Likes dogs, cats. Does not like pictures of dogs and cats (unless they are lambdacats!)Has an unhealthy coffee addiction. Calls himself the coffee zombie in the morning (BEEEEANS!)Has a neverending curiosity gene, loves intelligence and passion.