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



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

  

user avatar   rednaxelafx 网友的相关建议: 
      

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

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

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

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

传送门:

第0回JVM源码阅读活动

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

后面

@叔度

的回答我也很认同 >_<

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




  

相关话题

  怎样评价《数码宝贝》第一部中的泉光子郎的编程水平? 
  程序员基础扎不扎实,对实际的开发工作有什么影响? 
  C#中关于List<T>和HashSet<T>应用的效率问题? 
  如何优雅地利用c++编程从1乘到20? 
  如何评价「线程的本质就是一个正在运行的函数」? 
  “C++”读作「C 加加」,为什么“C#”不能读作「C 井」呢? 
  为什么不能计算两次哈希,以及在什么情况下不能计算两次哈希? 
  从现在回首来看,「软件使用本机二进制代码分发」是不是一个错误? 
  身为程序员碰到最奇葩的需求是怎样的? 
  为什么 Linux 如此安全,却不把 Linux 设计成像 Windows 一样的图形界面来使用? 

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





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