If you’re someone who writes code regularly, it’s highly important that you use a code editor that you’re comfortable with. Under Linux, there is a large selection of editors to choose from, each one aimed at different types of programmers. Choosing just two editors to compare is really hard, but I chose my two favorites: Eclipse and Geany.
These two editors are fantastic at what they’re aimed to accomplish, but they’re still vastly different from one another. To take a closer look, I compared these two by the interface, amount of features, overall ease of use, and other characteristics such as language support.
Eclipse is a rather massive editor that tries to include every feature imaginable into a single package that everyone can use. Because of its large size, it definitely takes a while to launch, even with a solid-state hard drive. Once it does launch, it’ll ask you to choose a location for the workspace (where the project folders are saved) and then opens up the main window. Anyone who has used Visual Studio before will realize that the interface looks slightly familiar because Eclipse aims to be a similarly heavy code editor.
To get started, you’ll want to create a new project. Eclipse will ask you which programming language the project will be using. The amount of supported programming languages in this list depends on which additional packages and plugins are installed — with the right plugins and SDK, you can also create new Android application projects in Eclipse. From here you can become even more specific with the type of project (if you want) as well as choose which toolchain/compiler you want to use.
Once created, you can view the code, add new files to the project, and do whatever else you want. Eclipse also offers a nice outline which gives you a view of the currently written functions and variables. Another view allows you to create a tasklist so that you can stay focused on the work ahead by creating organized lists and scheduling deadlines.
Of course, there are a few other highly complicated features available that only help those people who really know what they’re doing. Special functionality may also be added via various packages and plugins. Finally, the Preferences window allows you to customize virtually everything imaginable so that Eclipse will work the way you want it to. As expected, this can include line numbering, matching braces, and plenty more.
Eclipse can be installed from any Linux distribution by searching for an “eclipse” package within your respective package manager. In case your distribution does package groups such as Fedora, you may want to select the Eclipse package group (if available) so that it will definitely pull all recommended packages as most distributions tend to split Eclipse into multiple packages.
Geany, on the other hand, is a very lightweight code editor. In fact, the only applications that would be even more lightweight are simple text editors that happen to support syntax highlighting. When you first launch it, you’ll be greeted with a much saner interface. You aren’t blasted with a multitude of various features you may or may not need, but rather a listing of more common actions.
You can create new files with a handful of supported programming languages, but these languages are hard-coded into Geany and cannot be extended. Most of the common languages are covered in the list. The idea of projects is mostly absent in Geany — instead you’ll only see a list of currently open files. While I like the idea of projects, this neglect to support them shows the simplicity of Geany. That provides both advantages and disadvantages, depending on your programming needs.
Like any other text editor, it also includes line numbering, matching braces, and other shortcuts to make programming easier. Once your code is ready, the application can try to compile and run the code for you, but sometimes I have my own preferences when it comes to this — in Java I let Geany do everything, but for C/C++ I open up a Terminal to compile and run the application outside of Geany.
Geany can be installed in any distribution by searching for a “geany” package within your respective package manager. Some distributions also offer some plugins for Geany — you’re welcome to install these if you like, but the main “geany” package should give you the full application.
So which code editor out of the two is better? I’d have to give it to Eclipse, simply because it can do everything and anything you throw at it. While I still prefer working with Geany (while my programming skills aren’t as advanced yet), it’s really best suited for beginners to intermediate coders. Anyone with high needs (such as Android app development) will pretty much require Eclipse to get their work done. That being said, you should evaluate your programming needs honestly to decide which code editor is best for you — you’ll only be making it difficult on yourself if you choose Eclipse when you really don’t need it.
Which code editor, or “Integrated Development Environment (IDE)”, do you use? Why do you like it the best? Let us know in the comments!