Source code editors are the most fundamental programming tool, as the fundamental job of programmers/developers is to write and edit source code. Many source code editors and IDEs have been evolved over a time.
Here are some well-known source code editors :
Vi and emacs are two most famous keyboard-only code editors. These editors are 40 years old, still they are used by millions of developers everyday. What makes so old software to be so useful and why a modern developer like you want to learn?
Following are few reasons which will enforce you to give vi and emacs a shot
You can find vi and emacs on almost every distribution of Linux ,Unix and Solaris. These come pre-installed in OS, which means you don't have to install anything to use them . This ubiquitous nature becomes important, when you are accessing remote machines where you may want to update scripts or some other files. And most of the remote servers operate on Linux. In remote machine, you may not have ability to install new software. So if you are comfortable using vi or emacs you don't need to worry as most probably they are going to be there everywhere and anywhere!.
vi and emacs provide keyboard macros for performing all sort of operations like editing ,saving a file, moving between lines, selecting text etc. Beginners are uncomfortable to use it and they think that it's overwhelmingly hard to master it. But that's not true!. So if you've never used it before Just give it a shot!.
Most of the computer users are dependent on GUI to interact with computer, they perform actions through graphical icons. As a developer you have to do rapid text editing and code refactoring for which GUI becomes cumbersome to use. Each time when you lift your hand from keyboard, it makes you think where to click now?! So using keyboard macros not only makes you a better user, it also saves lot of your time. .
Both vi and emacs allows you to extend the editor with plugins. There are thousands of plugins available which allows you to do syntax highlighting, code compilation, debugging and lot more from the editor itself without leaving your keyboard. Now that's the power!.If you are really an adventurer you can even read your emails in these editors.Isn't that cool!.
Both, vi and emacs, have a steep learning curve and looks too old fashioned for getting started. Don't judge an editor by it's look. For developers like us performance matters more than beauty.
What if you want all power of vi and emacs but with nice GUI and project management. Then you should give SublimeText a try.
SublimeText is clone of Textmate which is a superb editor of Mac. SublimeText has a slick user interface and is very lightweight with extraordinary features. Sublime is available for Windows,Linux and Mac.SublimeText allows you to edit many languages like Java, JS,HTML.
Sublime Text can be downloaded and evaluated for free, however a license must be purchased for continued use.
This book is written using sublime text!.
The other editors you can try are atom,Notepad++ etc.
All the above mentioned tools are focused mostly on code editing and reading. What if you want an integrated environment where you can
then you can use an IDE.
IDE stands for Integrated developer environment. It's a software which allows you to do all the above tasks in one place. Though IDE are more powerful than normal code editors, they consume lot of resources and make you slow as they come with lots of options.
The following are few options for IDE
Eclipse is an open source IDE developed by IBM and now maintained by Eclipse.org. Eclipse supports multiple languages like Java,C, C++ etc. You can extend eclipse by installing plugins which allows you to build, source code management etc.
The free open-source version of IntelliJ IDEA, a premier IDE for Java, Groovy, Scala and other programming languages.Though you can use eclipse for development, IDEA has few advantages over eclipse. One of the advantages is memory usage. Eclipse is a memory hog. But IDEA is very light on memory. This makes IDEA extremely fast to use.
Mastering a Code editor or IDE is extremely important for a developer. So try all the above mentioned tools and settle with the one you like. Once you settle you are going to spend rest of your life to master it in the process of becoming highly productive at work.