从《凡人修仙传》到《三体》:顶尖程序员的“降维打击”与“法则”之力

本文永久链接 – https://tonybai.com/2025/10/24/from-fanren-to-three-body-top-programmers-power 大家好,我是Tony Bai。 在上篇文章中,我们论道了程序员的修仙境界。但一个更深层的问题随之而来:决定一个修士(程序员)最终高度的,究竟是什么?是掌握了更多华丽的“法术”(框架/工具),还是洞悉了其背后的“天地法则”(底层原理)? 在《凡人修仙传》的后期,韩天尊与道祖们的斗法,早已不是简单的法宝对轰,而是对时间、空间等“至尊法则”的掌控。谁对法则的理解更深,谁就能言出法随,改天换地。 ...

October 24, 2025 · 7 min · Tony Bai

致敬:程序员成长路上的良师与经典著作

本文永久链接 – https://tonybai.com/2024/09/10/programmer-mentors-and-their-classic-works 早上送孩子去幼儿园的路上,收到一个小伙伴的微信: 我这才意识到今天是教师节!为人师,自觉还不够格!但在这个特殊的日子,作为IT行业从业人员,我想向那些在计算机科学和编程领域给予我们启迪的“老师们”致敬。这些老师可能不是传统意义上站在讲台前的教育者,但他们通过自己的著作、思想和贡献,通过他们的智慧结晶,为我们指明了方向,为无数程序员的成长之路点亮了明灯。 ...

September 10, 2024 · 18 min · Tony Bai

Go编程语言与环境:万字长文复盘导致Go语言成功的那些设计决策[译]

本文永久链接 – https://tonybai.com/2022/05/04/the-paper-of-go-programming-language-and-environment 美国计算机学会通讯(Communications of the ACM)期刊2022年5月第65卷第5期将发表一篇有关Go语言的综述类Paper:《Go编程语言与环境》,这类综述类文章只有资深的Go核心团队的人才“有资格”写,该文的作者列表印证了这一点,他们是Russ Cox,Robert Griesemer,Rob Pike,Ian Lance Taylor和Ken Thompson,都是Go语言核心团队耳闻能详的人物。 ...

May 4, 2022 · 30 min · Tony Bai

聆听编程“古训”

市面上关于优秀编程风格和习惯养成的书籍还真不少,其中“叫好又叫座”的书诸如《代码大全》、《编程精粹:编写高质量C语言代码》、《编程匠艺》、《重构》以及《Clean Code》等。不过前些天我在网上下载了一本名为《The Elements of Programming Style》的电子书,看过此书后,我才知道开创编写优秀风格代码之路的鼻祖是谁(不知道是否还有比这本书更加古老的且系统地讲述优良编程元素的书籍了?)。 ...

May 10, 2011 · 3 min · Tony Bai

只对代码无法表达的东西写注释

本文翻译自”Comments Only What the Code Cannot Say“,来自于《程序员应该知道的97件事》一书中的某个章节。 我们知道理论与实践之间存在差异。在实践中,这个差异远大于其在理论中所描述的那样 – 一份对注释(comments)的观察数据也证实了这一点。理论上,通常的注释代码的想法听起来是值得的:它可以为读者提供更多的细节,可以解释发生了什么事情。有什么能比自我帮助更具可帮助性的呢?然而在实践中,注释却经常变成一个破坏因素。与其他书面形式一样,编写好的注释也是有技巧的。这个技巧的主要内容是知道何时不写注释。 ...

May 5, 2011 · 3 min · Tony Bai

使用正确的算法和数据结构

本文翻译自”Use the Right Algorithm and Data Structure“,来自于《程序员应该知道的97件事》一书中的某个章节。 一家拥有多个分行的大银行抱怨说他们为出纳员新买的计算机运行得太慢了。这件事儿发生在电子银行以及ATM机使用普及程度远不及现在的那个年代。人们更多的是亲自到银行办理业务,这些运行超慢的计算机使得大家排起了长队。因此,这家银行威胁计算机供货商要结束他们之间的供货合同。 ...

April 19, 2011 · 3 min · Tony Bai

查表法求解'自然数对'问题

‘自然数对’是这样的一对自然数,他们的和与差的结果都是平方数,比如:自然数对32和68,根据定义32+68 = 100 = 10^2,68-32 = 36 = 6^2。现在的题目是:根据输入的两个100以内的自然数,打印出这两个整数之间的所有自然数对。 ...

January 29, 2008 · 2 min · Tony Bai

三角形输出问题考量

相信很多人在初学某门计算机语言的时候都会做过类似的题目:在控制台上输出用特定字符’拼’出来的某种图形,比如下面的这种三角形: * *** ***** ******* ********* 这样的问题应该算是入门级的了,大多人都是看之,做之,忘之,而今天我就拿这种入门级的题目说事,小问题里也许内含有大道理。 ...

January 27, 2008 · 4 min · Tony Bai

挖掘一下C语言中的多维数组

好久没有看技术类的书籍了,今晚恰看到以前不知什么时候下到的一本oreilly的叫’mastering algorithms with c’的书,从书名可以看出这是一本讲算法的书,不过由于是选用了C语言作为讲解语言,所以难免不说说C语言。其中看到一节讲指针和数组,恰好碰到书中说: a[i][j] <=> *(*(a+i) + j),这个等价式看起来显而易见,但是还是有些东西值得挖掘一下的。 ...

November 29, 2006 · 3 min · Tony Bai

解决算法分析中递归问题的方法

当一个算法(如二分查找)中包含对自己的递归调用时,关于这个算法时间复杂性的分析最终都转化为一个递归方程的求解问题,而这样的算法不在少数。实际上这是数学领域的问题,但是计算机科学又怎么能脱离数学而存在呢?^_^ 数学是好东西呀,可惜自己在这方面造诣颇浅,今生之遗憾亚。^_^ ...

June 21, 2006 · 5 min · Tony Bai