LawrencePeng's Blog

专注收集代码小精灵

给CS新生看的老饼的心声

  • 动机

    • 本来某人说要给新生演讲,不知道讲什么,我说我也想讲,她送上了👎的眼神,估计是因为

      作为一只老饼,如果倚老卖老谈所谓的经验,那就很恶心了。

    • 那我就只讲点我觉得比较正的三观吧。毕竟新生们应该能走出更好的路,非得把自己标榜的多厉害树立『权威』其实挺无趣的。

  • 正文

    • 目的
      • 我经常问自己的一个问题是:我为什么想要学计算机?我以前总是觉得这个问题挺虚的,后面发现这才是对我来说最根本的一个问题,我也找了很久,曾经我给出了几个答案:
        • 做出伟大的项目
        • money
        • 名声
        • 荷尔蒙
        • 进入好公司工作
      • 最后我的答案是:
        • 追求自己的极限。
        • 用我最喜欢的计算机书籍《SICP》的前言来说就是:
          • 我认为,在计算机科学中保持计算中的趣味性是特别重要的事情。这一学科在起步时饱含趣味性。当然,那些付钱的客户们时常觉得受了骗。一段时间之后,我们开始严肃地看待他们的抱怨。我们开始感觉到,自己真的像是要负起成功地、无差错地、完美地使用这些机器的责任。我不认为我们可以做到这些。我认为我们的责任是去拓展这一领域,将其发展到新的方向,并在自己的家中保持趣味性。我希望计算机科学的领域绝不要丧失其趣味意识。最重要的是,我希望我们不要成为**传道士**,不要认为你是兜售圣经的人,世界上这种人太多了。你所知道的所有关于计算的东西,其他人也都能学到。绝不要认为成功计算的钥匙就掌握在你手里。你所掌握的,也是我认为并希望的,也就是智慧:**那种看到这一机器比你第一次站在它面前时能够做的更多的能力,这样你才能将它向前推进。**
          • 我觉得它差不多就是求知若虚,虚幻若谷的琐碎版了,不过可能对我更加有用些。
  • 基础知识
    • 基础知识的重要意义是很显而易见的,缺少基础的时候,最后很难发现一些联系、洞见。之前有人和我说XXX语言没有指针,先不说讨论语言本身的意义,最后那个其实也是Implicit的。。。这就很尴尬了。
    • 基础和底层是两回事,计算机科学本身就是错误的名字,下次说的时候记着默念:『计算科学』。
    • 很多人去看源码、标准等等,说自己看过XXX了,所以我理解了原理,我觉得:
      • 理解原理的判定标准是你能否构建一个新的东西呢?
    • 自上而下和自下而上的关系聊了很多次了,我给出对于我来说比较满意的答案:
      • 自上而下可以破除神秘感,但弱化构造能力。
      • 自下而上可以真正理解原理,但时间成本更高。
      • 所以还是万能的狗皮膏药:看情况吧。
  • 语言
    • 作为一个语言不可知论者,讲这个其实本身也是有很强的政治意味的,因为不关心语言本身也是一种对语言的态度。
    • 语言是一种选择,但不是目的,关心钉子「目标」而不要关心锤子「本身」。
    • 如果XXX都是图灵完全的,那就把时间花在讨论它抽象了哪些东西吧。
  • 资源
    • 优秀的东西总是稀少的。优秀的东西总是稀少的。
      • 每天我的Reeder都有上千篇前端文章入库,实际上多是入门级的文章。
      • 永远不要马上相信自己找到的是好东西。
    • 教育、努力最后构造的其实是一个品位,你才是那个最重要的内容过滤器。
    • 信息爆炸不是放弃收集信息的借口。
  • 广度和深度
    • 凡事把问题二元化的人都是文革的遗风。
    • 理解相互促进、共生的意义。
  • 绩点、工作、社团、项目、研究哪个重要?
    • 有个概念叫做偏序,它们就是偏序的。
    • 但凡有人摆出来绩点高/工作好…秒杀全场的论调,慎重。
    • 你的目的是什么?
  • 方向问题
    • 你应该有自己的主见,在方向问题上其实只有你才是执行者。
    • 如果你觉得XXX方向一定比YYY方向好,请再次查询『偏序』。
  • 刻板印象
    • 程序员的笑话这类的东西,最终都是很低俗的。
    • 女生就学不好计算机是刻板印象。
    • 程序员猝死多是刻板印象。
    • 程序员木讷是有恶意的刻板印象。
    • ……
  • 生产者和消费者
    • 热衷于消费没有错,但生产者不是更好玩点么?
    • 消费者是猪。这句话不是我说的。。。
  • 给迷茫新手的CS干货书单
    • 《SICP》
      • 能让你重新”正确”思考计算机科学、语言、抽象、函数式…诸多概念。
      • 它就是CS领域的『The Book』。
    • 《CSAPP》
      • 看似很厚,其实是最快的捷径。
      • 一本书顶5门课。
    • 《线性代数就应该这样学》
      • 书名已经解释了一切。
    • 《黑客与画家》
      • 黑客的黑不是说技术,而是思维。
    • 《暗时间》
      • 榜样的力量是无穷的。
    • 《人月神话》
      • 预言者的力量是无穷的。
      • 洞见太少了,所以才宝贵。
    • 《计算的本质》
      • 其实是讲计算理论的书。
    • 《程序员修炼之道》
      • 还是因为洞见太少了,所以才宝贵。
    • 《元素模式》
      • 《设计模式》解毒剂。
      • KISS才是王道好吧。
    • 《风格的要素》
      • 说英语的话,还是这本最解毒。
    • 《编程原本》
      • 真的要理解C++ STL,不如看作者怎么说的。