Quote:
"So it's not an editor for the faint of heart, and this blog is targeted at people who have already made the commitment, and want to improve their mastery of this elegant, timeless piece of software.
The rest of you: I think your Eclipse just finished launching, so you can get back to work now."
Emacs is amazing. It is probably the only IDE I know that doesn't stand in your way any more than it is truly necessary. For those of you with PC descent: you guys remember Borland IDEs? Borland Pascal and Borland C++? Even Turbo C? I doubt any of the so called "programmers" today would be able to operate such an IDE (even though it had all the basic elements that any modern IDE has). The dexterity and flexibility of Borland was thrilling back then and Emacs – software way older than Eclipse, Visual Studio and TurboVision-based IDEs – and Emacs can easily surpass all of them because Emacs doesn't end.
This is an ode to Emacs and to the notion that Emacs does not end. Well it rather does, but it only ends where you end. It's not like this with other IDEs. Emacs is sorta… alive. I know people who insist on writing code in nano. I understand these people. Their false crave to simplicity is derived from the same thing which gave birth to the idea that only professional web designers are and capable of using notepad as their primary HTML editor. It is as ridiculous as the idea that the only true way to maintain a Linux box is Slackware; it is not the illicit intent but the narrow-mindedness of people that causes them take such obnoxious positions.
I got the emacs fever the day I saw some guy coding in it. Back then I was a beginner editing his leet hax code in the kernel sources; in fact, a patch or two of mine are in the official Llinux tree; and back then I was convinced that the simplicity and elegance of Midnight Commander's built in editor (as back then I'd still find myself using Norton (Volcov) commander and DOS Navigator very often) is supreme and unbeatable. Some time around then puberty hit me in the face with the kind of rational objectivity the rest of bitter grownups share, and one of those postadolescent experiences was Emacs. Freud would probably be proud but he's dead and I don't care. So this guy, I saw him coding, this guy was doing unspeakable things to his code; tap-tap, automatically indent the entire source file; tap-tap, switch to another buffer and edit a file in another language; phone calls, tap-tap, the guy brings up his schedule, answers a question, tap-tap and he's looking at his own wiki from which he reads technical data to the customer; all in the pace, not for a single short moment he leaves the keyboard. His thoughts, normally parallel and chaotic, become very much single-threaded and recursive and you can literally watch him dive into an interrupt of the phone conversation, dive into some bizzare subtask of reality from within it, adjust the stack frame, return one level upper, return some answers to the questions, return one level up, and there he goes back to his project, coding in the same way he was talking on the phone with a guy he doesn't even know; no tolerance for bullshit and rapid, sensible answers to the question his partner asks. Why? He's in the code rush. He experiences the brilliance and symmetry of the invisible palace he is building; for that guy this time of the day is the time of being a great, underappreciated yet powerful painter; and he went with one of the most sacred principles of software development and said, "There is no way I let the tools I use stand in my way". So he did the only thing a guy like him can do without resorting to incompetence and lies: he went and looked for the best shit out there. He went out there and he molested all the booty on the way and he came back and he did what? He logged onto his Debian unstable box and fired up emacs and said, "There is no way I let the tools I use stand in my way". And amateurs like me would come to him and bother him, "Why don't you like use KDevelop and shit?". And a couple of months ago one of my own developers, a kick ass guy who has a cyberpunk tattoo and knows everything about herbs, mushrooms and covert operations, this guy sits next to me watching me code and the next day I see him working in Emacs on his own box… I must ask, why does this happen to occur? Surely it is not because of emacs' marketing campaign of which there is none; and certainly it is not because of childish excitement as hardly anyone would get excited by the outlook of Emacs. Rather simple! One code monkey sat next to another and saw something that made it think, "Hah! With this in my hands I can become a better code monkey!"
No seriously. If you haven't tried Emacs, try it. You'll have to try it for a month or so and you probably will hate reading the tutorial twice; Emacs is not obvious and it is hard to grasp the spirit of the environmen but it's all worth it.
I don't want to insult the people who prefer vim; well I want to but I wont as I just got back from a party and I am under influence of both legal and illegal substances so I'll not even preach anymore.
Vim people, try Emacs.
Emacs is very manly.