Skip to content

Latest commit

 

History

History
77 lines (43 loc) · 4.85 KB

preface.org

File metadata and controls

77 lines (43 loc) · 4.85 KB

本书的主要目的是为了解释 为什么需要*, *如何理解 以及 如何使用 Monad, 分为三大个部分,{{{ruby(猫论,Catergory Theory)}}},{{{ruby(食用猫呢,Practical Monads)}}}和{{{ruby(搞基猫呢,Advanced Monads)}}}。[fn:9]

{{{ruby(猫论,Catergory Theory)}}} 是理论基础,解释单子由何而来,若是 不想装逼装得有理有据 觉得太无聊其实可跳过,比较适合好奇心大的猫。

{{{ruby(食用猫呢,Practical Monads)}}} 提供很多日常会遇到的单子供大家食用。

{{{ruby(搞基猫呢,Advanced Monads)}}} 适合谁你自然懂得。

其中所有例子都有双语 中文和英语 HaskellScala 解释,双语例子都成对出现,先 Haskell 后 Scala。

至于为什么选择这两种语言?其实代表两大派系,一个ML系一个Java/C++系,若是看不懂 Haskell,Scala 可能 会更好懂些。

当掌握了这种思维方式,不局限于 Haskell 或者 Scala,其实可以扩展到任何语言的编程中,即使是没有类型系统的语言,JS,说你呢,不要看人家PHP。

那么,为啥要花钱买一本不是正规出版社的书?

许多年前,当我还是年少 有为 无知的时候,有个很正规的出版社叫我写过一本书[fn:5]。

当我听说写书是按字数给钱的时候,我的程序员世界观崩塌了那么一会。 什么 DRY[fn:1],什么 YAGNI[fn:2],我统统都需要,而且能重复说的概念绝对不能一次说清楚了。

那段时光里 Emacs 那熟练的快捷键 Ctrl y 简直就是我的人民币印钞机。

于是我东拼西凑,从我的博客抄了好多字。结果豆瓣才6.6分,居然只有几个人说我是抄的, 真是的,读书人,怎么能说抄呢? 显然读者都不怎么看我的博客。

再说了, 我抄你家书了吗? 其实书上可比我的博客精致多了,看,我还加了好多萌萌的插画呢。字不算钱,画也多少算点吧。而且,老子写博客的时间不要钱吗?

呵呵,确实不要。

显然第一版还滞销,出版社也再没联系我第二版的版税💰的事情。就这么投入一年的时间加工精美博客以获得利润的完美赚钱计划,结果还不如我打工一天赚的钱多。

不过不叫确实好怪我,目标读者是前端,内容显然过于 超前 乏味了些。但是卖不掉我还真是严重怀疑是因为出版社设计的书皮太难看。

你看看那橘色的封面,跟 Emmet[fn:3] 的工服一个颜色,你很难想象这不是一本建筑工程师的书。 我要是在图书馆看见这本书,我都怀疑自己走错了到了建筑装潢区,对啊我本来是来借啥书来着?我在哪?我是谁?

你看,这种水平的前言,出版社肯定不乐意要让我改,但是我乐意啊,啊哈哈哈哈。

哦,对,还没说这本书是啥情况呢。其实这本书,它…也是从我的同名博客[fn:6]抄的…

但其…实我还是有加入更多的内容[fn:7],更重要的是这个超有设计感的封面。

你想想,六美元[fn:8]可以买两瓶可乐,六美元能买一本儿童涂色书,六美元能买二分之一顿饭。 你少喝两瓶可乐,让你娃少涂一本涂色书,你少吃半顿饭,买了这本书,把里面的词汇都背下来,在同事领导面前时不时冒出一两个来装逼,升值加薪不是梦。

或者,打印出来但千万不要装订,抱在怀里从女神男神面前走过时不小心撞一下顺势往天上这么一撒,女神男神在慌乱中一起帮你捡地上散落的书时,肯定会惊叹:哇,这人好厉害居然知道Monad是什么? 再加上刚才撞一下引起的心跳加速,对你的好感油然而生。

只是少喝两瓶可乐,少涂一本涂色书,少吃半顿饭省下来的六美元[fn:4],就能提前助你走上人生巅峰的感觉,难道不六吗?

Footnotes

[fn:9] 什么?你不喜欢谐音梗?我也不喜欢,可是,这也不是讲脱口秀的书啊。 再说你也就花了六美元,十分适合这种廉价梗

[fn:8] 啊,那为啥是以美元为单位?那是因为 Gumroad 是按美元给我结算,这样我可以挑选合适的的时候换算成澳元或者人民币花,啊哈哈哈。

[fn:7] 比如,你看,博客里就没有这篇前言。

[fn:6] https://blog.oyanglul.us/grokking-monad/part1

[fn:5] https://book.douban.com/subject/26883736/

[fn:4] 你看我这写上本书落下的 Ctrl y 毛病。

[fn:3] Emmet Brickowski:乐高大电影里的一名普通建筑工人。咦,普通工人怎么有wiki?我都没有 https://thelegomovie.fandom.com/wiki/Emmet_Brickowski

[fn:2] 你可能不会需要的(You Aren’t Gonna Need It) https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it

[fn:1] 不要重复(Don’t Repeat Yourself) https://en.wikipedia.org/wiki/Don%27t_repeat_yourself