美丽的艺术
Saturday, March 17th, 2007想要说的不是什么绘画或者雕塑之类的传统艺术,而是如今计算机程序世界的重要一员:C++ — 美丽的艺术.
刚看完Effective C++,其实不能说是看完,因为我是听着音乐从头浏览到尾的,甚至没有写一行的Demo代码;之所以这么做是因为时间上不允许,如果说我现在坐在已经付完最后一期房贷的家里,想着下个带薪假期去那个国家旅行;或者说,我正在夜深人静的办公室里,独自对着几天后就要Deadline,但确隐藏着致命BUG的代码库发愁,那么,我可能会重新去把它研究一遍,研究一遍;但是现在,我只能大概看一下,让大脑有个影像;所以,我不能说我现在对C++有多深的理解,我现在只想表达对C++的一种敬仰之情,这也是我称C++为艺术的原因.
大凡学过C++的同志都会对C++有所抱怨,难学,晦涩…什么都有可能,当初我也是.可是,当我看完EC之后,我忽然觉得,C++的一切都是那么美丽.EC的作者Scott Meyers把我带入了C++的艺术殿堂,一睹了C++的精妙内涵.
其实很早以前就读过EC,那个时候刚接触C++,最多也就停留在OO的C++基础层次,甚至还会为种类繁多的构造函数调用次数冒冷汗,所以,那时读到第二章内存管理时就扛不住了…好的,STOP.从此对C++敬而远之,最多在大家讨论哪种语言好的时候,深沉地来一句:C++才是王道啊~~
的确,现在的我依然认为,C++是王道,只不过,以前那么认为是出于对C++的敬畏,一种对高高在上的神话的膜拜;现在,我不敢说我能拍着C++的肩膀说,嗨,道哥~~但是,至少我是站在一个业界一员的角度去思考这个问题的,C++的王道,体现在它的思想,体现在它的历史,体现在它影响了一代又一代的人,一代又一代的技术…
现在读EC,依旧会因为经验上的原因,对某些字句不甚理解,但是,至少很多方面,能够产生一些共鸣;更多的,是对C++这种语言所体现出来的一些思想的赞叹;C++的每一个特点都不是凭空而生的,相反,它们都有各自的历史,各自的挣扎;也许当我们在某天埋怨C++的编译器的时候,在另外一个平行世界,另一帮子鬼人正在为他们的C++因为没有这个特性而面临全面崩溃而痛苦万分;WHY?C++集结的不是一些人的智慧,而是一代又一代的人!
也许会有疑问从心里冒出来,其他语言难道不是么,那些现在流行的语言,一些天才发明的语言不是正在一步步蚕食这支离破碎的世界吗?呵呵,真的是这样的吗?
也许我们可以称他们为新的语言,但是我现在更原意称他们为C++的后代,改进以后,进化以后的后代;现代很多语言身上都有C++的影子,有C++的特性,也有为了改进C++作出的变异;甚至有些变得面目全非的语言,但是这些具备C++风格/C++思想的语言,都是C++精髓的体现~~
那C++呢?作为最原始的本体,C++本身也在进化,也在发展,与它的后代们竞争着;但是C++的设计初衷决定了,它有着不可替代的一面;任何事物的都没完美,我们要的,只是美丽~~一种可以独当一面的美丽,一种可以把各种艺术的美丽奉献给人们的美丽~~我不能放声大喊:Almighty C++,但是我可以喝着咖啡,静静地看着一行行代码,然后感慨:多美丽的设计…
不仅仅是C++本身,C++周围的事物也在烘托着C++,高效的标准库就是其中之一,我是从来没有怎么接触过这个家伙,但是,当我某一天看到它的一个设计,一个定义的时候,我不得不再次感慨,多美丽的设计…曾经,见识过的一些代码超出了我当时对C++和其标准库的设计理念的理解,现在回想一下,确实,自己在程序设计思想上还需要走很长很长的路,那种造诣不是听着音乐,喝着咖啡,写几个花里胡哨的Hello World就能得来的.
我还经常会把一句话挂在嘴边:数学是王道;或出于后悔,或出于敬仰;数学之于学术,C++之于程序,统治思想者,统治世界.C++正是一个这样的思想的体现者.给我一个机会,我会一头钻入C++的世界,无法自拔…
如果你喜欢上了什么,你会想要去了解他/她/它的历史.呵呵,我现在很想了解C++的历史,也许,抽空去会看看这本书: <The Design and Evolution of C++>. 呵呵,EC推荐的~~成为艺术的东西,值得去深入探寻,细细品味一番~~
