七、摩尔定律就是胡扯
时间是挤出来的,我们需要挤时间学新东西和做其他事情。坚持锻炼,只要坚持就会有成果。我已经25了,之前因为懒惰4年考了3次研究生没能成功,现在要考虑结婚了,要是深造要考虑家庭经济压力和年龄。如果今年再考,硕士毕业29了,太晚了。Steve用不劳而获标准判断是否继续学业,我对这个标准深以为然。学习是很困难的,如果你觉得很简单,你肯定没有多努力。不去挑战自己做一些过去做不到的新事物,你是不可能提高自己的。运动和学习类似,我因为懒惰和雨季放弃跑步好几周了(其实我之前就为了祛痘、鼻炎和身体健康跑了几星期),要是每天都练到腰酸背痛,那就说明练好了。要想在学习、运动和编程上进步快一些,要想在任何一门领域里有所建树,需要交叉训练,我们要努力做一些自己不懂的东西,也就是走出舒适区。荒废时间比学习更让人痛苦,我们应该终身学习。
冯诺依曼也是经济学家,我就只是自学计算机的211本科非科班毕业生,我自考过西南财经的金融,还有1门没考,大三的时候放弃了。虽然作用不大,但是用了金钱和时间,有点可惜。我感觉不是专业毕业的人要是去搞这些专业领域容易变成民科。这里文章提到的阿波罗13号这部电影,有时间我会去看下,看译注很多商学院把这部电影作为管理学的案例分析。
程序员看重性能,但是不愿意学习,摩尔定律是不恰当的,我们要改变的是计算模型。这很难,有个First
Law of Holes,
意思是当发现自己处于不利地位或者没有前途的时候,应该立刻转换方向,不要死撑。这意味着很少有程序员有能力和意愿改变计算模型。我也像Steve一样,想去待遇好的地方,有优秀的同事、大牛一起推动行业发展。我的生活无趣了点,我想这也是相亲失败的原因之一,因为我比较无趣,女生都比较残忍,说话不留情面,毕竟是相亲,可以理解她们。我要花点时间在找乐子和陪家人上,努力不让自己的生活留下遗憾。
如果你想要上进的话,唯一要做的就是持之以恒。无论你想要提高自己的编程水平,还是数学水平,或者是健身,甚至是公开演讲。只要践踏实地,就能循序渐进。学习好处多多,但是要牺牲一些娱乐的时间,我们要选择怎么分配自己的时间,这是零和博弈。
八、重构
福勒的《重构》是本好书。我有时间也要读一下。
九、程序员的数学
合格的专业程序员其实并不需要掌握太多数学知识,甚至不需要懂编程。我们可以做项目管理、和人打交道、UI设计、技术写作等。程序员是需要数学的,数学还是很重要的。我们在学技术之余要慢慢累积数学知识,只要方法得当,自学速度会很快,学会后不容易忘,能让我们写出非常有趣的程序。代数肯定是要掌握的。解析几何也要稍微懂一点。这些知识很有用,只要几个月就能掌握。离散数学包含了很多计算机科学和计算机工程里“每天”都会用到的知识。概率论也很重要。我考研过计算机专业,我想除了政治,其他考试科目是计算机一定要掌握的,我还是要花时间掌握,只不过如果我不再准备读研可以更注重效率和实用性,毕竟没有人会考察我。微积分、代数、线性代数、统计、数理逻辑、信息论和柯氏复杂性也很重要。Steve认为学习数学的正确方法是先了解数学的各个领域和各种名词,先广度优先,而不是深度优先。我们可以每天花上15~30分钟浏览维基百科有关数学分支的文章,坚持几个月。我们会摸出一些门道,发现有些领域对自己很重要,就回去买书或下载教程来弄懂。至于习题,我们不必都要做习题,有必要的时候再做,觉得无聊就跳过去,学习速度会快很多,也有助于培养自信。坚持学数学会提升我们的逻辑推理能力,就像每天坚持健身会改善精气神。在一件事情上花了时间,总会有收获的。