计算机理论在实际编程中的应用之我见
自毕业后很长一段时间里,我一直认为在大学时学的计算机理论跟实际应用是脱节的,毕业后的这几年里,基本上没有用到这些,用到的只是些类库及api等等,直到最近我想开发一个自动的curd框架,及公司需要用到一个通用的解析框架。我才发现,原来这些理论还是有用的。不过自己在大学时,因为对编程非常感兴趣,所以只要跟计算机相关的课程,有的甚至是不相关的课程,我也会学习一下,如大学时,我利用一个暑假的时间,阅读完一个pl0的编译器源码,及做了些改正,使其可以在delphi7以后的版本中运行,还有看了好几遍的编译原理(龙书)还有就是操作系统方面的书籍(我曾想阅读完dos6.0的源码,但工作量太大,只是看了个大概),及仿照dos写了个带简单i/o的操作系统。所以我写这个解析框架基本不费什么劲,后来由于有别的更紧急的任备,这个工作让别的同事做了,也可能这些同事,没有相关的理论知识,所以接手后,有些代码不能理解,以至于领导说我的代码风格有问题,不过自已的代码以后要经常清理改过之后无用的一定要删掉,以免别人阅读源码时造成误解。 编译原理中的词法分析相关知识可以用来分析解析数据,而操作系统管理中的资源分配方式可以在解析数据时有效的减少资源的浪费,加快程序运行的速度,这种对比在C#,Java之类的运行在虚拟机平台的语言上尤其明显。
自毕业后很长一段时间里,我一直认为在大学时学的计算机理论跟实际应用是脱节的,毕业后的这几年里,基本上没有用到这些,用到的只是些类库及api等等,直到最近我想开发一个自动的curd框架,及公司需要用到一个通用的解析框架。我才发现,原来这些理论还是有用的。不过自己在大学时,因为对编程非常感兴趣,所以只要跟计算机相关的课程,有的甚至是不相关的课程,我也会学习一下,如大学时,我利用一个暑假的时间,阅读完一个pl0的编译器源码,及做了些改正,使其可以在delphi7以后的版本中运行,还有看了好几遍的编译原理(龙书)还有就是操作系统方面的书籍(我曾想阅读完dos6.0的源码,但工作量太大,只是看了个大概),及仿照dos写了个带简单i/o的操作系统。所以我写这个解析框架基本不费什么劲,后来由于有别的更紧急的任备,这个工作让别的同事做了,也可能这些同事,没有相关的理论知识,所以接手后,有些代码不能理解,以至于领导说我的代码风格有问题,不过自已的代码以后要经常清理改过之后无用的一定要删掉,以免别人阅读源码时造成误解。 编译原理中的词法分析相关知识可以用来分析解析数据,而操作系统管理中的资源分配方式可以在解析数据时有效的减少资源的浪费,加快程序运行的速度,这种对比在C#,Java之类的运行在虚拟机平台的语言上尤其明显。