英国著名计算机科学家、微软首席研究员及Haskell编程语言主要贡献者Simon Peyton Jones在一次访谈中说,函数式编程语言的时代已经来临。
函数式编程语言不同于大多数人所熟知的编程范式,它没有了维护全局状态的麻烦,只需要将输入数据传给函数,然后等待输出结果,就这么简单。
Simon说,“大部分编程语言都是命令式(imperative)的,程序员需要告诉代码先做什么再做什么。而函数式编程语言则不然,它会直接告诉程序员输出的结果是什么。比如Excel表格里的方程式,它并不包含一系列的步骤,它只会告诉你某个格子经过计算之后的值是多少”。
Simon认为,函数式编程语言是开发者验证新想法的有力工具,比如Haskell。他说,“函数式编程语言有一颗智慧的心,它易于驾驭,只要你善于驾驭它,它就能助你一臂之力”。
在过去几年,函数式编程语言的很多语言特性已经被其他编程语言所模仿,而函数式编程语言领域的新想法也如雨后春笋般不断涌现。
函数式编程语言Haskell和OCaml几乎成为新想法的摇篮,它们当中有一些已经成为主流编程语言的一部分。垃圾回收和参数化多态就是其中最好的例子。Java的泛型是在2000年初引入的,但它在函数式编程语言中早已存在了20年。Linq的设计思想直接来自Haskell,F#的workflow设计灵感则来自Haskell的monadic I/O story。
随着摩尔定律的放缓,计算机用户开始更多地依赖软件能够并行地运行于多个核芯片之上,以此来获得更快的处理速度。毫无疑问,函数式编程语言特别适合用于并行执行,因为它们很少有机会发生崩溃。
Simon说,“在使用函数式编程语言时,可以通过避免运算单元之间发生交互来实现并行运算。这就要求程序员对程序各个部分之间的交互细节了如指掌,从而降低bug出现的几率”。
函数式编程语言的市场仍然相对较小,但毕竟已经存在了27年,它们的用户群还是很强大的。很多公司也开始使用函数式编程语言,比如,Facebook就在用Haskell进行垃圾过滤,而Bloomberg和谷歌也在使用Haskell。
Simon说,“编写软件最主要的一方面就是要管理好复杂性,而唯一能够阻碍写出好软件的就是我们管理复杂性的能力。函数式编程语言为我们提供了最有力的工具用于管理复杂性,这是命令式编程语言无法比拟的”。
感谢郭蕾对本文的审校。
一个程序员学习平台分享给你们,让你在实践中积累经验掌握原理。主要方向是JAVA工程师。如果你想拿高薪,想突破瓶颈,想跟别人竞争能取得优势的,想进BAT但是有担心面试不过的,可以加我的Java学习交流群:282711949。
注:加群要求
1、大学学习的是Java相关专业,毕业后面试受挫,找不到对口工作可以
2、在公司待久了,现在过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的
3、参加过线下培训后,知识点掌握不够深刻,就业困难,想继续深造
4、已经在Java相关部门上班的在职人员,对自身职业规划不清晰,混日子的
5、有一定的C语言基础,接触过java开发,想转行的
小号勿扰,不喜勿加
作者:薛命灯
相关资讯
最新热门应用
中币交易所官方app
其它软件288.1 MB
下载aofex交易所app
其它软件121.52M
下载osl交易所app
其它软件69.42MB
下载币客盈交易所官网
其它软件292.97MB
下载香港osl交易所
其它软件72.69MB
下载宝币交易所最新版
其它软件223.89MB
下载aacoin交易所
其它软件34.17MB
下载币赢交易所app官网
其它软件292.97MB
下载中币交易所app苹果版
其它软件288.1 MB
下载热币全球交易所app最新版
其它软件175.43 MB
下载