在翻译《全端Web开发:使用JavaScript与Java》时看到一段话感觉很好,先贴出来以飨读者。

4.7 总结

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

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

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

  • 俄语中有更多关于浅蓝和深蓝的词汇,因此说俄语的人能更好地区分蓝色系。
  • 一些原始部落的人不说左右,只说东南西北,因此他们的方向感更强。
  • 毗拉哈人的语言中没有数字,而是喜欢使用很少或很多这样的词,因此他们无法精确计数。
  • 一项研究表明,说西班牙语和日语的人无法记起偶发事件中的人物,这点比不上说英语的人。为什么会这样?在西班牙语和日语中,肇事者被省略了:他们说“花瓶碎了”,而不说“约翰打碎了花瓶”。

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

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