Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler
To be honest, every time I listen
about compilers, I’m very interested but also terrified. The fact that you take
a program written in a relatively simple language and translating to machine
language it’s quite intriguing, but then I think about how hard it must be to
take few complex statements and turn them into hundreds of simple commands and I
tell myself “Well, at least you’re not going to do that”. That’s why I never considered
learning compilers, because I saw them as something hard to understand and with
little benefit for me.
That’s why I was surprised when
reading this I found out compilers can be quite useful for non-compiler-related
projects. Translating a high-level program into a low-level one is pretty
similar to speaking another language, you just need to understand both
languages and have a well-defined technique. You can also create easy-to-understand
languages to perform specific tasks for people who know very little about
programming.
Now it makes more sense how tools
used to make diagrams like Raptor work. There must be a correlation between the
elements used in Raptor and the commands it required to make the operation. Even
game engines as simple as Scratch make use of these techniques. I can also see
this applied in applications that require word-processing like Google Translate
or the Autocorrector, which means there are a lot of fields this knowledge can
be used on.
So, in the end, I’m very
excited to know that I’m going to learn something that can help me solve a
large variety of problems. It can also help me develop user-friendly software
which can be simple but achieve complex tasks. Also, I think it can help me
have a deeper understanding of certain languages. Who knows? Maybe I will like
compilers so much that I’ll decide to develop compilers.
Comentarios
Publicar un comentario