为他人惠
最近业余在翻译一篇教程“Understanding Haskell Monads”,取得了原作者的同意后准备将其译为中文,现在是用xelatex排版的,放在了github里。对于没有TeX环境的同学,可以直接阅读生成的PDF文档(会不定期更新)。
本人对于翻译没有什么经验,特别是对于一些专业术语,踟蹰良久,自己重读的时候有些地方也感觉多少有点拗口。如果有表达不清楚或者不准确的地方,欢迎拍砖。
Let only that little be left of me whereby I may name thee my all.
最近业余在翻译一篇教程“Understanding Haskell Monads”,取得了原作者的同意后准备将其译为中文,现在是用xelatex排版的,放在了github里。对于没有TeX环境的同学,可以直接阅读生成的PDF文档(会不定期更新)。
本人对于翻译没有什么经验,特别是对于一些专业术语,踟蹰良久,自己重读的时候有些地方也感觉多少有点拗口。如果有表达不清楚或者不准确的地方,欢迎拍砖。
本文系为组内NewsLetter创刊所写,属于“Experience Sharing”一节。本文不算是个正儿八经的东西,缺了点插图,多了些罗嗦。
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”
– Brian Kernighan
So, what is debugging?
“The process of identifying divergences between the intent and the implementation is known as debugging. It is hard to do this if the intent is not known.”
– Robert Love, “Linux Kernel Development”
Among citations about debugging, the above two are my favorite. I myself learned the following lessons and glad to share with you.
Last but not least, I’d like to say that do NOT rely on debugging techniques! Instead, we should try the best to write comprehensive software and avoid debugging. Imagine you will never have a debugger and “always program as if the next person who will maintain your code was a psychopath killer that knows where you live”. I believe it will make you a better programmer!
标签: programming