社区
其他开发语言
帖子详情
请那位大虾给出函数式编程的确切定义!
CodeSaint
2006-11-08 02:14:59
请那位大虾给出函数式编程的确切定义!
然后介绍一下函数式编程的特点,优势和适用范围,发展方向!
...全文
1681
9
打赏
收藏
请那位大虾给出函数式编程的确切定义!
请那位大虾给出函数式编程的确切定义! 然后介绍一下函数式编程的特点,优势和适用范围,发展方向!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NARUIL
2007-02-15
打赏
举报
回复
函数式编程 在我的理解
是以lambda表达式为其模型核心的编程方式的名称
lambda算子是图灵完备的 函数式编程是通用的
任何一般的应用程序都可以用函数式编程模式写出
函数式的优点从根本上来说是抽象程度高 高于面向对象
因而更容易阅读理解 代码更精炼 更节约开发时间
如阶乘函数在haskell中:
let fac n = if n == 0 then 1 else n * fac (n-1)
如快速排序算法在c中
qsort( a, lo, hi ) int a[], hi, lo;
{
int h, l, p, t;
if (lo < hi) {
l = lo;
h = hi;
p = a[hi];
do {
while ((l < h) && (a[l] <= p))
l = l+1;
while ((h > l) && (a[h] >= p))
h = h-1;
if (l < h) {
t = a[l];
a[l] = a[h];
a[h] = t;
}
} while (l < h);
t = a[l];
a[l] = a[hi];
a[hi] = t;
qsort( a, lo, l-1 );
qsort( a, l+1, hi );
}
}
在haskell中
qsort [] = []
qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x
where
elts_lt_x = [y | y <- xs, y < x]
elts_greq_x = [y | y <- xs, y >= x]
函数式程序可以在运行期间进行代码更新 并可以极其迅速的完成维护和调试
函数式程序可以进行自动的并行实现 网格计算易如反掌
函数式程序现在的唯一缺点是效率略低
但效率只比c++低一点 而带来的益处是不可估量的
纯的函数式编程很难学精 monad(单子)是一个门槛
但函数式编程仍然是未来的一个重要发展方向
improgrammer
2006-12-10
打赏
举报
回复
函数式程序设计:指令和数据浑为一体。
经典的语言:LISP。
经典的数据结构:表。
核心概念:lambda表达式求值。
hxblvc
2006-11-15
打赏
举报
回复
函数式语言是不是一般只用于数学计算中?
sandrowjw
2006-11-13
打赏
举报
回复
hoho,ln终于出现了
所谓算子的值,我是这样理解的:算子其实可以比对为函数的参数,它是一个box,那么它的值就是box里放的东西。
fixopen
2006-11-13
打赏
举报
回复
函数式语言背后的数学观念也非常简单的,就是所谓的lambda递归。跟图灵机是完全等价的。
函数式语言对应的一个概念是命令式语言,跟过程和OO没有什么可比性。另一个越出这个范畴的是Prolog语言,它是基于一阶谓词的逻辑式语言。
fixopen
2006-11-13
打赏
举报
回复
何谓算子的值?
某鸟
2006-11-09
打赏
举报
回复
程序设计语言有各种体裁(好像是称为范型),包括过程式,函数式,面向对象等等……
普通的高级语言应该是面向过程的……如:pascal等……
还有面向对象的,如java等……
函数式的典型的就如Lisp等……
sandrowjw
2006-11-09
打赏
举报
回复
我个人的理解是:所谓函数式就是以函数为主的编程方式,函数一般包括一个算符和一系列算子,并且会产生一个返回值。纯粹函数式编程的特点是没有副作用,即算子的值不会被改动。其实,现代语言中很多概念,比如GC(java, C#),boxing(perl, C#)等,都和函数式编程有很大渊源。函数式编程背后的数学原理比较复杂,效率上一般也比过程是语言要低一些,但是由函数构成的代码非常清晰,而且函数有上下文无关这个优点,所以表达复杂算法的时候有优势。
sjjf
2006-11-08
打赏
举报
回复
mark
C# For Unity系列之入门篇
有一定自主学习能力,跟着刘老师从“编程小白”修炼为游戏研发“
大虾
”吧!!!学习好Unity,其先决条件是一定要有稳固、扎实的编程基础!课程 《C# For Unity系列之入门篇》配套学习资料链接:...
Python基于LSTM+Django的空气质量监测及预测系统源码毕业设计.zip
Python基于LSTM+Django的空气质量监测及预测系统源码毕业设计.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! Python基于LSTM+Django的空气质量监测及预测系统源码毕业设计.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! Python基于LSTM+Django的空气质量监测及预测系统源码毕业设计.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行!Python基于LSTM+Django的空气质量监测及预测系统源码毕业设计.
asp.net某公司员工管理系统的设计与实现(源代码+论文).rar
计算机毕业设计,含源码
myudid
myudid
严谨简约毕业论文答辩模板.ppt.zip
严谨简约毕业论文答辩模板.ppt
其他开发语言
3,423
社区成员
15,635
社区内容
发帖
与我相关
我的任务
其他开发语言
其他开发语言 其他开发语言
复制链接
扫一扫
分享
社区描述
其他开发语言 其他开发语言
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章