为什么要学习一门新的编程语言

2014-08-19 粪操子 图灵教育

人们学习一门新的编程语言,或像Maven这样的辅助工具的原因很多。最常见的原因之一是项目需要。很多人都是在开发Rails应用或者使用Chef或Puppet做系统管理时才开始使用Ruby语言的。科学家则因为在工作中需要相关的类库,而被设计规范、性能优异的Python语言所吸引。


研究表明自然语言影响思考方式。《华尔街日报》上一篇文章论述了该观点。文章描述了语言是如何深刻影响人们看待和思考周边世界的,下面摘出了文章的一部分。


关于语言影响思考方式的一些发现。


  • 俄语中有更多关于浅蓝和深蓝的词汇,因此说俄语的人能更好地区分蓝色系。

  • 一些原始部落的人不说左右,只说东南西北,因此他们的方向感更强。

  • 毗拉哈人的语言中没有数字,而是喜欢使用很少或很多这样的词,因此他们无法精确计数。

  • 一项研究表明,说西班牙语和日语的人无法记起偶发事件中的人物,这点比不上说英语的人。为什么会这样?在西班牙语和日语中,肇事者被省略了:他们说“花瓶碎了”,而不说“约翰打碎了花瓶”。


在特定领域表达能力越强的语言,它的使用者在相应领域越是能如鱼得水。编程语言也是如此。这样看来,学习一门新的编程语言并不是目的,也不是只为了完成某个项目,它帮助你用不同的眼光来看世界,从整体上提高了你解决问题的能力。大多数学习Clojure(或其他LISP方言)的人并不是出于项目需要,他们是为了提高自己思考和解决问题的能力。在现存语言(或所有可能的语言)中,LISP方言以其简单、表达能力强、强大和灵活著称。学习其他语言也是如此,只不过程度上可能不如学习LISP方言这么深。每种语言都有自己的特性和社区,和其他语言相去甚远。但是很多差别并不是绝对的,程序员学习其他语言和工具,即使不会马上用到,也能帮助自己成长。


本章会从跟其他开发人员共同开发的角度展示几种基于JVM的语言和Maven。某些语言可能利于开发者之间的交流,它们能以更好的方式封装需求,方便日后对项目进行支持和逆向工程。Maven能用来组织项目资源和开发流程,很多团队和开发人员都证明其对项目成功有益。尽管读书是一种个人行为,但程序员的很大一部分工作都是和其他程序员合作完成的。基于JVM的语言和Maven为项目提供了合适的功能,帮助开发者在漫长的开发周期中和其他开发者交互。


引文债摘自下面这本书,文字由粪操子翻译并推荐。




题图:世界名画Rideau, Cruchon et Compotier(《静物》),by法国画家Paul Cézanne。