This article briefly describes what software-development tools are available to write applications for Linux. Linux includes the following traditional Unix software-development tools:

  • Text editors such as vi and emacs for editing the source code.

  • A C compiler for compiling and linking programs written in C — the programming language of choice for writing Unix applications (though nowadays, many programmers are turning to C++ and Java). Linux includes the GNU C and C++ compilers. Originally the GNU C compiler was known as GCC — which now stands for GNU Compiler Collection. (See a description at

  • The GNU make utility for automating the software build process — the process of combining object modules into an executable or a library. (The operating system can load and run an executable; a library is a collection of binary code that can be used by executables.)

  • A debugger for debugging programs. Linux includes the GNU debugger gdb.

  • A version control system to keep track of various revisions of a source file. Linux comes with RCS (Revision Control System) and CVS (Concurrent Versions System). Nowadays, most open source projects use CVS as their version control system, but a recent version control system called Subversion is being developed as a replacement for CVS.

You can install these software-development tools in any Linux distribution:

  • Xandros: Usually the tools are installed by default.

  • Fedora: Select the Development Tools package during installation.

  • Debian: Type apt-get install gcc and then apt-get install libc6-dev in a terminal window.

  • SUSE: Choose Main Menu→System→YaST, click Software on the left side of the window, and then click Install and Remove Software. Type gcc in the search field in YaST, select the relevant packages from the search results, and click Accept to install. If you find any missing packages, you can install them in a similar manner.