Internals of GCC
The first programming language I learned was C, and getting to know how to run programs or even know issues about the compiler... well... I clearly had no idea of what a compiler was. In this week's blog, we had the opportunity to hear Morgan Deters talk more about GCC (GNU Compiler Collection). Before arriving to this class, I had very little knowledge of how a programming language is turned into machine code. I only knew source code --> object code and that's it. Later on I knew that besides a compiler there was another component called an interpreter (like python). With the magic of tombstones diagrams, it is relatively easy to model how we can traduce x code to y code.
From what I understood from the podcast, the first step is that the compiler compiles using the C language a primitive version and then compiles the entire version.
Most students (at least in the first semesters and in software engineer ) do not even care about the whole process that a code like
print("Hello World!); passes until we have our beautiful string printed out on the screen. That is the purpose of a blackbox, we do not need to know how it works precisely but we know how to use it. Nevertheless, it is important to know how it works, as it was stated in a blog activity a few weeks ago, learning how to build a compiler can help developed projects not related to compile a programming language, but to implement a translator like a converter from html to latex.
As the podcast continued, there were times where I struggled to understand the concepts, a recommendation for my fellow classmates is to take notes and then do a research and if you are willingly to understand everything, hear the podcast again.
Comentarios
Publicar un comentario