Basic tools for Linux developers

5 min reading
Developers / 10 November 2015
Basic tools for Linux developers
Basic tools for Linux developers


Freedom. Openness. Possibilities. Low cost. These are some of the words usually chosen by developers to express what it means to program for GNU/Linux and use the tools that are available on this platform. They also mention security, flexibility, stability and scalability, four basic elements in software development. This is a list of the best tools available in this programming environment.

1. Code editors

– Terminal-based text editors.  

– Vim (Vi IMproved): an improved version of the Vi text editor, which is found in UNIX operating systems. It has the basic features of any editor: text selection in columns, auto-completing, use of regular expressions, syntax highlighting, enabled for more than 200 different languages, highlighting of parentheses, square brackets and keys, built-in spell checker, browsing through tabs, script programming for extensions, file compression and decompression, macro recording and running, log of executed orders, graphical interface, file format recognition and conversion… Unlike other editors, Vim enables the user to enter orders through special key combinations or keyboard shortcuts. It is fully compatible with Vi

– GNU Emacs: text editor which is an interpreter of Emacs Lisp, a specific dialect of the Lisp programming language. As a code editor, GNU Emacs provides syntax highlighting, full unicode support, customizable editor with the incorporation of a graphical interface, and it enables the inclusion of extensions or plugins that enhance its capabilities (debugger, project planner, calendar… ). This editor is available for several operating systems, not only GNU and GNU Linux, but also for Windows, Mac OS X and Solaris platforms. 

–  GNU Nano: a text editor for Unix systems based on curses, a library for controlling terminals on this type of systems. Using this tool, a developer can write a desktop application for running in text mode. Some of its key features: search and replace function, use of regular expressions, editor under a free GPL v3 software license… 

– Bluefish: a code editor for several programming languages. It is an open source project under a GNU GPL license. It works on most operating systems: Linux, of course, but also Windows, Mac OS X, Solaris and OpenBSD. Features: syntax marking based on regular expressions, table and macro creation, document creation wizard, simultaneous opening of several files, translations in 22 languages… 


– Kate: one of the text editors most widely used by Linux developers. It is extensible through scripts, it offers window partitioning, multiple-document interface (MDI), as well as advanced editor features such as code folding, syntax highlighting, it is available for more than 180 different languages, smart indenting, code autocomplete, search and replace function, backup and restore capability and use of regular expressions.

2. Integrated Development Environments (IDEs)

– Android Studio: the integrated development environment for Android applications. It is based on Intellij IDEA. Some of the features of this IDE: automatic project building based on Gradle, code templates, integrated support for Google cloud services such as Google App Engine, ProGuard capabilities (reduces the size of applications, for example, by removing the classes that are not used to free up space), signature application, integrated Rich design editor… 

– Anjuta: an open source and free Integrated Development Environment, specially designed for programming in C and C++.

– Anjuta has a customizable module-based user interface with a simple drag and drop function.

– All the menu actions are also configurable.

– Its functionality can be expanded by adding plugins, which can be activated and deactivated by type of project. Own plugins can also be written, in this case using the C programming language, the same one used to write the API.

– The code editors it uses by default are Scintilla and gtksourceview, but other code editors like Vim or Emacs can also be implemented.

– As a code editor it has some of the usual features: syntax highlighting for nearly all existing programming languages; code autocomplete; smart indenting function (available for C and C++ only); automatic code formatting (for C and C++ only); and text zoom.

– Built-in debugger.

– It incorporates Glade for rapid application development (RAD): it creates graphical user interfaces (GUIs) with GTK+ (a toolbox for developing GUIs with its own widgets, buttons, menus, tabs…) and GNOME (a desktop environment for Linux and Unix operating systems).

– Aptana Studio: a development environment based on Eclipse that enables programmers to code applications in HTML5 + CSS3 + JavaScript, Python, PHP or Ruby. It operates on several operating systems: Windows, Mac OS X and Linux. As with Anjuta, new plugins can be added to expand its functionality. Aptana has a free version that provides a code editor, a debugger and a project and file manager; and a paid version that adds support for JSON format, for FTPS and SFTP; a reporting engine, remote project administration… It also has function libraries in JavaScript, CSS styles preview and automatic display of code errors.

– KDevelop: an open source IDE for Linux, Mac OS X, Solaris and FreeBSD operating systems. An extensible development environment using plugins for C, C++ and other programming languages. It operates under the KDE graphic environment, although it is also available for other options like GNOME. This IDE enables programming in languages such as C, C++, PHP and also Python.

– Lazarus: an IDE for rapid application development (RAD), both open source and proprietary applications. It is a development environment written for Pascal and for programming in Pascal, specifically in an object-oriented dialect such as Free Pascal. It is extensible using packages or plugins from the Lazarus library and it operates with several development frameworks and different platforms such as Windows, Mac OS X and Linux.  

3. GCC (GNU Compiler Collection)

A collection of compilers for different languages such as C, C++, Java, Objective C and Fortran. Available under a GPL (General Public License) license. It is usually included by default in the configuration of any GNU/Linux platform and there are versions for nearly all the operating systems available on the market (Windows, Mac OS X…). The community is constantly enhancing this tool; some of the latest features are:

– Record assignment optimization.

– The libstdc++ library for C++ uses a new ABI.

– Support for OpenMP 4.0 in C, C++ and Fortran compilations and DragonFly BSD, FreeBSD and VxWorks MILS platforms.

4. KompoZer

KompoZer is a web authoring system that combines file management and WYSIWYG (What You See Is What You Get) editing for digital projects. It is very easy to use and is aimed at non-technical professionals: knowledge of programming in HTML or JavaScript is not needed. 

Some of its key features are:

– Based on Gecko, Mozilla's rendering engine.

– File management interface and design similar to Dreamweaver.

– Built-in FTP file manager.

– Web authoring in WYSIWYG mode or directly in HTML.

– CSS editor.

Follow us on @BBVAAPIMarket

It may interest you