- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数式编程入门
卢小海,绿盟科技
密级:内部使用
© 2009 绿盟科技
议程 (Agenda)
1 历史背景
2 编程范式
3 基本概念
4 真实案例
5 参考资料
软件危机
如何应对计算机程序日益增加的规模和复杂性
• LOC, line of code. Window 3.1(1992) 3million LOC, Windows
2000 30-50million LOC
如何降低开发软件和维护软件的费用
• maintenance can be up to 70%, including understanding,
debugging and modifying the code
如何增强我们对于软件正确性的信心
• The European Ariane 5(1996), cost 10 years and $7billion,
explode after 40s in its maiden voyage; the floating point division
in the Pentium processor cost Intel around 470 million
程序设计语言
内容简洁 语义清晰 语法抽象性
支持快速 自劢化解决
易于重用
原型设计 问题工具
设计一个
形式化验证 函数式语言!
新的语言?
函数式编程 – 定义
• functional programming is a programming
paradigm that treats computation as the
evaluation of mathematical functions and
avoids state and mutable data.
• Functional programming is style of programming
in which the basic method of computation is the
application of functions to arguments;
函数式编程 – 风格
• Java
–total = 0;
for (i = 1; i 10; ++i)
total = total+i;
• Haskell
–sum [1..10]
• Python
–sum(range(10))
–reduce(lambda x, y: x+y, range(10))
Long Long Ago - lambda calculus
1920s– 1940s:
and
Alonzo Church Haskell Curry
developed lambd
文档评论(0)