¿Cómo ayuda la comprensión del diseño de un lenguaje de programación a escribir un mejor código?

Cada idioma es una persona diferente que toma la forma de resolver el dominio del problema que cubre el idioma. Dado que son, sin duda, expertos en ese dominio del problema, estudiar mucho cómo está diseñado el idioma enseñará mucho.

Por ejemplo, el dominio del problema principal que Java intenta abordar es escribir código cotidiano (no un paradigma orientado a CS) con la mejor ingeniería de software posible. Dado que no permite ninguno de los atajos como punteros o goto, realmente debe pensar en cómo estructurar su código (no puede escribir ningún pegamento mágico basado en ptr o goto). Esta disciplina más otro trabajo ha convertido a Java en el lenguaje más utilizado a prueba de balas en la historia de la informática.

Ahora aquí está la parte en la que un conocimiento de la teoría PL es útil para ver qué es algo como Java (estoy evitando hablar mal en otros lenguajes). Todo este énfasis lo hace para que puedas hacer informática real (en lugar de luchar contra la plataforma) en un lenguaje de producción por primera vez (pascal no era realmente la calidad de producción). Esto es muy educativo porque muestra cómo aplicar CS a situaciones cotidianas si todavía estás en la escuela y una gran lección sobre cómo se hace un compilador / tiempo de ejecución moderno.