Making Compiler Design Relevant for Students
I had never thought about compilers as something I did not
need or I could skip, but neither as something whose implementation techniques
could be adapted and applied to be useful to solve challenges in other areas of
programming.
In this I believe that the paper is right: we students consider
compilers as an isolated topic and fail to see how the techniques used by them
can be used in a day to day basis. Also, I had no idea that such similar
applications were that common. Now in retrospective, I can see how a similar
problem solving could be applied to create useful tools, such as graph and math
problem solving web pages like desmos and symbolab, or apps to take notes that
convert what the user handwrites into text like this one, and I was left
wondering if those who developed them used similar techniques to the ones we will
see in this course.
Another thing the paper got right is that it is easier to
explain and understand the phases of compilers and the overall concept with related
examples and by looking them as translators. Also, the approach it took to explain
how we can encounter similar concepts that require the techniques and explaining
how each step or part of the problem could be mapped to a compilers phase made them
easier to understand. That way, it is harder to lose track when they are
explaining to you the semantic analysis and how the tree is interpreted or the
part that FSAs and regular expressions play in the process, since we do not get
compilers explained in other courses and we tend to think about them as
something, like Debray said, we will not be doing anytime soon. I still
consider it a really challenging topic but this first approach help me to begin
to understand it.
Comentarios
Publicar un comentario