快速业务通道

冒号课堂§4.1:函数范式 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
理论上比诸过程式也毫不逊色[7],但一直没有成为主流范式,”冒号话锋一转,“细究之,至少有两方面的原因:主观上,程序员更习惯机器风格的过程式思维和现实风格的OOP思维,不容易接纳数学风格的函数式思维;客观上,函数式语言在表现力和运行效率等方面与过程式和OOP语言也有一定的差距。饶是如此,支持它的语言还是越来越多,其简洁精巧的特性也为越来越多的人所青睐。它的整体应用虽然主要集中于数学计算、人工智能等领域,但局部应用早已遍地开花了。”

,插语

[1] 如OOA(Object-Oriented Architecture),COA(Component-Oriented Architecture),SOA(Service- Oriented Architecture) 、EDA(Event-Driven Architecture)等。

[2] 如关系数据库(relational database)、对象导向式数据库(object-oriented database)等。

[3] 这一步可省略,但出于对代码的清晰度以及性能、调试等方面的考虑,最好保留。

[4] 这类函数更数学化的说法是高阶函数(higher-order function)。

[5] 没有副作用的函数式语言被称为纯函数式(purely functional),如Haskell和SISAL;有副作用的被称为非纯函数式(impurely functional),如Lisp和ML。

[6] 这是因为函数的无副作用性保证了相同的输入一定有相同的输出。

[7] λ-演算被证明是图灵完备的。

。总结

学习知识之表须通过记忆,掌握知识之里须通过练习,渗透知识之根须通过培养。编程范式正是知识之根。

适度地容忍无知也是一种学习技巧。

“钉子精神”固然可贵,“刨子精神”也不可少。

不同的编程范式代表不同的解决问题的思想和方法。不同的编程语言提倡不同的编程范式,并在语法上给予支持。只有掌握范式,才能更合理、更有效地运用编程语言的语法和语义特征,并能针对不同的问题领域使用不同的编程风格,编写的代码才会和谐自然、富于美感。

命令式编程需要指定计算的过程,着重微观的细节;声明式编程只需指定计算的原则,着重宏观的方向。因此二者繁简有别。

在函数式编程中,函数是程序的核心,是头等公民,一般没有或很少副作用,同时没有显式的内存管理。

由于函数式编程中的函数与基本数据类型平起平坐,故可将代码作数据用,这是程序既简洁又强大的原因之一。回调机制采用的正是函数式风格。

无副作用的函数容易重构、调试和测试,便于并发和优化处理,并能贯彻和运用数学思维。

相比过程式和OOP,函数式编程思想过于数学化和抽象化,语言的表现力和运行效率也有所不足。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号