闲聊-编程思想的书籍

为什么读书

对语言过去的探索
对语言未来的困惑
对语言当前的选择
对语言设计的困惑
对语言的分类的困惑
对思想的取舍
对语言的形成和发展的探索

怎么读书

辩证的分析
一方面说,纸上得来终觉浅,绝知此事要躬行
一方面说,书籍是人类思想的宝贵精华
综合来说,读书让人继承思想,而书不能脱离实践

书籍目录

排名不分高低

  • 代码的未来
  • 黑客与画家
  • 松本行弘的程序世界
  • JavaScript语言精髓与编程实践
  • 实用Common Lisp编程
  • Erlang程序设计(第2版)

注:

  1. 为什么把《实用Common Lisp编程》和《Erlang程序设计(第2版)》放在这里。
    答:因为里面讲的不止是一种语言了,而是一种思想的实现。现代的语言比如go就借鉴并靠拢这两个语言。当读过这两本书后,再去看go根本不需要学什么就可以直接上手。

  2. 关于学习新语言的看法,是否需要学习还是等待其通过市场的考验?
    答:立即学习会伴随语言的更改和补充等带来的不稳定性甚至破坏性的坑,甚至推倒重建,这些都是成本,也是经验。比如vue1-vue2-vue3,又比如node的兴起到如今退出市场,到现在go占领了web领域,js从用着jq被人瞧不起到现在成立社区最流行。陪伴一种或者几种语言从成长到消失(可能不会消失),从设计者的角度去看待语言的发展,从而观察语言未来的方向。保持学习的姿态,我希望,35岁不转行。

  3. 关于这句话"一种不改变你编程的思维方式的语言,不值得去学"的看法
    答:学,一方面是为了用,用在工作上,毕竟市场有需求,人要吃饭。学,另一方面是为了与过去思想的交流,批判性的继承,从而放眼未来。当学习一种新的语言的时候,难免会去和已经掌握的,根深蒂固的职业语言比较。这时候,总是会在习惯上有所冲突,写法或者思想,比如rust,写习惯了js的人会觉得rust在写法上似乎是一种强类型的js的升级,但同时,它又有其他语言的影子,它的块返回值让人惊掉舌头,这写法是叫人去阅读一条语句的最后是否存在分号的感觉,它的loop让人觉得无语,break来退出loop,它的函数返回值写法也是个奇葩,使用了->来标识返回类型等等,这些都让人不习惯,觉得别扭。习惯会让人的接受能力降低。但它是否改变了编程的思维方式呢?所以,这句话可以理解为,即使写法上难以接受的语言,只要思想上值得我们去学习,那就更要克服困难(习惯上的,心里上的)去学好这门语言。

  4. 关于做程序员这行可以做多久?
    阅读Erlang之父的学习历史及学习建议一文,会让答案清晰。
    寥寥数字,讲述了学习语言的路线,现代的教育应该教学什么,重用的最佳设计-协议,现身说法告诉我们学习语言的需要耐心,学习没有捷径,他学了40年,每几年一种语言。他告诉我们真正出现革命性思想的语言大概是20年左右的时间,而大多部分时间,出现的都是改良性质的发展,但还是需要去学习,这需要自身去体验和经历,他是这么做的。做程序这个职业,不止35,可以终生热爱。这样的回答,大概是比知乎上的回答让人满意的把,我想这就是和伟大人物交流的区别了。

    学习至少半打的编程语言。包括一种支持类抽象的语言(象Java 或C++),一种支持函数化抽象的语言(象Lisp或ML),一种支持语法抽象的语 言(象 Lisp),一种支持声明规格说明的语言(象Prolog或C++ 的模板),一种支持 共行程序(coroutine)的语言(象Icon或Scheme),一种支持并行的语言(象Sisal)。

    随着时代的发展,如今虽然不是这样的选择和顺序,但以此致敬这位终生热爱程序语言的人。

    1. C
    2. Prolog
    3. Erlang(我偏心)
    4. Smalltalk
    5. Javascript
    6. Hakell / ML /OCaml
    7. LISP/Scheme/Clojure

先留个影,后续再补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值