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

Entradas más populares de este blog

The future of programming languages

Lin Clark on WebAssembly

Building Server-Side Web Language Processors