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
Post a Comment