百科问答小站 logo
百科问答小站 font logo



如何看待侯捷所说的「源码面前,了无秘密」? 第1页

  

user avatar   rednaxelafx 网友的相关建议: 
      

这不能脱离背景乱下结论。侯捷老师在他的源码剖析类书(例如《STL源码剖析》)里会写出这样的话,主要应该是为了鼓励读者从源码学习各种知识、内在机理,而不必畏惧规模比较大的源码的复杂度而不敢去读。

当然,从实操角度看,“只靠读源码来学习”通常不是特别有效的办法。侯捷老师想来也不是要忽悠大家光靠源码就能揣摩出所有知识,而是应该把它作为吸取知识和经验的一个途径。源码经常要处理些麻烦的现实问题从而掩盖了其原本的最主干的思路脉络。如果能结合论文、专业书籍学习相关理论知识再来读源码,想必能事半功倍。

如果硬啃源码但不理会其背后可能蕴含的理论基础,那很容易捡芝麻丢西瓜,只见树木不见森林,让“了无秘密”变成了一句空话。不幸的是这种情况也是常态…所以vc大大说“理论值”我觉得也对。

之前我组织过一次“JVM源码阅读活动”,但我那次实际上是建议大部分同学不要从源码入手学习JVM,原因正在此。

传送门:

第0回JVM源码阅读活动

另外如果遇到程序出现奇怪的行为想要去了解原因的话,那读读源码还是很有好处的。

后面

@叔度

的回答我也很认同 >_<

侯捷老师的这句话跟写程序不需要形式化证明完全没关系吧。不知道为啥后面有些回答会从这个角度切入。




  

相关话题

  请问目前做windows桌面应用程序,MFC、QT、C#哪个更好? 
  怎样成为全栈工程师(Full Stack Developer)? 
  学编程什么的需要专业版Windows吗? 
  为什么编程语言有各自的强项和弱项? 
  如何评价《太吾绘卷》的程序代码? 
  如何滴水不漏的学完C语言? 
  for(int i = 0; ; i++); printf("i love you"); 请问这条代码是什么意思,可以运行出什么结果? 
  面对很乱的代码,你会慢慢看,慢慢改,还是重写? 
  如何轻松阅读 GitHub 上的项目源码 ? 
  从语言设计的角度来看, Pascal 是一门优秀的语言吗? 

前一个讨论
为什么很多即时游戏的初始建造者总被称作农民?
下一个讨论
维珍航空种族歧视的结果到底是什么?





© 2024-11-23 - tinynew.org. All Rights Reserved.
© 2024-11-23 - tinynew.org. 保留所有权利