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

Entradas populares de este blog

Sif

Introduction