理解语言设计者的意图 设想你在阅读关于编程语言某种功能的介绍时,脑子里总有一种不够透彻的感觉。这时,你想知道为什么需要这种功能。 编程语言也是人创造出来的。知道了语言设计者为解决何种问题而创造了这种语言,以及这种语言经历过怎么样的历史变迁后,慢慢地就能理解为什么需要有这种功能了。 应该学哪种语言,我们无从所知 了解了语言的历史,我们往往更能加深所学。“想学编程,但该学哪种语言呢?”这个问题没有意义。可能有很多人会给出一些建议,比如,学好某某主流语言就可以高枕无忧了;今后这个领域会有大的发展,趁现在赶紧把某某语言学了吧。但是,未来的事情谁也说不准。 我们来看一下某种语言的介绍吧。为了便于说明,我们隐去部分语句,并添加一些补充注释来帮助读者理解。 (要理解某些语言)我们需要具备相当专业的知识,因此使用起来难免感到力不从心。与此不同的是,作为一种工具,X这种语言能帮助业务负责人和管理者在短时间内获得所需信息,逐渐受到重视。最近两三年间,在终端用户所在部门普及X语言的企业,从美国迅速扩散到其他各国。在(X语言普及较早的)美国某公司Y中,过去几年内,X语言用户的年增长率超过50%,约25 000名以上员工在日常业务中以不同方式使用X语言,占公司总员工数的16%。(中略)在提高企业生产效率方面,X语言被视为一种越来越有效的手段。 从这段文字描述可知,X语言真是一门相当不错的编程语言。如果现在就有人劝你学习这门语言,你会动心吗? 这篇文章其实是1978年刊登在日本信息处理协会杂志上的一篇相当老的文章A。X语言其实就是IBM(前述的Y公司)在1964年发布的APL语言。如今,它的使用需求骤减,退出了主流语言的舞台B。被称为C语言圣经的The C Programming Language C一书问世的时间就是1978年。现今,C语言的使用已经变得十分广泛。 学习适用于各种语言的知识 现在还有很多被不同人以不同理由推荐学习的编程语言。然而,在5年后、10年后,单个语言的知识是否依然有用?没人能说清楚。通过比较不同的语言、了解语言的发展历史及其变化原因,培养对不同语言都适用的理解能力,是非常重要的。 A “APL”,《信息处理》,竹下亨,Vol.19 No.1, 1978年 B 在招聘网站Dice.com上检索一下,APL语言的没落程度便可见一斑。2013年招聘要求中,提到APL的信息仅有5条。提到Java语言的有16295条,提到Python语言的有3502条。由此可见,使用APL语言的人已经很少了。 C 中文版为《C程序设计语言(第2版•新版)》,机械工业出版社于2004年1月出版,徐宝文译。