viernes, 23 de agosto de 2019

Making Compiler Design Relevant for Students

In this entry I will briefly share my thoughts about the lecture "Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler" by Saumya Debray. 

At the very beginning of my undergraduate degree, I took my introductory programming course with Ariel, the same lecturer of this course itself. At some point he mentioned that he was also the teacher of the Compiler Design course. At that time I had a very vague idea of what a compiler was, and I thought that creating a compiler was all about writing in assembly language, making some black magic and suddenly you would have a compiler for your very own programming language. At this moment, after several years of gaining knowledge and experience on the computational sciences, I don't longer think it is all black magic, however I believe that I will never build a compiler for other than recreational purposes. And this why this reading suits me.

The main argument of the author is that there are several translation problems that a student can solve by using some knowledge and techniques they have learnt in a compiler design course. His main example is a task that consists in translating LaTeX components into HTML, which it seems to be something very useful by itself. One other argument is the mastery of lex and yacc, a set of tools that as far as I know are the ones to be used during this course. I believe it will always be good to get to know a new tool. In my very small experience as a software developer at the industry label, managers a lot of time gives you tasks without having in mind what is your experience or expertise. For example I had to learn very quickly the principles of cross framing and scripting security in a NodeJS application, and I swear if I had minimal experience in anything that had to do with the bare theory of those principles, such task would have taken perhaps a couple of hours instead of a couple weeks as it was the case. Maybe someday, even if I don't become a compiler designer myself, I will find some of the knowledge and theory behind it to be handy, and I think that's enough of a reason to give it a shot and get some value out of the course. After all, I believe that I won't we working with eighty percent of the topics that have been given to me during my undergraduate degree.

No hay comentarios:

Publicar un comentario

Common Language Runtime

This article compares the runtime environment of two languages that seem to be similar Java and C#. As far as I know, both are designed to b...