作者oopFoo (3d)
看板Soft_Job
标题Re: [请益] 适合入门functional programming 的教学
时间Thu Jan 19 09:09:13 2023
※ 引述《FXW11314 (soukai)》之铭言:
: 如题,刚到公司报到就发现老板是functional programming 的爱好者,对案子也会要求尽
: 量用fp的方式来写
: 但我跟其他同期报到的新人从来没碰过,每天都会听到一堆新名词跟新做法,很担心以後跟
: 不上,所以想趁年假恶补一下
: 请问有没有推荐适合新手的fp教学,文章、书、影片都可以,谢谢大家
我的认知fp主要是immutability与stateless。
first class function, curry, lazy evaluation, monad ....主要都是为解决immutable data structure的问题。
type与category theory我不认为是fp的一部份,但常常会缠在一起。
但讲起来都很抽象,我建议从purely functional data structures开始看。
https://belle.sourceforge.net/doc/okasaki-phd.pdf
Chris Okasaki的博士论文还是这方面的基础,後来也有出书。
Prabhakar Ragde也整理出不错
https://cs.uwaterloo.ca/~plragde/flaneries/FDS/
就我了解,会用fp的公司比较偏向金融的新创,不然fp实在有时不好用。但现在大部份都是impure fp所以....
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.224.214.71 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1674090559.A.236.html
1F:推 MoonCode: 所以你用了吗 01/19 12:51
2F:→ musie: 这些都不是入门的 真要搞Lisp 先从SICP跟Little Schemer 01/19 13:23
3F:→ MoonCode: 楼上看完 sicp 了吗 01/19 13:36
4F:→ musie: 看完了呀 习题全刷呀. 01/19 13:57
5F:→ musie: 我前工作就用Agda搞金融 你懂? 01/19 13:57
6F:→ MoonCode: 不懂 有大神先拜了 01/19 14:14
7F:推 musie: 不是 这两本都很薄又很简单 真的是入门用的. 到底? 01/19 14:28
8F:→ s9041200: dependent type都冒出来了,怕 01/19 14:44
9F:推 MoonCode: little schemer 看到不动点组合子就躺了 抱歉 01/19 15:00
10F:→ bachelorwhc: 笑死 问东问西的 fp应用case不会自己查吗 01/19 15:28
11F:推 eopXD: 也可以来一下 learn you a Haskell for great good 01/19 20:21
12F:→ oopFoo: sicp跟little schemer +1,不过lispy syntax蛮吃缘份的 01/19 20:37
13F:→ oopFoo: 不然这两本书教的fp方法蛮好的。 01/19 20:38
14F:→ oopFoo: 当初Lisp,OCaml有玩一阵子,但fp的概念还是似懂非懂。 01/19 20:39
15F:→ oopFoo: 是在工作上用Erlang才算比较了解fp。现在想想,应该是写一 01/19 20:41
16F:→ oopFoo: 定量以上的code就慢慢融会贯通。後来也有接触Forth,感觉 01/19 20:42
17F:→ oopFoo: 还蛮functional的,有点意外。 01/19 20:43
18F:→ saladim: 我看到category theory就挂了, 就实务上会用monad已经很 01/20 00:36
19F:→ saladim: 强了 连更前面的applicative functor就觉得很抽象 要怎麽 01/20 00:37
20F:→ saladim: 应用 = = 又有语法的问题 XDD 平常不用haskell/lisp/sche 01/20 00:38
21F:→ saladim: 本鲁太弱了 无法体会抽象到实务怎麽发生 01/20 00:39
22F:→ oopFoo: Haskell我不敢碰,太多观念要熟习。现在玩fp我会推荐 01/20 09:05
23F:→ oopFoo: Clojure,实际,好用,有Java生态环境当靠山。 01/20 09:08
24F:→ recorriendo: 真的要推SICP 01/20 14:59
25F:→ recorriendo: monad基本上就是要用stateless func做不stateless的 01/20 15:01
26F:→ recorriendo: 事 个人觉得不是很好用 01/20 15:01
27F:→ recorriendo: Dan Grossman的教材也很好 以前他还有coursera课程 01/20 15:02
28F:→ recorriendo: 不知道现在还有没有 01/20 15:02
29F:→ gn00710311: 可恶都没人推 FP Scala ,也是 JVM 体系喔 01/20 16:42