Debemos tener en cuenta la semántica de las palabras "práctica" y "aplicación". Para algunos estudiantes, práctico es cualquier cosa que los ayude a aprobar sus exámenes; para otros, cualquier cosa que surja en un trabajo. En ambos casos, la teoría de los autómatas es muy práctica.
Como otros señalan, usará gramáticas, por ejemplo, al estudiar compiladores. Pero aún más que eso: comprender todo el concepto de tener diferentes estados y reglas para las transiciones entre ellos puede hacerte un mejor programador cuando te das cuenta, por ejemplo, de que tu código es redundante aquí y allá, y que cuando lo mejoras, están aplicando en su código las mismas ideas conceptuales detrás de la minimización de DFA.
Del mismo modo para "aplicación". ¿Qué entiendes por esa palabra? Incluso si usted es un "ingeniero con los pies en la tierra", verá y utilizará ideas similares a las de la teoría de autómatas en proyectos del mundo real: código de programación, diagramas de flujo e incluso el concepto simple pero brillante de una pila. Para los nerds de la teoría como yo, considero aplicaciones de la teoría de autómatas en otras áreas, como la lógica, el álgebra y la teoría de modelos finitos. Seguramente, probablemente nunca necesite usar el lema de bombeo cuando compre en un supermercado, pero teoremas como ese me han ayudado a comprender la estructura de ciertas clases de idiomas, sin mencionar las lógicas y las estructuras algebraicas con las que están en correspondencia. Y eso es algo que valoro más que cualquier medida de practicidad.