¿Realmente valoramos a los compiladores?

 En la lectura: Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler el autor Debray, S. nos presenta a nosotros, los estudiantes una perspectiva interesante sobre la teoría de compiladores, así como la necesidad de su estudio dentro del programa de una carrera enfocada en las ciencias computacionales.


He de decir que desde el vamos, se nos advierte que muchas veces se piensa de la clase de compiladores como un asunto inútil o como una materia cuya aplicación se verá limitada a muy pocos de nosotros dentro del mundo profesional. Y esto realmente parece cierto hasta que empiezas a estudiar temas relacionados a Matemáticas computacionales o Diseño y fundamentos de algoritmos. Esto toma importancia ya que, hablando desde mi experiencia, han sido pocos los comentarios negativos o que infunden una perspectiva inútil respecto al tema lo que que he escuchado por parte de compañeros y amigos, mientras que han sido más aquellos que difunden el reto, complejidad y hasta conveniencia a partir de los semestres que tocan perspectivas basadas en los fundamentos de las clases anteriormente mencionadas. 


Aunando a lo anterior mencionado y como lo menciona en algún punto Debray, S., resulta de gran ayuda la generalización de los conceptos aprendidos (de cualquier materia) durante nuestro paso por la academia ya que nuestro mundo actual demanda soluciones dentro de distintos y nuevos contextos. Particularmente, estoy de acuerdo y me resulta interesante relacionar problemas de traducción con problemas de compilación puesto que, de ser sincero, resulta casi burdo no generar esa asociación al tener no solamente una jerarquía técnica (esto en cuanto a los pasos a realizar se refiere) similar, sino que también sus objetivos se basan y parten de la misma pregunta: ¿Cómo podemos entender y hacernos entender de manera sencilla y casi universal? . De igual manera, es la primera vez que escucho dentro de mis estudios profesionales dentro de esta institución que se ponen a discusión métricas tanto de tiempo como de resultados (siendo específicamente el tiempo como unidad métrica de optimización y el código máquina como output esperado de una traducción).


A modo de conclusión, me pareció fascinante el jaque y la sinceridad que puso el autor del artículo respecto a cómo él percibe el pensamiento de no solo el estudiante, sino del todo mundo profesional y hasta la misma institución académica respecto al diseño, creación y necesidad de compiladores, y, así como él, pienso que la generalización de muchos conceptos nos permite generar herramientas más útiles y ser al mismo tiempo más productivos gracias a que nuestra perspectiva no se ve limitada y, por lo tanto, tampoco nuestra creatividad y potencial.

Comentarios

Entradas populares de este blog

GCC y su interesante relación con nuestra materia

Ruby y su relación con los compiladores

El futuro del lenguaje