关于函数式语言
2019-03-03 21:38
99 查看
什么是函数式语言,以及流行的原因
函数语言的特点:
1:函数是头等值,函数可以当成参数提供给其他函数,也可以在函数中当作返回值,以及在函数中定义函数
形式可表示为数学上的函数:y=f(x) z=g(y) 可以组成复合函数 z=f(g(x));
2:把输入的值映射成输出的值,
例如: int b(int x) {return x+1;} s=b(s);
修改s的是b(s)中return x+1,不修改系统变量
3:给定输入固定的输出,没有副作用(副作用是修改系统状态的语言结构,函数内部与外部互动,产生运算以外的其他结果。)
4:引用透明性(如果提供同样的输入,那么函数总是返回同样的结果),有助于验证正确性、简化算法,甚至有助于找出优化它的方法。
常见的函数式语言有哪些?
coljure、scala、Haskell
流行的原因:
- 代码简洁,开发快速
- 接近自然语言,易于理解
- 更方便的代码管理
- 易于"并发编程" (函数不修改变量,程序不会发生死锁)
elemtype s1 = Op1(); elemtype s2 = Op2(); elemtype s3 = concat(s1, s2);
s1与s2相互独立,执行结果与执行顺序无关,易于添加线程。- 代码的热升级
函数式编程没有副作用,只要保证接口不变,内部实现是外部无关的。所以,可以在运行状态下直接升级代码,不需要重启,也不需要停机。
相关文章推荐
- 关于函数式语言的只言片语
- 关于函数式语言的只言片语
- 关于函数式语言的一些说明
- 【脚本语言系列】关于Python调试报错,你需要知道的事
- 关于学习JAVA程序设计语言的回顾与展望
- 关于iar汇编语言添加头文件问题
- 采访:关于Go语言和《Go Web编程》
- 关于Eclipse界面语言问题
- 关于Java的语言问题汇总
- 函数式语言特点之-不变量
- 【脚本语言系列】关于Python持久化shelve,你需要知道的事
- 把金庸小说数据化——关于语言的思一点考
- 关于.net中IL语言的一个应用场景 2014-2-10 17:15 阅读(0)
- 【脚本语言系列】关于 Python 事件处理,你需要知道的事
- python语言学习——关于str
- P86页《数据结构与算法 Python语言表达》关于“判断谓词”的个人理解
- 【脚本语言系列】关于PythonNoSQL数据库处理dbm,你需要知道的事
- 【脚本语言系列】关于Python基础知识__slots__,你需要知道的事
- 关于函数式宏定义的学习
- 【脚本语言系列】关于PythonNoSQL数据库处理memcached,你需要知道的事