七段旅程,一场波澜
合上书,五味杂陈。期间旅程,有因顿悟而欣喜,有因迷茫而忧郁,有因好奇而憧憬,有因晦涩而烦躁,有因好恶而斥责,有因困惑而愤怒……各色滋味聚上心头,汇成一股七彩斑斓的钦佩。
## 欣喜
看到那十四行诗般的罗马数字DSL,不由惊叹method_missing还可以这么用。最早是在Peter Cooper那个神奇的200行自顶向下递归解析器里隐约感受过它的魅力,可没想到竟能如此简洁地重现。
见过Io的Singleton实现才深切地体会到世界可以如此简单。
从Ruby到Io,再到Clojure,当重写unless的例子再度出现,那一瞬间,我顿悟。宏,这个不可捉摸的神秘概念竟是如此简单,这就是执行之前所做的文本替换啊!
还有那两句判断八皇后是否同对角线的Prolog断言,诡异的加减背后竟是极简的斜率公式。
……
那遍地的宝藏,有时带给我惊喜,有时却是入宝山空手回的遗憾。
## 抑郁
Ruby的继承图啊,多少次让我不成眠,魂梦牵。
Io啊,你家的if/then/else到底是方法还是语法糖?你手下的call一族究竟是何方神圣?
Clojure的解构啊,表里如一的你对待map的方式为何如此不同?
Haskell啊,你竟如此残忍,刚抛出甘甜的语法糖,让我回想起Lisp的美好,紧接着就打开monad的魔盒,把我推进绝望的深渊。
并发啊,你那STM、actor、future十八般大招招招要我肝肠寸断。
……
坑。蜜月之后是爱情的坟墓,清新的语法身后是逻辑的巨坑!
## 憧憬
虽然Io的语法让我万分纠结,但是我还是久久不能对她的简洁释怀。我真心觉得可以读懂她,真心希望见到那传说中寥寥数笔实现C子集的40行真经。
我还憧憬见到更多的宏,让我更全面、更深入地揭开她的神秘。
## 愤怒
我将自己的健忘迁怒于Bruce的惜字如金,虽然你在Prolog的第一天第一节的第一段里就明明白白地写上了“以大写开头的词为变量”,但我还是瞬间忘记,长久地纠结What、Who是不是关键词。
还有译者们,我知道翻译遍尝百草的辛苦,更深知遍尝百草却不得解的痛苦。但仍然抑制不住我对把“等价推断”译为“合一”的愤怒。好吧,其实我反感的是那些生搬硬套的直译。可这也是因为我对这本书过分怜爱,过分苛求。
## ……
## 我心中的她
首先,我必须斥责Scala、Clojure,这俩Java家的私生子,口是心非的混蛋,口口声声述说着自己如何如何乖巧可人,背地里干着恬不知耻的勾当,还联起手来败坏Prolog的名声,人家可才是真真正正的直爽汉子呐!
至于Io和Haskell,我不得不承认,她俩散发着一股Lisp家特有的高贵,一双直白却深邃的眼睛望得我丢魂。她们也许是命运里的女神,却不能是生活中的爱人。
所以,抛开弯直不谈,我心中的她还是留给了Miss. Ruby。我曾找了好久去找一个词来形容Ruby的美妙,终于我找到了——善解人意。不管你把代码写成什么烂样,她都竭尽全力去理解你,包容你。是的,她有一些怪癖,可一旦你近距离的接触过,那些怪癖却变成了妖娆的魅力。
好了,潘多拉的魔盒已经开启,享受这份痛苦吧。
## 欣喜
看到那十四行诗般的罗马数字DSL,不由惊叹method_missing还可以这么用。最早是在Peter Cooper那个神奇的200行自顶向下递归解析器里隐约感受过它的魅力,可没想到竟能如此简洁地重现。
见过Io的Singleton实现才深切地体会到世界可以如此简单。
从Ruby到Io,再到Clojure,当重写unless的例子再度出现,那一瞬间,我顿悟。宏,这个不可捉摸的神秘概念竟是如此简单,这就是执行之前所做的文本替换啊!
还有那两句判断八皇后是否同对角线的Prolog断言,诡异的加减背后竟是极简的斜率公式。
……
那遍地的宝藏,有时带给我惊喜,有时却是入宝山空手回的遗憾。
## 抑郁
Ruby的继承图啊,多少次让我不成眠,魂梦牵。
Io啊,你家的if/then/else到底是方法还是语法糖?你手下的call一族究竟是何方神圣?
Clojure的解构啊,表里如一的你对待map的方式为何如此不同?
Haskell啊,你竟如此残忍,刚抛出甘甜的语法糖,让我回想起Lisp的美好,紧接着就打开monad的魔盒,把我推进绝望的深渊。
并发啊,你那STM、actor、future十八般大招招招要我肝肠寸断。
……
坑。蜜月之后是爱情的坟墓,清新的语法身后是逻辑的巨坑!
## 憧憬
虽然Io的语法让我万分纠结,但是我还是久久不能对她的简洁释怀。我真心觉得可以读懂她,真心希望见到那传说中寥寥数笔实现C子集的40行真经。
我还憧憬见到更多的宏,让我更全面、更深入地揭开她的神秘。
## 愤怒
我将自己的健忘迁怒于Bruce的惜字如金,虽然你在Prolog的第一天第一节的第一段里就明明白白地写上了“以大写开头的词为变量”,但我还是瞬间忘记,长久地纠结What、Who是不是关键词。
还有译者们,我知道翻译遍尝百草的辛苦,更深知遍尝百草却不得解的痛苦。但仍然抑制不住我对把“等价推断”译为“合一”的愤怒。好吧,其实我反感的是那些生搬硬套的直译。可这也是因为我对这本书过分怜爱,过分苛求。
## ……
## 我心中的她
首先,我必须斥责Scala、Clojure,这俩Java家的私生子,口是心非的混蛋,口口声声述说着自己如何如何乖巧可人,背地里干着恬不知耻的勾当,还联起手来败坏Prolog的名声,人家可才是真真正正的直爽汉子呐!
至于Io和Haskell,我不得不承认,她俩散发着一股Lisp家特有的高贵,一双直白却深邃的眼睛望得我丢魂。她们也许是命运里的女神,却不能是生活中的爱人。
所以,抛开弯直不谈,我心中的她还是留给了Miss. Ruby。我曾找了好久去找一个词来形容Ruby的美妙,终于我找到了——善解人意。不管你把代码写成什么烂样,她都竭尽全力去理解你,包容你。是的,她有一些怪癖,可一旦你近距离的接触过,那些怪癖却变成了妖娆的魅力。
好了,潘多拉的魔盒已经开启,享受这份痛苦吧。
有关键情节透露