As a C.S. student, why should I care about compilers?

Nowadays almost all C.S. courses offer at least one course on compilers design as port of their curricula, although, many students most likely will never design, or implement any compilers, as this tend to be very sophisticated software pieces, and also, so many exist at this time that are quite good.

However, the benefits of studying compilers design is a lot more than meets the eye, since the knowledge learnt and application of the techniques, and tools can be used for another similar tasks that not necessarily relate directly with new languages definition/compilation, also, I think this is a very technical and specific knowledge that must be fully understood to develop more “high-end” tasks, like using a language responsibly, e.g. knowing how some expressions can be optimized or understand the underlying elements used that could lead to enormous memory/battery usage, or processing time.

This week we read an article titled “Making Compiler Design Relevant for students who will (most likely) never design a compiler” by Saumya Debray of the University of Arizona, here, the author states that while many universities teach this course, very few actually care about the impact this can have on most of their students careers.

To be honest, I think is a great thing that some teachers, and un general the academia care about the reasons I, as a student should learn something, and while the general explanation of this might help you in the future, generally is enough, extending the argument thoroughly to meet not just the “just in case” scenario, to also provide a “you can apply this techniques in this other problem” case scenario is incredible, giving a practical and pragmatic approach to all knowledge acquired.

Therefore, having in mind that a compilers course can also provide the knowledge of parsing, translation between high-level languages, and other useful techniques; this is now more relevant to my academic formation.

0 comentarios:

Publicar un comentario

 
Copyright © Compilers Blogger Theme by BloggerThemes & newwpthemes Sponsored by Internet Entrepreneur