Sometimes I fancy why every programmer is nitpicking their desired editor. Some that I know of, believe that the best one is always the one with the most feature. Some care only for whatever language they use. Others have different views. They only care about IDEs (Integrated Development Environment). But what really is important? What’s the best editor like?
I usually go from ‘feeling okay’ to ‘feeling better than okay’ when somebody comes up to me and say, "Hey, you’re not using an IDE.. you must be hardcore!" Err.. its funny and amusing both at the same time. Its funny because maybe they look at it different, amusing because ‘is it not supposed to be that way?’
I completed my BS degree in UP Diliman, and back then, all that was ever taught was how to code well and how to code better. (Believe me, both are different things.) I’m very thankful to my ‘paper coding’ days because it made me understand the use of computers, and valued writing with my bare hands a little better. I never learned to use tools that automate a lot of stuffs. More often than not, I take pride in writing the indented markups myself rather than clicking one button and wait for the ‘viola!’ sound to pop in your head upon seeing the snippet typewritten in front of your face. I usually call it the ‘click and drool’ fashion.
I stood loyal by Window’s notepad because of its simplicity and ease of use. When in Linux, I remain steadfast in the faith that the texteditor is your best friend.
During my first ‘legitimate’ programming job, I was influenced by one of my looked up personalities (mentors) to love the simplicity/elegance/feature-loaded emacs. My colleagues used emacs too. I liked it, but it was more than what the texteditor is. Its great, but it didn’t suit my preference. It felt like it ate my time configuring how its supposed to respond to these strokes, or how my own profile should look like. Each time I used a different machine, I’d waste another precious effort to work on these configurations. And what bothered me most of the time was that, since I was using a Windows machine there, I had to worry about CR/LF in windows vs in unix.
I’m quite ambivalent with the use of different OSes (windows and unix) in general. I can work on the same project across platforms. Well, at least that’s how I wanted myself to be–independent from the platform available (though I always prefer the unix/linux flavor). When I’m on windows, I was able to use Ultraedit, Programmer’s Notepad, ConText, etc. They all had different triumphs over another editor and it was hard to choose. In the end, I went with the use of Programmer’s Notepad because it was free, and it was simple. Another important editor I love to use in Windows is an Open source multi platform lightweight editor called ‘Geany’. I like this a lot because I seem to have everything I wanted there. It had a console/messages window, good grep (search command), file and directory pane, snippets list, and can syntax highlight several of my most used scripting languages. In linux, just like in windows, I keep only two of the best editors. I used Quanta++, Blufish, Screem, etc. But the best I still found with Geany and Texteditor.
In general, I feel like the best editor is supposed to be simple, lightweight, free (no hang ups), with good built in grep function (for search and replace within search results or directory or open files), syntax highlighting, and possiblity of use with plugins and/or modifications. All of these I found with Geany and Texteditor (though not for Programmer’s Notepad–cause I haven’t really tried it there).
I will never need IDEs as long as I’ve got the best editor that can make me more productive and efficient.