Pick the Perfect IDE,
Linux provides a powerful platform for software developers and offers a wide choice of Integrated Development Environments, as Paul O’Brien explains…
hile adoption of linux is gradually growing among general consumers, it remains a popular choice for one particularly tech-savvy group of users: software developers. The technical nature of the platform, which can scare away the average user, is something that’s relished by developers as it provides ultimate customisability and an excellent level of performance for coders.
Software development on any operating system typically takes place within an Integrated Development Environment (IDE). An IDE is so named because it typically brings together the core functions needed for software development – such as a source code editor (always!), build tools and a debugger. Other elements can include built-in source control, GUI design, object-orientated development tools and intelligent code completion to make the development process easier.
When choosing an IDE, your selection is usually driven by the programming languages that are supported. Many IDEs choose to focus on a specific language and this has been the traditional approach in the past, but more recently IDEs have moved towards multi-language support, often provided by plug-ins created by the community. This trend has been driven by the growth in popularity of text editors that have grown into more fully featured IDEs; some of the most frequently used IDEs including Visual Studio Code, Atom and Brackets have humble origins as relatively basic editors.
Some of the most widely used IDEs are paid-for products, including the hugely popular Jetbrains suite, but many, particularly those that thrive on their open source extensions, are available for free. Many IDEs are also cross-platform, providing support for Linux, macOS and Windows. Even Microsoft’s full-fat version of Visual Studio, typically a Windows-only product, now has a Mac version and a Linux version seems likely soon, thanks to the newly open Microsoft and its desire to become more platform-agnostic.
When developing for Linux itself, some IDEs will be environment-specific. GNOME Builder is a general-purpose IDE specifically tailored for writing software for the GNOME desktop environment. It has integrated support for DevHelp, Git and Flatpak, with code completion for the C languages and a plug-in-based architecture. On the KDE side of the fence, Qt Creator provides a tailored IDE for those developing using
IDEs have moved towards multi-language support, often provided by plug-ins created by the community
KDE libraries, as does KDevelop, another development environment that forms part of the KDE project.
As one might expect, there are frequent debates around what is the best development environment to use for Linux kernel development. Vim is typically the preferred choice, reflecting the more technical nature of kernel development. Let’s look at some of the options.