The Road goes ever on and on
Down from the door where it began.
Now far ahead the Road has gone,
And I must follow, if I can,
-Bilbo Baggins, The Fellowship of the Ring
Sometimes the completely respectable Visual Studio programmer is called upon to follow the arduous road to places unknown where danger and dragons await him at every turn. One such dragon is called Emacs the Keybinder and subduing this beast requires a great deal of effort to those who have lived in the relative comfort of Visual Studio land.
But first, why would anyone respectable ever want to leave the comfort of Microsoft’s Shire? That’s a good question. The answer of course is that not all adventures are found in Windows. There are a great many wondrous programs that live outside the confines of Windows and to be able to write code for them one must find a text editor that lives in Linux. In their seminal work “The Pragmatic Programmer” Andy Hunt, Dave Thomas postulate that one must learn one (1) text editor and get unfairly good at it to be extremely effective. Visual Studio has quite a decent text editor and an unmatched IDE but since it doesn’t come on any other platform (Linux, Mac) it’s not going to be that One True Editor that Andy and Dave are referring to. Emacs however does. In this series I detail my journey from Visual Studio on Windows to Emacs on Windows, Linux and Mac and some of the things that I found along the way.
I had been using Emacs for a long time to do “all the other” text editing. The text editing that does require an integrated project management and a build system. For “all the serious” code I always used Visual Studio – which meant that the “serious code” was in C/C++ and C# and on Windows. Then I had to write cross platform code – code that would compile and run on more than one platform. This required some rethinking on my IDE choices and after much tribulation I moved to Emacs for writing “serious code”. I had to improvise along with way with a number of different tools and I found myself wishing that there was some kind of guide for moving from Visual Studio to Emacs but found none that went into practical details. I hope this one fills the gap.
In the next episode, I shall detail some features (eccentricities?) of Emacs and what the Visual Studio user should not attempt to do.