computer science - sobre - ¿Los temas teóricos de la informática tienen aplicaciones de desarrollo del "mundo real"?
investigaciones sobre netflix (3)
Por "temas teóricos de ciencias de la computación", me refiero a cosas como lenguajes regulares versus lenguajes no regulares, el lema de bombeo y gramáticas.
Estoy familiarizado con las aplicaciones del mundo real de autómatas finitos y expresiones regulares, pero temas como estos otros me están dando más problemas ya que no veo ninguna aplicación en el mundo real.
Aquí está la opinión de Steve Yegge sobre la utilidad de los compiladores, resumida así:
De hecho, Compiler Construction es, en mi opinión humilde y probablemente vergonzosamente errónea, la segunda clase de CS más importante que puede tomar en un programa de informática de pregrado.
Las gramáticas son esenciales para analizar estructuras recursivas, que aparecen en lenguajes de programación, lenguajes naturales y estructuras de datos complejas. Creo que algunos programadores no los cumplen en absoluto, pero las personas que escriben compiladores, IDEs, serialización, etc. los encuentran mucho.
Estas cosas son útiles si quieres saber si intentar hacer algo es inútil con expresiones regulares. Por ejemplo, saber que XML no es regular es útil si la idea de analizar XML con expresiones regulares alguna vez entra en su mente. Y si no sabes por la parte superior de tu cabeza que XML no es regular, el lema de bombeo te permitirá probarlo trivialmente.
Y luego están los compiladores, donde si no sabes esto, estás condenado. Solo depende de la aplicación.
Como señaló Yuval F, las gramáticas son de importancia crítica para el análisis de lenguaje. Si echas un vistazo a los generadores de analizadores, como ANTLR, verás que la estructura de las gramáticas es sorprendentemente similar a lo que has aprendido en la escuela.