This is an old revision of the document!
Source development requires a series of tool. Some important (at least important for our development) are listet here:
It is of utmost importance to use some sort of tool which manages different versions of your files. These tools are called version control or revision control tools. We use git and github for our projects.
Source code can basicly be written in any text editor. We recommend simple text editors (like kate, gedit], [[https://en.wikipedia.org/wiki/Qt_Creator|QtCreator) over highly complex (like Eclipse).
Each source code file has to be compiled using a compiler (in our case a C++ compiler}). In the world of Linux, there are two main compilers: [[https://en.wikipedia.org/wiki/GNU_Compiler_Collection|GCC and Clang.
To avoid compiling each source code file manually, build automation tools are used. make is the most popular build automation tool in the Linux/Unix area. In addition to classic build automation tools, cmake provides a higher level abstraction and can be used to create make files or configuration for other build automation tools (like Visual Studio).