zoukankan      html  css  js  c++  java
  • 再造巴别塔登天

    再造巴别塔登天

    再造巴别塔登天
    (图片来源:wikipedia

    那时,天下人的口音、言语,都是一样。人们开始造一座塔,塔顶通天,来传扬人们的名。神怒了,竟把人们的语言变乱了,使人们不能彼此沟通,造塔工程不得不停工。这未完的塔就是“巴别塔”,《七周七语言 理解多种编程范型》一书的封面配图典故来源。

    《七》一书是我闲逛时无意发现的,它用传记体的形式描述了七门不同的编程语言,每门语言分列了“三天”篇幅。算下来三七二十一,但是若以为这是系列中另一 本《二十一天精通XXX》而放弃一读的话就错过了一本好书。和《二》系书名一样《七》的主标题充当了让第一眼看到它的人拾起它探究一番的噱头。副标题才是 书的实质写照。

    我自以为好奇心非常重,并且停不下来满足它。对于编程我一直喜欢了解各种编程模型范式,因此当我看完了《七》的目录就决定买下它了,哪怕它可能翻译的很烂,就像《编程之魂》那样,我能忍。

    我用了不到一周的闲暇时间就把它读完了,酣畅淋漓让我大呼过瘾。翻译的极好注解也十分到位,译者应该也是对编程范式上瘾的人吧。

    学那么多语言干什么呢。很多人看到我学习并叫嚷着各种他们听说过没听过的语言,各种编程范式后第一反应都是这么问我。我们大部分人写一辈子代码也不会有那 么一天去设计实现自己的语言。但是不会直接去用的知识不代表没有用,自己惯用的东西不代表整个世界。想想(如果)你曾非常惯用面向过程,在接受面向对象的 编程思想时花了多少时间跨过了多大的门槛?初接受面向对象后又滥用了多久类、继承、封装、多态?我清楚的记得学习面向对象前的“为什么要用类做抽象,怎么 抽象”和学会不久的“什么都要用类,什么都要用继承、封装、多态”,并体会到其中的片面,所以我每遇见新奇的编程模型和范式时都意识到:我又在编程世界中 碰到了难得的“不知己不知”的事情。学习大部分新语言我都不会写上一行代码甚至不会去安装编程环境,我只是看看它们的编程哲学,这个世界自有我所不了解的 运行机制。自己有限的知识范围大一点,思考和解决问题时也就能更惬意一点。

    《七》是“技术八卦”或“文学化技术”书中的精品。讲解每一门语言的章节结构都相同,既有能快速上手但超越hello world的入门,又有对隐藏在简单机制背后的强大表达能力的步步深入,还有对语言作者或社区核心人物的八卦访谈。书的篇幅有限,作者却把每门语言的精髓 都展现出来了,我不能奢望读完每一章就能编写出工业级的程序,但我从中接受了很多新鲜的概念和思路。以前我从没明确的接触过原型编程和逻辑编程,Io和 Prolog是我读的最过瘾的两章,我或多或少在设计实现编程语言上努力过,但我从没想出过语言要素可以简洁直接的这么搞,同时表现能力非常强大;Io可 以方便的定义DSL,Prolog甚至本身就是一门强大的DSL。Ruby和Scala是我一直想学却始终没有下手的语言,这回算是把精彩的部分都领略了 一番,从Scala中能看到很多如进化神速的C#中的概念,同时把同是JVM平台的始祖Java衬托的那么不思进取。我了解函数式编程的一些东西,但 Erlang、Clojure、Haskell几章充分弥补了我的盲点和误区,对于以后深入研究其中某门语言也算提了个纲吧。若是写代码时能把这些思路恰 当的拈来一用,便再好不过了。

    推荐喜欢尝鲜的人一读,自认为已经掌控一切的高手也可以挑战一下。

  • 相关阅读:
    谷粒商城网关服务建立(七)
    谷粒商城Nacos配置(六)
    谷粒商城Nacos配置(五)
    Nacos入门
    谷粒商城心得二
    谷粒商城的快速开发(四)
    谷粒商城的快速开发(三)
    谷粒商城心得一
    谷粒商城的环境搭建(二)
    PowerDesigner16安装&破解
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2586990.html
Copyright © 2011-2022 走看看