乐趣比知识更重要

时间:2021-07-24 11:20:44

乐趣比知识更重要

gigix说:像SICP或者Code Complete这样的书,读了之后常常会让人失去这种弥足珍贵的乐趣,所以还是不要读了的好。(某些人会道貌岸然地说读这些书是为了明白编程的基本常 识,然则所谓基本常识与发明概念的乐趣相比孰轻孰重,莫不是个如人饮水冷暖自知的问题么?所以概念的乐趣就这样继续延伸下去吧。)

 

对以上的观点,我深以为然。不但读书如此,其它方面也是如此。不少人都有这样的感慨,如果当时我已经知道有了XX,就决不会去把YY开发出来。这是我深有体会的,当我对一些开源项目了解很少时,常常开发一些小软件出来玩,不管这些软件的价值如何,开发过程中的乐趣是无穷的,因为我觉得在做一件创新的事。

 

某天有了个想法,你觉得它非常新颖,你甚至要为之欢呼。你毫不迟疑,马上动手去做,而当你刚刚做了一半时,你发现gnu或者sourceforge上早已经类似的项目存在了,而且做得非常的棒。最痛苦的事莫过于此了。

 

几年前,因为要研究一些二进制文件的格式,当时突发奇想,要开发一个通用的二进制编辑工具,我把它取名BinaryInsight。一般的二进制文件都是有格式的,我定义了一种叫BDL(二进制描述语言)的语言,用它来描述二进制文件,根据这个描述可以把二进制文件结构化的展现出来,比如用树形结构显示出来,这样编辑起来就方便多了。

 

花了近一个月时间去实现,BDL的解析和二进制数据到树形结构的转换,都已经完全了。在收集资料的过程中,我发现已经有好几个这样的工具存在了,就连winhex也带有类似的功能。这让我失去了继续做下去的激情。

 

前段时间写了一个gclassfactory的小工具,用它可以根据描述文件产生Gobject的代码。在实现gclassfactory的过程学到不少东西,对glib的对象机制也有了更深的认识。今天在gnu上瞎逛时,发现了一个叫GOB的东西,gclassfactory和它的功能相似,这个项目有了六年的历史,已经相当的完善。

 

暗自庆幸今天才发现GOB,否则我一定不会去实现gclassfactory的,也就不会有那些编程乐趣,也就不会学习到那些知识了。