为什么我喜欢富于表达性的编程语言
openkk 13年前
<p>本文是从 <a href="/misc/goto?guid=4958184722258202105" target="_blank">My love… for Expressive Programming Languages</a> 这篇文章翻译而来。</p> <hr /> <p>我的编程之旅从少年时代就开始了,那时学的是GW-BASIC。很快,我学习了C语言,之后是C++。C++里提供的面向对象的语法结构让我印象深刻,但 是,对于有些像定义范围控制的概念我还是觉得有些复杂。接着开始学习Java。我立即被它从C++提炼出的更优秀、更简练的语法所吸引。</p> <p>那时我还在上学,所以,肤浅的学习(准确的说是试图学习)一些编程语言是一项有趣的事情。我翻看了一些PHP和Javascript资料。我又开始 跟C#接触。这种语言还在发展进化。网上盛传C#是微软的Java。这让我更让我想学C#和深入的了解.NET框架。这时LINQ(语言集成查询)出现 了,这个东西很不错。我很高兴它能被简洁的引入到C#中。<a href="/misc/goto?guid=4958184723001115991" target="_blank">C#3.0中</a>增加的各种对LINQ的支持,包括lambda表达式,隐式类型变量,匿名类型,查询表达式等等,使LINQ架构更加完美。到我毕业时,我已经是一名经验丰富的面向对象开发人员了。</p> <p>最近,我考虑学习一些语法更加晦涩的语言,就像Jquery的“write less, do more”的口号(尽管Jquery并不是一种语言)。我研究过Python和Ruby,但没有发现什么令人兴奋的。我偶然发现了Scala语言,决定下一个任务就是学它。</p> <p>通常在学习一门新的编程语言时,我很少去注意这些语言的句法结构(for,if,function/class定义等)。经过了很长一段时间后,我越来越注意一种语言这方面的特点。所以看书时,关于这些结构方面的章节不再轻易跳过。</p> <p>我正在阅读<a href="/misc/goto?guid=4958184723735625133" target="_blank">Scala编程</a>,作者是Martin Odersky,他是这门语言的缔造者。到目前为止,Google Books里已经有很多关于学习Scala的教材。如果你已经学过Scala,你现在应该能理解我为什么说这种语言<strong>神奇</strong>了。</p> <h3>使用富表达性语言的原因</h3> <ul> <li>代码的陈述很自然。少了那些讨厌的语法结构,让你更集中精力关注逻辑问题。</li> <li>让程序员开发时更有效率,更容易修改代码。</li> <li>调试起来超级简单。</li> <li>个人认为,开发人员更容易利用这些语言编码方式来优化他们的程序。</li> </ul> <p>当实现某个任务时,唯一能让我拒绝使用富表达性语言的理由是,也许你也猜到了,是性能问题。你拿LINQ和通过循环收集数据进行比较,循环会更快些。你需要根据自己的情况来判断,除非有很高性能要求,其它的问题可以忽略不计。<br /> <br /> 本文转载自: 外刊IT评论 <a href="/misc/goto?guid=4958183272158702965" rel="nofollow">http://www.aqee.net/</a> </p>