语言比算法更重要
如果没有五线谱,作曲家只能用自然语言谱曲,那会是什么样子?翻一翻几何原本,看看欧几里德用自然语言写数学的公式和推导,那是多么蛋疼。五线谱和数学公式都是一种专门的语言。
维特根斯坦说:凡是语言能表达的,都能说清楚,凡是语言不能表达的,都应该保持沉默。
国内编程界长期被理聪主导,几乎每个程序员都听过这句话--语言不重要,算法才是关键。大学时我也深信这句话,半路出家,一心扑在ACM/ICPC上,以至于连恋爱都没谈!对于红朝的穷苦屁民,除了大学谈恋爱,一生中还能有什么美好的事?尤其是拒绝过至少五六个女生的倒追……没做过这种SB,你永远无法体会到那种悔恨和自责……我扯太远了……
回到《七周七语言》这书,它展现了七种语言不同的表达能力。如果你还相信语言不重要,那这本书绝对能颠覆你的观念。然而,它并不完美。
我拿到这本书时,第一感觉是:“好薄!”这么几页书就能把七种语言的精髓讲清楚么?--果然是讲不清楚的。除非是接触过相似的语言或概念,书中很多地方的跳跃感很强。作者解释得也不细致,单靠这本书掌握某种新语言的核心是完全不可能的。之前有好几篇书评都是在吐槽这点。
此外,我对作者选的这七种语言也不甚满意。似乎作者的目的主要是卖书,而不是理清各种编程范式。函数式编程的概念正当红,于是作者选的七种语言中,只有prolog完全没有函数式编程的影子。
Ruby作为面向对象的唯一代表,作者大谈花藜胡哨的语法和奇技淫巧的元编程,和面向对象有个毛关系!就算C++,Java这种不能用,好歹smalltalk吧!再不济,object-C也好得多。
Lisp的方言居然选的是Clojure!相较于其它方言,Clojure的特点是当红和复杂,或许Clojure是语法最复杂的Lisp方言,短短几页书根本讲不清楚,还不如用Scheme把函数式编程的概念说得更透彻些。况且Clojure和Scala多少有点重叠的感觉。
介绍了那么多函数式语言,居然没有一种ML系的语言,我觉得这也是一大失败。再怎么说,人家在函数式领域的江湖地位至少相当于武当派,你连提都不提……
最后,作者对语言的评价太单细胞了。每一种特性不是优势就是劣势,哪有这么简单的事!大多特性都有好用的时候,也有变成麻烦的时候,这难道不是常识么?比如Haskell的类型推断系统,在我熟悉的F#中有几乎一样的特性,它推断得好是很省事,但万一它认为类型不匹配,那补类型声明就要补到死!
吐槽到此为止。不管怎么说,这本书是值得一读的,尤其是受理聪毒害颇深的国内程序员。
我很想听听三总( @远古邪恶巨坑)对这本书的评价。
维特根斯坦说:凡是语言能表达的,都能说清楚,凡是语言不能表达的,都应该保持沉默。
国内编程界长期被理聪主导,几乎每个程序员都听过这句话--语言不重要,算法才是关键。大学时我也深信这句话,半路出家,一心扑在ACM/ICPC上,以至于连恋爱都没谈!对于红朝的穷苦屁民,除了大学谈恋爱,一生中还能有什么美好的事?尤其是拒绝过至少五六个女生的倒追……没做过这种SB,你永远无法体会到那种悔恨和自责……我扯太远了……
回到《七周七语言》这书,它展现了七种语言不同的表达能力。如果你还相信语言不重要,那这本书绝对能颠覆你的观念。然而,它并不完美。
我拿到这本书时,第一感觉是:“好薄!”这么几页书就能把七种语言的精髓讲清楚么?--果然是讲不清楚的。除非是接触过相似的语言或概念,书中很多地方的跳跃感很强。作者解释得也不细致,单靠这本书掌握某种新语言的核心是完全不可能的。之前有好几篇书评都是在吐槽这点。
此外,我对作者选的这七种语言也不甚满意。似乎作者的目的主要是卖书,而不是理清各种编程范式。函数式编程的概念正当红,于是作者选的七种语言中,只有prolog完全没有函数式编程的影子。
Ruby作为面向对象的唯一代表,作者大谈花藜胡哨的语法和奇技淫巧的元编程,和面向对象有个毛关系!就算C++,Java这种不能用,好歹smalltalk吧!再不济,object-C也好得多。
Lisp的方言居然选的是Clojure!相较于其它方言,Clojure的特点是当红和复杂,或许Clojure是语法最复杂的Lisp方言,短短几页书根本讲不清楚,还不如用Scheme把函数式编程的概念说得更透彻些。况且Clojure和Scala多少有点重叠的感觉。
介绍了那么多函数式语言,居然没有一种ML系的语言,我觉得这也是一大失败。再怎么说,人家在函数式领域的江湖地位至少相当于武当派,你连提都不提……
最后,作者对语言的评价太单细胞了。每一种特性不是优势就是劣势,哪有这么简单的事!大多特性都有好用的时候,也有变成麻烦的时候,这难道不是常识么?比如Haskell的类型推断系统,在我熟悉的F#中有几乎一样的特性,它推断得好是很省事,但万一它认为类型不匹配,那补类型声明就要补到死!
吐槽到此为止。不管怎么说,这本书是值得一读的,尤其是受理聪毒害颇深的国内程序员。
我很想听听三总( @远古邪恶巨坑)对这本书的评价。
有关键情节透露