Chapter 1: The usefulness of Compiler Design that will (Most Likely) never be touched again.

But don’t judge me, that’s the title of the article that we read this time. Debray explains us that Compiler Design is a highly specialized topic, and it´s difficult to know how many students are going to pursue this course on their professional career. However, this would not be the first course that faces the same dilemma: Mathematics; many loves Mathematics, others hate it. Most of us ask ourselves “Why should I even learn how to derivate or integrate if we have advanced tools that gives us the result instantly without any errors. Even worse, why should I learn that if I won´t use them anymore?”. Some have even recurred to other teachers who embraces programming and asked them if they have used integrals or some advanced trigonometric in their job. Most of them didn’t, so why should we even learn it? This same concept (hopefully) will apply to Compiler Design. It isn´t the math itself the thing we learn from the course mentioned before, but the critical thinking process that sticks with us that can be applied elsewhere.

Debray explains us that many of the techniques and algorithms used by compilers are much more broadly applicable than just for translating high level programming languages to assembly or machine code. And while many of us are unlikely you be involved in compiler design as a day-to-day professional activity, there a lot of concepts that can be applied in other topics. For example, translation can become a Compiler-off topic, instead of having programming languages as objectives, we can use common languages, like English, Spanish, etc. While still having “fundamentals” from the course, the way we identified and understood the problem was different.

While I don’t particularly like low level programming topics (such as the ones we are going to be embracing this course), I know I may not likely get involved with building a compiler, but I know that the way we learn how compilers works and how they are made, will help me on my future, whereas I get involved in Compiler-like profession or not.

References:

Debray S. Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler, Available on: http://webcem01.cem.itesm.mx:8005/s201811/tc3048/making_compiler_design_relevant_for_students.pdf

Comments

Popular posts from this blog

Chapter 5: S-expression Interpreter Framework.

Chapter 0: Compiling a Complying Compiler