⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hnxxcxg编程之禅.txt

📁 f your application uses MFC in a shared DLL, and your application is in a language other than the
💻 TXT
字号:
毫无疑问,古老的编程艺术在西文人的脑海里通常会被误解,现代的观点则认为
这是一种工程学、机械论和唯物论。

许多人认为,编程仅是为了达到一个目的而使用的一种手段,而且,一个程序(及
程序员)只能依据其赚钱的能力来评价。

这些原始的错觉,来自于对编程的真正意图的一种很深的误解。

高超的程序员并非致力于表面的成功,而是在人机之间寻找一种神秘的存在。
根据禅的解释,在硬件、软件、固件、界面和理解之间没有分界--相反,所有
这些都结合进了一个和谐的整体。

只有当程序员最终学会了将那种“自我自我的存在”的虚假感觉抛在一边,此种
境界才可能达到,而那种“自我的存在”的感觉往往伴随在我们大多数人的生活
之中。

这是计算机所带来的--禅师程序员的行为方式。

有人说,掌握了禅机的程序员也就掌握了生命。这样的程序员是以一种永不疲倦
的童稚的欢乐来看待这个世界的。

觉悟了的程序员,走在大街上也能感觉到两旁房子和大楼里面的电脑。
觉悟了的程序员,能够感觉和听到调制过的数据穿过电脑线时那种电流脉冲的持
续不断的嗡嗡声。

觉悟了的程序员已经与宇宙合为一体。

通过完成程序维护的工作来“学会这套系统”。

“你正在试图理解某种不可能被你的理性思维所理解的东西,”他说,“这样所
导致的结果必然是失败。你必须先清空你的大脑,只有那时,你才能开始领悟《编
码藏经》。”

那些大师对‘良好的程序设计惯例与规则’一无所
知,”师父说,他们努力去理解普遍意义上的计算机思维的内部活动,他们还需
要什么说明文档呢?那些程序是极限的表达。

然而,即使我慢慢开始有所领会,我还是感觉到自己像一只在琥珀在挣扎的小飞
虫。师父所讲的与我曾学过的东西截然不同,我的理性思维很难接受。但师父总
是耐心地一遍遍解释说,我必须不靠理性思维去推理,而要用潜意识来领悟《编
码藏经》的内涵。

最后,我终于明白,所有用我的理性思维去理解《编码藏经》的努力都是徒劳的,
这使我很绝望。师父觉察到了我思想上的这个变化,他开始向我传授开机。他教
给我冥想和查错的技巧,他说这些技巧是从计算机时代之初,由技术支持部一代
一代地传下来的。

我听着听着,开始意识到一个关于我以前的编程体验的特大事实。在大学里,我
一起认为程序员的工作主要是控制硬件和软件的活动,编程的最高艺术境界是,
为了完成一项任务或达到一个目标而成功地运用高超的编程技巧。但程序维护是
不同于程序开发的。要想维护一个程序,就要把程序看作是一棵渐渐成长的植物,
拔苗助长是毫无益处的。事实上,这样的行为更容易导致植物的死亡。一个程序
必须被小心地滋养。程序员在对程序进行改动之前,必须对每一个逻辑关系非常
熟悉,必须对程序的意图有很深刻的理解力。这种理解力不是在一夜之间就可以
得来的,需要长时间的积累。

好几个月以后,我终于能够给《编码藏经》成功地设计修补程序了,但设计之前
要经过长时间的冥想,还要把那本程序清单打开着支在我的桌子上。我还发现,
如果我工作的时侯点燃一支香,口中不停在重复师父教给我的口诀:
“Null-So-Stix-Etx-Eot”(ASCII 码表中头五个字节NUL、SOH、STX、ETX、EOT
的发音--译注),我更容易集中注意力。师父说,那个口诀意味着宇宙的“五
原”。

不久我发现我不再关心是否能为工作成绩而得到奖励了,在我自身和我所维护的
程序之间也看不见任何分离了。我像一个一生都活在阴影里的人一样,开始理解
编程之禅,这是一种隐于程序员设计背后的难以言喻和难以形容的力量,就像投
射影子的太阳一样。

从那毫无意义的“自我的存在”中摆脱出来后,我开始发觉,那些伟大的编程语
句过去对我来说似乎模糊不清,只是因为我还没有彻悟,无法理解它们。我现在
知道了为什么过去的那些程序员从不为他们的程序提供文档,因为英语语言的描
述本身更让人迷惑,而非使人受到启发。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -