我不知道大家如何定义程序员这个工作,在我看来,在某种意义上,程序员和艺术家们具有相同之处,我们都是创作者,和诗人、画家、作家等等这些职业相近,我们都在试图创作出优秀的作品,我们借助编程语言来重构我们对这个世界的认识、借助抽象的概念来创造这个世界上不存在的东西,所以我们对自由和创造的渴望,来源自我们在这个世界上写下的第一行代码,或许这像是一个充满理想主义的臆想,可这并不重要,重要的是你如何看待这个世界、如何看待你自己,我更喜欢将程序员视为造梦者,就像每一个孩子在搭积木的时候,都有一个建筑师的梦一样,你可以选择让代码简洁、优雅,你同样选择让代码肮脏、丑陋,你相信什么,你执着什么,它就会是什么,所以为什么不给我们自己更多创造的机会。
在这个世界上,伟大的艺术家都是孤独的。从梵高那忧郁而狂野的绘画作品,到永远如童话王国里天真孩子一般的顾城……或许这种与生俱来的孤独感会成为一种宿命般的诅咒吧!程序员同样是孤独的,虽然我们今天的现代文明,高度依赖着程序员们创作的各种程序代码,可程序员就像一个被隐藏在幕后的魔术师,永远被人们忽略甚至是遗忘,同样地,程序代码和程序员一样孤独,当一段代码经过链接和编译,然后转化为可执行程序以后,没有人会再记得它们的样子,这种感觉就像人们需要你,可是人们从来不想了解你,而这种孤独会从心灵上摧毁一个人。“古来圣贤皆寂寞,唯有饮者留其名”,这种感悟在司马迁的《报任安书》里表现得更加玲离尽致:盖文王拘而演周易;仲尼厄而作春秋;屈原放逐,乃赋离骚;左丘失明,厥有国语;孙子膑脚,兵法修列;不韦迁蜀,世传吕览;韩非囚秦,孤愤说难;诗三百篇,大抵圣贤发奋之所为作也。
所以,我希望,程序员能够将每一行代码,都当做诗歌一样的艺术品,你必须在字里行间折射出明显的个人气质。在这个世界上,没有人会真正在乎这些代码是什么样子,因为人们需要的是一个可以对自己有用的东西,而对于它到底是什么永远没有人关心。我们整天面对着冷冰冰地液晶屏幕,所以我们理所当然地认为这些数字设备、应用程序都没有感情,它们就应该是被我们人类无情嘲弄的数字化工具。可讽刺的是,在一种称为手机的移动设备中,我们所有人的秘密都隐藏在这个我们不愿意去理解的东西里,这就相当于我们将我们的秘密,交给一个我们不愿意去深入了解的人一样,而仅仅是因为我们需要这样的一个人。这听起来像个笑话,所以,我们所有的努力,都是为了让这些代码,看起来不再那么孤独,你可以让它们成为你在这个世界上的烙印,你可以使用注释帮助人类理解代码、理解你自己,你可以创造出一种无限接近真相或者真理的信仰,你可以通过这一行行代码影响历史或者生活,我们不是仅仅为了活着。
乔布斯曾经引用毕加索的名言:优秀的艺术家复制,伟大的艺术家偷窃,并以此作为理由对施乐公司进行了疯狂的“盗窃”,乔布斯身上最让我着迷的是那灵魂深处那种艺术家的气质,他始终相信任何产品都应该是人的一种自然延伸,而正是这种对质量、理想和心灵的专注,让苹果公司的产品在设计和品味上显得与众不同。在麦金塔电脑这个项目上,他对完美的极致追求,让他对艺术和设计的那种天性得到释放,可与此同时他被斯卡利排挤出苹果公司,或许在这个以成败论英雄的时代,乔布斯是一个失败者,可这个世界依然需要理想主义,多年后,当人们提到苹果电脑总会不由自主地想到 Mac 这个品牌,我想说这是理想主义的胜利。
天才与普通人的区别在于,他们会做出在我们普通人眼中显得“疯狂”的事情,在电影《乔布斯》的结尾,乔布斯说:“只有疯狂到相信自己能改变世界的人,才能真正改变世界”,而这里对天才的定义是什么呢?他们特立独行、桀骜不驯、麻烦制造者,他们是格格不入的一群人,习惯用不同眼光看事情的人,不受规则约束的人,对既成事实不屑一顾的人,你可以引用他们,亦可反驳他们,或赞颂或诋毁他们,你唯一做不到的就是忽视他们,因为他们带来变革,他们推动人类向前,或许有些人将他们视作疯子,而我们将其视为天才。对大部分而言,我们都是普通人,可这并不代表我们就要停止努力,因为大部分的努力都尚未达到拼天赋的程度,何况我们可能连天赋都没有呢?
这意味着我们需要去做些疯狂的事情,我们追求极致和完美,是因为我们想在这个世界上,留下属于我们自己的印记,没有人会明白,为什么乔布斯天生就有一种想要和 IBM 抗衡的想法,这种想法促成了让人们印象深刻的"1984"广告,其创意来自乔治·奥威尔的小说《一九八四》,并借助小说中的“大佬”映射当时的蓝色巨人 IBM,这个举动让苹果公司、让 Mac 成为人们心中理想主义的化身,这个举动相当地疯狂,不是吗?甚至在《硅谷传奇》这部电影中,这种疯狂被表现得更加淋漓尽致:我们正在创造一个新的信仰,你应该这样来认识,像艺术家或者诗人一样,我们正通过我们的所作所为,重写人类思想的历史。所以,当我们极力追求代码的优雅、性能的出众以及架构的良好,这一切都是因为我们想要做些,真正可以让我们在乎的事情。因为我们的生活常常被需求和问题左右,如果我们都不在乎我们所做的事情,我相信这个世界上不会有第二个人更加在乎。
天才在某种意义上来讲是孤独的,因为天才的想法,注定会超越时间和空间。古往今来,无数仁人志士,为这个世界所付诸的努力,其实都是为了帮助我们更好的认识这个世界而已。遥想太古时期,在这个世界上尚流传着诸神创造世界的传说,地球上或许还没有人类出现,最早的古猿还没有学会直立行走,这段时间对我们人类来说非常漫长,可它对整个宇宙、整个地球来讲,或许是短暂到可以忽略的一段时间,甚至当我们将视野放大到整个宇宙的时候,我们可能会突然意识到,我们所处的世界,可能仅仅是宇宙中的时光,曾经驻足过的,一个小城镇,因此我们对这个世界既熟悉又陌生,所以我们有什么理由不去发现更多的事情呢?对这个世界永远保留好奇心,是天才的基本要求,我们必须认识到,相对整个宇宙,我们每个人都显得狭隘而无知,所以我们有什么理由不去探索这个陌生的世界呢?我们目前所处的这个时代,大量的开源项目和第三方 SDK,为我们提供了前人所不能想象的丰富的资源,无疑我们是幸福的,我们仅仅需要再努力一点。
一位同事给我推荐了《模仿游戏》这个电影,在此之前我对图灵这个人物的了解,无外乎他对整个计算机行业做出的革命性的贡献,以及他像谜一样的人生经历,可是通过这部电影,我看到的是一种天才般的疯狂和执著,图灵在被通知去接受破解德国加密装置“恩尼格玛”的任务时,军方对其进行了一个简单的面试,在面试中我们发现图灵或许不懂得什么是幽默,这种被我们称为“书呆子”的性格,在实际生活中是不讨喜的,在《黑客与画家》中作者明确地指出,“书呆子”不受欢迎是因为他们比普通人聪明,可是图灵很快就能发现,团队中有哪些人是不合格的解密者,而在这个过程中他因为不太懂得如何和别人相处,而被团队里的成员指责和谩骂,可他从来没有放弃过制造他的机器,而最终的结果的确是依靠他的机器计算出来的,天才的孤独在于常常不被常人理解,可是当图灵被强迫关闭他的机器的时候,团队中的成员愿意站在这一边,这一幕是让我感受到温情存在的,而这一切来自一个走进他生命中的女孩子:琼。
或许我们普通人穷尽一生都无法达到天才的万分之一,甚至有人想要告诫我,不要在一件事情上投入大量的热情,因为我们都期望获得成功,可现实难免会在这个时刻,无情地为我们浇下一盆凉水,这种感觉就像你对一个女孩子投入了大量感情,结果最后被她伤心到心灰意冷……可是人生其实本来是没有意义的,你从出生到走向死亡早已安排好,你需要做的就是“重写”这个过程,所以我们来到这个世界上,无非是想要认识些有趣的人、经历些有趣的事情,所以如果你对一件事情的成与败、一件东西得与失,都能做到坦然处之,或许你就不会再畏惧失败,当我们不再愿意为一件事情投入热情的时候,其实我们已经习惯了为自己的懒惰找到一个借口,你必须要相信你做的事情是最正确的事情,你必须要有一种敢于突破自我的激情,否则你注定只能做出平庸而普通的产品。如果我们不能比别人做得更好,那么就努力和别人做得不同;如果我们可以和别人做得不同,那么就努力比别人做得更好,即使普通如你我一般的人,我们依然可以选择像天才一样疯狂。
在《模仿游戏》里,艾伦的“初恋”克里斯托弗告诉他,有时候正是人们以为的无用之人,成就了无人感想之事。同样地,在劝说琼参与到解密工作中时,他同样对琼说出了这句话,或许是因为琼因为迟到而无法参加测试时,她说的一句漫不经心的话“你凭什么认为我自己不可以解决呢”,让图灵想到了自己,所以他破例让迟到的琼参加测试,虽然图灵是一个同性恋,可他和琼两个人的感情依然让人动容,即使两个人都不是完美的彼此,即使他们按照各自不同的生活方式生活,可他们同样能按照各自不同的方式去爱对方,在这种情形下,世俗中理解的爱是否会显得平淡无奇?图灵的死亡,在我看来是一个国家甚至整个世界的巨大损失,从伽利略、布鲁诺再到图灵,在这个世界上人类自以为是地创造了各种“教条”,并以此来伤害这些本应该在历史中绽放异彩的天才们,图灵提出的“图灵测试”是人工智能领域的一个重要概念,而计算机领域最高的奖项以他的名字定义,甚至英国女王都曾经公开为其恢复名誉,所以同样都是活着,为什么我们不能给自己一种新的选择?
或许你我的努力不会为人们所歌颂,或许你我的坚持不会为人们所理解,可我们来到这个世界,就是为了给这个世界留下我们的印记,不然我们来这里做什么呢?因为你要相信,你学过的每一样东西,你遭受过的每一次苦难,都会在你一生中的某个时刻派上用场。其实你我的生命都很短暂,我们没有多少时间值得去浪费。像诗人一样睿智,去了解我们的生活;像天才一样疯狂,去掌控我们的生活。