A text editor is a programmer must have tool. Like many developers, I have used quite a few text editors over the years. Here are some that got me through many projects.
-
I started learning QBasic back in the 90's that comes with editor. It was in the old Microsoft DOS command line though. Then I ventured into the C programming. Remember that there is no internet back then. I have used various pre-package editors that comes with the C compiler. Back then the Turbo C comes with an editor that I am not sure what's called. Then later I used one from Borland C++ Builder for Windows 3.1.
-
Then I had been introduced to Linux and Unix environments, and I learned about Vim editor. It's a stand alone editor you can use to write any code. (It's actually called Vi, but at that time, there is already a popular Vi IMproved version, so I jumped on it.) I remembered I've spent a long time trying to master it. I even got many customized shortcuts and scripts for it, but after a while I realized that it was just too taxing to try maintain it. I focus on the editor more than on my code! However I didn't regret learning this tool because even today, I am able to move about in Linux terminal and edit what I need with ease. The Vim works in terminal and it's everywhere.
-
Then around year 2000, I've used UltaEdit (It's a Windows only text editor back then). It's the first true programmer Editor I actually pay for it! I was writing lots of Perl code back then, for an online auction site. I have used this for several years. Mainly it's clean and fast. The search and replace that supports Regular Expression, and it lets you search through a folder recursively was awesome!
-
I worked with Microsoft C++ projects for some time, and their Visual Studio was great. Heard of IntelliSense? Oh it was bleeding edge stuff back then. Now a days, just about any IDE has this feature.
-
Then I got into Java programming. A large Java project needed more help than a simple text editor (but I learned all the basics through a plain editor though). I started using Eclipse IDE. Due to the need of cross platform (Unix and Windows), and I need something lighter than IDE, I also started using jEdit. This lasted for many years.
-
When I started using MacOSX and learned a new language called Ruby, it's then I heard about TextMate. I didn't know a Text Editor can be so slick and smooth and beautiful!
-
I also had to work with Windows platform at lot at point, and I've found the open source Notepad++ a good editor to do just about any programming now. It replaced my UltraEdit at this point. If you only have to work on Windows, then this is the editor you should keep around you.
-
Java has been the bread and butter of my career. Many years of Eclipse usage has lead me yearning for more speed and stability. I started trying out NetBeans and IntelliJ IDEA. The IDEA has won me over at the end. It's like one of those thing that once you tried, you can't go back. It is truly a great and productive IDE. Today I bought their entire tool suite that covers Java (IntelliJ IDEA), Python (PyCharm), JavaScript (WebStorm), PHP (PhpStorm) and SQL Explore (DataGrip).
-
Python is one my favorite programming language. It's through python programmers, that I heard about Sublime Text. It's a cross platform that's truly beautify, fast and light to use for any text and programming coding. I still use this today for any quick text editing.
-
Microsoft has released an open source version of light IDE editor named VSCode. This is very comparable to the WebStorm, except the Git client UI is terrible.
-
Atom is yet another cross platform text editor that recently I have been trying out lately. It looks great, runs on multiple OS (MacOSX, Windows, Linux etc) and it's open source! It can be the SublimeText replacement, except one biggest issue is that it's slow in comparison.
So as you see, I tried many text editors. I have come to learned that you should always keep a simple, clean and fast text editor. This allows you to edit any text files for any programming languages, read logs, edit system config files etc. Then on top of this, you want to invest in a full feature IDE that supports the main programming language that your project is using. The IDE will provide quick tools setup, environment integration, language refactoring, source control integration to inspect code change and diff, intelli-sense code editing and browsing, and much more. These give you a powerful and productive boost toward a large and demanding project.
Many popular tools out there are created for a purpose and if you're willing to learn it, you can use it in a productive way. If you are a beginner programmer, try some open source text editors. Spend few months on the one that you like. Better yet, work on a real project with your text editor. Spend some time to know it better, read the docs, and learn from other users etc. Now if you are a professional programmer, you shouldn't be afraid to pay a text editor or IDE. A commercial IDE such as Sublime Text or IntelliJ IDEA can really boost your performance. The amount of money you pay is very nominal compare to the money you will earn through the code. Writing good code is a craft of art, so invest on good tools to do the job well. With a good text editor on hand, you will enjoy coding more, and the quality of your code should get better as well.