A few decades ago, using a computer was not as easy as it is today, where we have everything ready, both software and hardware, ready to work as soon as we press the power button on the computer. In those years it was necessary to create a program to obtain a result.
Fortunately, this is no longer the case, thanks to the massification of computers and other electronic computing devices, we have reached a point where it is not necessary to know how to write a single line of code to use a PC.
However, this does not mean that terms such as source code, compiler or programming language are words of the past since they are the basis of everything we do daily with our tablet, smartphone or personal computer. If you want to learn a little more about the world of programming, we can start by knowing what compiling is, perhaps the most important process in the entire chain of creating a software program.
What is Compiling?
The task of compiling refers to the process of translating the source code, source code being understood as the lines of code that have been written in a programming language, in this case, it is a high-level programming language.
This compilation of the source code of a program is done because the code worked by the programming language is not directly executable by the computer, it is for it the need to translate the instructions contained in the text into the so-called “machine language” or binary code, the only possible way for the computer to understand and then execute the statements, the commands and instructions determined by the source code.
To make this translation, better-called compilation, the software developer uses a tool called Compiler.
What is a Compiler?
Compilers are the programs in charge of translating the source code of a program, created through a programming language, into machine language or object code, the only type of language understood by computer processors.
The compilers are divided into two parts, the first of which is the “Front End”, and which is the part of the compiler in charge of analyzing and checking the validity of the source code and based on it creating the values of the symbol table. This part is generally independent of the operating system for which a program is being compiled.
The second part of the compiler is the so-called “Back End”, in this part in which the machine code is generated, which is created, according to what was analyzed in the “Front End”, for a specific platform, which can be Windows, Mac, Linux or any other.
It should be noted that the results obtained by the “Back End” cannot be executed directly, for this it is necessary to use a linking process, called “Linker”, which is a software that collects the objects generated, like including the information from the libraries, debugs them, and then binds the object code to their respective libraries, to finally create an executable file.
Source code is the most important part of any program since it determines what we want the computer to do for us. It is the set of lines of text indicating orders and statements that are written using the editor of a programming language.
The source code can generally be divided into two main types of licenses: Open Source and Proprietary Code.
The first category of source code allows anyone with the necessary knowledge to modify or reuse it. On the other hand, the proprietary source code does not allow to alter or study the code, let alone reuse it in other projects.