sábado, 21 de enero de 2017

Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler*

In the artcile "Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler" written by Saumya Debray in 2002, describes reasons why even when most Computer Science students don't end up working on compiler design, it's  useful skill to have. Additionally, the steps a compiler executes are described and many example of similar problems are mentioned. The main argument being that compilers can be seen as translators, and the techniques used to compile a program are techniques that can be used to translate any set of other elements, not only text.

And so, the value of learning compiler design is more evident. It is true that personally I have never considered compiler design as a big part of my future, but is is gratifying to know the knowledge of such a course can be applied in other creative ways. One wouldn't imagine translating text to a graph would use methods used in compiler design. In a way, it could also be understood that a student's reluctance may reside on the fear of machine language, but when that aspect is removed, the task seems more like a tool and less like a chore to be learned.

A line used by the author is particularly interesting: "students often seem to compartmentalize their knowledge". After some thought, it rings true. Maybe it's the lack of multi subject tasks that can be assigned to a student in such short time, but the fact that each subject is taken as separate from all the other can hurt the expectations of certain topics. 


Compartmentalized doves. They should work together, but it's easier to picture them separately...right? 

Thus, it can be harmful to ignore the skills learned in different subjects or areas just because they are heavily related to one specific process. It's not evident at first glance that translation algorithms use some techniques used by compilers, or that you can easily take a database language and change it to another by using token analysis. In the end, the knowledge is always valuable, and it should not be dismissed by the classic student question "How will this be useful to me?"

Source:
Debray, S. 2002. "Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler". University of Arizona. Consulted January 21st 2017 in: http://webcem01.cem.itesm.mx:8005/s201711/tc3048/making_compiler_design_relevant_for_students.pdf 

No hay comentarios.:

Publicar un comentario