天天看点

读《编程之道》-对于程序员的抽象描述

《编程之道》的第二篇是“古代的大师(The Ancient Masters)”,不知道悟道非常深的作者为何在编程大师的前面加上了个“古代”来修饰,我们知道计算机的发展历史并不长,用上“古代”似乎有点过火了,难道“古代的大师”和现在的大师有所不同?让我们看看作者所写的相当抽象的描述吧。

摘录如下:

“编程大师如是说:‘倘若三天不编程,生活将变得毫无意义。’”

这句话是开篇语,只是我不赞同作者的看法,因为我认为编程大师不一定要每天都编程写代码。真正的大师,已经在注重思想方面的了,他可以当架构师、设计师,怎么还会执着于写代码呢?虽然说编程可以将大师的思想表达、实现出来,但不编程也不至于“生活将变得毫无意义”呀。

此外,如果真如作者所说,连大师几天不编程都觉得不当的话,那是不是说明作为一名初学者更应该非常注重通过编程来逐步学习呢?嗯,也许这就是作者的隐含意思。

“2.2 计算机巨擘图灵曾经梦到他是一台机器。当他醒来时,他惊叹道:‘我不知道——我是梦到了自己是台机器的图灵,还是一台梦到了自己是图灵的机器?’”

不知这故事真或假,图灵用了相反的描述来说明自己做梦的事情。既然图灵都不知道自己是机器还是图灵自身,那么我们也没必要去追寻这个这么抽象的答案了。可以肯定的是,图灵几乎将自己与计算机融为一体了,就连思维也陷入进去了…

“2.3 一家大电脑公司的一名程序员参加了一次软件研讨会。他回来后向经理汇报说:‘为其他公司工作的那些程序员都是些什么人啊?他们行为拙劣,不顾及自己的仪表。他们头发又长又乱,衣服又皱又旧。他们闯进我们的会客组,还在我演讲时发出粗鲁的喧闹。’

经理说:‘我本不应该派你去参加这个会议,那些程序员是生活在物质世界之外的。他们认为生活是荒唐的,只是一种意外的巧合。他们来去自如。他们只为他们的程序而活着,无忧无虑地活着。为什么要用社会习俗来约束他们呢?他们活在此道之中。”

从上面程序员的反馈中我看到的是一位大公司的程序员只会挑剔其他公司程序员的不足之处,而没有从自身开始分析两者的不同,这是不是作者在说明:永远不要自以为是,正确看待自身以及他人才有利于我们彼此。

而从经理的回答中似乎可以看出,经理理解程序员各方面的特点,似乎在体谅程序员。但是,“生活在物质世界之外”“认为生活是荒唐的”“为程序而活着”是不是也在另一方面强调、讥讽了某些程序员的不恰当想法、做法呢?这个值得我思考一番。

最后,“为什么要用社会习俗来约束他们呢?”是不是表明了作者赞同只要一个人各尽其能、各得其所就不应该被社会所否定、批判?是因为这些程序员能够实现其自身价值吗?

“2.4 一位初学者问大师:‘有位程序员,从不构思、编写文档或测试他的程序,然而所有知道他的人都认为他是世界上最棒的程序员。这是为什么呢?’

大师回答说:‘那个人掌握了道。他不需要实现进行构思,当系统崩溃时,他不会因此而闷闷不乐,而是心平气和地接受整个事实。他还从编写程序说明文档的需要之中超脱了出来,不在意是否有人看他的编码。