胡扯程序设计语言

来源:互联网 发布:苏州网络作协 编辑:程序博客网 时间:2024/05/07 11:27
    近几年程序设计语言层出不穷,也有大师说,为了保持对技术的敏感性,每年必须学习一到两种新语言。通常我们学习一门新语言都是先学习它独特的语法,写个"Hello world!“的小程序看看。如果只是停留在语言的语法层面,你得到的东西远远不够。我对语言背后的东西比语言本身更感兴趣,语言设计者的初衷,幕后故事等等。每一种语言都有其最擅长的领域,至今为止好象还没有哪种可以替代其它所有语言,每种语言都有其独特的一面,有其最擅长处理的问题领域。比如Perl语言之父Larry Wall,他是因为当时找不到合适的工具来高效完成他的工作,所以设计这么语言。Perl在文本处理、系统管理方面表现非常好,正则表达式是它的旗帜。但是程序可读性差,同一个问题有数种不同解决方案等等问题。其它语言如LISP、SmallTalk、C语言、Java、C#等,都有他们的生存空间,为什么说他们擅长处理这个,为什么适合用于这个领域?
         学习一门语言的时候,我们需要知道这些方面的东西,才不至于迷失方向,陷入语法细节的泥潭不能自拔。有些时候也许根本没有一种语言特别适合这种情况,那么是不是可以考虑设计一种新语言呢?我们不要语言的设计与实现混为一潭,语言本身其实就是语法规范,而具体的编译器或解释器是实现,比如C语言规范是ISO C99,但是具体实现有很多版本,如GCC、Visual C++、Borland C++ Builder等等,此外还有配合这种语言开发的IDE,但是这不是语言的一部分。通常语言的设计者和实现者是同一个人,号称xx语言之父,其中的原因我认为主要是新语言要推广首先要有一个可以实践的环境,至少可以让人们能够写写"Hello world!"这样的小程序。如果不自己实现的话,你得说服别人帮你做一个出来,这通常比较难,此外在实现编译器时可能会遇到一些问题,需要回过头来修改规范文本。但是并不一定,你作为语言的设计着就一定要是语言的实现者。语言设计者主要是制定规范,只有当这门语言流行起来,才会有很多公司原因花钱实现自己的版本。
 
原创粉丝点击