¿Cuál es el camino de aprendizaje recomendado para un estudiante de CS interesado en la teoría del lenguaje de programación?

Un buen lugar para comenzar es seguir cursos sobre semántica del lenguaje de programación que ofrece el programa de estudios que está siguiendo; La mayoría de los estudiantes interesados ​​en esta área descubren la importancia de la teoría del lenguaje de programación al descubrir que se pueden dar descripciones concisas del comportamiento de las construcciones de programas mediante la semántica formal.

En mi opinión, también es una buena idea intentar poner en práctica algo de la teoría que encuentre, ya que esto profundizará su comprensión de la teoría. Además, esto es a menudo posible, y eso está definitivamente a su alcance, si tiene experiencia en programación funcional. Lo que estoy pensando aquí son ejercicios de programación como

  • Construir un intérprete basado en la semántica operacional estructural de un lenguaje de programación dado
  • Escribir un verificador de tipos basado en un sistema de tipos