I will keep this one short. I want to convey just a simple message. A message that sent me on quite a journey. A journey, that I think is important for any serious software developer. I hope it may have a similar impact for someone else too.
Learn one editor, and learn it well
Short and simple. So where does this come from? I seriously don’t know. I really believed I read the phrase in the Pragmatic Programmer, but during my research for this post I could not find it anymore. The latest 20th Anniversary Edition just has this to say 1:
In the first edition of this book we recommended using a single editor for everything […] We’ve softened that position a little. We’re happy for you to use as many editors as you want. We’d just like you to be working toward fluency in each.
(The Pragmatic Programmer, 20th Anniversary Edition, p. 156)
I think these two positions do not contradict each other. I’m using multiple editors and IDEs. Still, I strive to master only one of them. Mastering a powerful editor is a long journey. There are no shortcuts and you may never reach absolute mastery. I’m well over a decade into this and a master, no, a master I am not. Powerful editors are surprisingly deep.
“Ok so, which one should I choose?”, you may ask. Unfortunately, I cannot give you an answer to this. There are many great editors out there. Different ones work for different people. You have to do your own research, maybe even get quite deep into several, until you arrive at your final choice.
But I also do not want to leave you hanging without anything. Some editors that I think are worth looking into, even if you don’t end up using them, are Emacs, Neovim and Vim.
Google around, read some blog posts, ask on Reddit, dig through Hacker News, watch YouTube videos. Try to get an understanding why people use them. Then choose one that seems to align best with yourself and what you feel is important.
You may have noticed that I left out IDEs, many other editors, and especially VS Code. It might very well be that you end up with any one of those. That is fine, don’t let anyone tell you otherwise. There are people being incredibly effective doing everything in Far Manager (no joke). The only right answer is the one that works for you.
Before making your choice, however, I think it is worthwhile to look into these OG editors mentioned above. Do not blindly jump onto the VS Code hype train. VS Code is great, but it is not the ultimate and final answer to text editing. You might very well end up with another editor suiting you even better. If nothing else, you’ll have learned some history and lore about our craft.
An earlier edition I found contained something similar in spirit to “Learn one editor, and learn it well” but also not that exact phrase. ↩︎