免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4277 | 回复: 15
打印 上一主题 下一主题

关于 perl 和 函数式编程,请诸位大贤、小贤指教 [复制链接]

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-30 00:24 |只看该作者 |倒序浏览
本帖最后由 wait_rabbit 于 2012-03-30 00:41 编辑

学习perl已经有三个星期,《programming perl》(4th)里的重要主题也都基本看过(近三个星期几乎每晚都是两点过了才睡,感觉又回到了校园时代 )。 今天开始翻《higher order perl》,在preface里翻到这样的两段话:

“Around 1993 I started reading books about Lisp, and I discovered something important: Perl is much more like Lisp than it is like C. If you pick up a good book about Lisp, there will be a section that describes Lisp’s good features. For example, the book Paradigms of Artificial Intelligence Programming, by Peter Norvig, includes a section titled What Makes Lisp Different? that describes seven features of Lisp. Perl shares six of these features; C shares none of them. These are big, important features, features like first-class functions, dynamic access to the symbol table, and automatic storage management. Lisp programmers have been using these features since 1957. They know a lot about how to use these language features in powerful ways. If Perl programmers can find out the things that Lisp programmers already know, they will learn a lot of things that will make their Perl programming jobs easier.”

“This book was directly inspired by two earlier books: ML for the Working Programmer, by Lawrence Paulson, and Structure and Interpretation of Computer Programs, by Harold Abelson and Gerald Jay Sussman. Other important influences were Introduction to Functional Programming, by Richard Bird and Philip Wadler, and Paradigms of Artificial Intelligence Programming, by Peter Norvig.”

作者说那本人工智能的书中描述了lisp的七种特征,perl具其六,c一种都木有;而这本书的灵感也是直接来自于ML和SICP等经典函数式语言书籍。

个人对函数式编程也非常感兴趣。本来一开始的打算是在精通perl之后再研究函数式编程,那么现在通过《higher order perl》这本书来提前达到目的是否可行?如果理想的话,既能提高perl的技能,也能掌握函数式编程。

但是本人对函数式编程并不特别了解,所以希望版里的诸位大贤指点:我是应该接着研究《mastering perl》和《Perl Best Practices》这一类的书,磨砺足够的技能,假以时日,然后再找专门的 lisp 或者 haskell 的相关书籍来学习函数式编程,还是可以趁此攻读《higher order perl》以达到目标?

谢谢


论坛徽章:
0
2 [报告]
发表于 2012-03-30 00:37 |只看该作者
非大贤觉得随性些就好,跟着感觉走,不必纠结。最想了解哪部分就去大口的解解渴~

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
3 [报告]
发表于 2012-03-30 00:47 |只看该作者
x9x9 发表于 2012-03-30 00:37
非大贤觉得随性些就好,跟着感觉走,不必纠结。最想了解哪部分就去大口的解解渴~


小贤也欢迎。

本来一直想研究函数式编程,不过一旦离开学校开始工作了,你懂的,很难长期沉浸在一个目标上。许久以前也学过perl,后来都丢了,现在项目需求才重新捡起来。

我就是不知道通过perl来研究函数式编程,跟通过lisp相比,究竟有哪些不足,看完本书後,还需要进行哪些补充(上边说了perl缺少一种特征)?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
4 [报告]
发表于 2012-03-30 09:27 |只看该作者
回复 1# wait_rabbit


    要研究函数式编程,还是直接学习 Haskell 吧,通过 Perl 是绕了远路,还可能走沟了去。

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
5 [报告]
发表于 2012-03-30 09:34 |只看该作者
2点睡那你起的就晚了啊,不划算。

要学FP就用 lisp / haskell 。这本书明显跑偏了,当初看了几章实在看不下去了,既不符合 Perl 又不符合 FP 的精神。Perl 说到底还是个命令式语言,倒是先学了 C 和 lisp 再搞这些动态语言就像切菜一样简单了

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2012-03-30 10:55 |只看该作者
本帖最后由 flw 于 2012-03-30 10:56 编辑

FP 性能是出了名的差,全靠编译器的优化,就 Perl 现在的编译器,学人家搞什么 FP 纯粹就是自讨苦吃。

HOP 我看过,不伦不类的,一堆匿名函数再加上嵌套调用,性能肯定好不了。

论坛徽章:
0
7 [报告]
发表于 2012-03-30 11:51 |只看该作者
学函数式编程Haskell是理论角度最好的选择。
Perl6代表了未来方向。
High Order Perl更为实用。

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
8 [报告]
发表于 2012-03-31 06:37 |只看该作者
MMMIX 发表于 2012-03-30 09:27
回复 1# wait_rabbit


多谢。我也是在想,perl虽然强大,但毕竟不是函数式语言,估计会遇到不少意料之外的麻烦。

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
9 [报告]
发表于 2012-03-31 06:49 |只看该作者
zhlong8 发表于 2012-03-30 09:34
2点睡那你起的就晚了啊,不划算。

要学FP就用 lisp / haskell 。这本书明显跑偏了,当初看了几章实在看不 ...


早上近九点起,算算也睡够了。

amazon上总共有14个评论,12个五星,1个四星,1个二星。想不到诸位版主都明显不认同。

我特意瞅了一下二星的评论:There are some interesting algorithmic niches explored for procedural programmers that one in a million may find useful. But truly Higher Order Perl isn't about functional algorithms, it's about object modelling。

看来应该是能学到一些比较hacker的招数,但毕竟不是函数式编程。

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
10 [报告]
发表于 2012-03-31 07:02 |只看该作者
flw 发表于 2012-03-30 10:55
FP 性能是出了名的差,全靠编译器的优化,就 Perl 现在的编译器,学人家搞什么 FP 纯粹就是自讨苦吃。

H ...


非函数式语言来实现函数式的特征,暗忖也够勉强。

接受诸位大贤的建议,打算最近就从古老的lisp入手,早就向往这门传说中的语言了,也想趁此琢磨一下人工智能。

haskell据说比较新,还在不断发展中,时不时有高深的玩意儿添加进来,自己作为新手担心会头大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP