Haskell 学习笔记-05:为什么函数式编程流行不起来?

今天有些想入非非了,随便看几个这几天写过的算法:

求列表中的最小元素:

 min' ::Ord(a)=> [a] -> a
 min' [] = error "List is empty!"
 min' (x:[]) = x
 min' (x:xs) = if x < min' xs then x else min' xs

快速排序算法:

quicksort :: (Ord a) => [a] -> [a]
quicksort [] = [] 
quicksort (x:xs) =     
    let 
        smallerOrEqual = [a | a <- xs, a <= x]
        larger = [a|a <- xs, a > x]     
    in 
        quicksort smallerOrEqual ++ [x] ++ quicksort larger

用传统程序设计语言,很难如此简洁清晰地表达函数计算思路。给我的感觉是,从逻辑的简洁性上看,Haskell 简直绝了!可以想象,函数式编程语言编写这类算法,基本上都有超凡脱俗的表现。今天我又忽然想起这个沉重的话题,为什么函数式编程流行不起来呢?

我觉得欣赏函数式编程之美,必须具备相当的数学素养,而大部分程序员,敲代码只是养家糊口的一门技艺,大家更关心的是开发效率,对于那种大道至简的美学毫无兴趣。就像当今诗词歌赋无法为广大吃瓜群众所接受一样。函数式编程面向的用户群体,是对数学有特殊偏爱的那些人,因此,函数式编程只能沦落为供少数人把玩的玩意儿。

未来,随着人工智能技术和量子计算技术的不断发展,普通程序员可能面临失业的风险,因此,函数式编程语言扔有可能会被最终幸存的程序员们接受,并成为能有效产生生产力的开发工具,就像现代数学被很多领域的专家接受一样,但这一定是相当多年以后的事情了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值