理论计算机科学主题是否具有“真实世界”的开发应用?

时间:2009-01-20 14:33:22

标签: computer-science theory

通过“理论计算机科学主题”,我指的是诸如常规语言和非常规语言,抽取引理和语法之类的东西。

我熟悉有限自动机和正则表达式的真实世界应用程序,但是这些其他主题给我带来了更多问题,因为我没有看到任何真实世界的应用程序。

3 个答案:

答案 0 :(得分:17)

如果您想知道尝试做某事对正则表达式是徒劳的,这些事情很有用。例如,如果用正则表达式解析XML的想法进入你的脑海,那么知道XML是非常规的是很有用的。如果您不清楚XML是非常规的,那么泵浦引理将让您轻松证明它。

然后是编译器,如果你不知道这些东西,那你就注定了。这取决于应用程序。

答案 1 :(得分:9)

以下是关于编译器有用性的Steve Yegge's take,总结如下:

  

事实上,编译器构建是我自己的谦虚而且可能是令人尴尬的错误观点,是你可以参加本科计算机科学课程的第二个最重要的CS课程。

语法对于解析递归结构至关重要,递归结构出现在编程语言,自然语言和复杂数据结构中。我相信一些程序员根本不会遇到它们,但编写编译器,IDE,序列化等的人会遇到很多。

答案 2 :(得分:6)

正如Yuval F指出的那样,语法对语言解析至关重要。如果你看一下解析器生成器,比如ANTLR,你会发现语法结构与你在学校学到的结构非常相似。

相关问题