Эти вещи полезны, если Вы хотите знать, бесполезна ли попытка сделать что-то с регулярными выражениями. Например, знание, что XML является нерегулярным, полезно, если идея проанализировать XML с regex когда-нибудь вводит Ваш ум. И если Вы не будете знать первое, что пришло на ум, что XML является нерегулярным, то насосная лемма позволит Вам доказать его тривиально.
И затем существуют компиляторы, где, если Вы не знаете этот материал, Вы обречены. Это просто зависит от приложения.
Как Yuval F указанный, грамматики имеют жизненное значение для синтаксического анализа естественных языков. Если Вы будете смотреть на парсеры-генераторы, такие как ANTLR, то Вы найдете, что структура грамматик удивительно подобна тому, что Вы изучили в школе.
Вот взятие Steve Yegge о полноценности компиляторов, которым подводят итог как:
На самом деле, Конструкция Компилятора в моем собственном скромном и вероятно смущающе неправильном мнении, второй по важности урок CS, который можно посещать в студенческой программе информатики.
Грамматики важны для парсинга рекурсивных структур, которые появляются на языках программирования, естественных языках и сложных структурах данных. Я полагаю, что некоторые программисты не встречают их вообще, но людей, которые пишут компиляторы, IDE, сериализация и т.д. встречают их много.