突然在电脑上发现自己很久以前写的《科学美学与审美创造》通识课的论文,于是发上来了,^_^

代码之美


摘要:作为一名刚入门不久的程序员,对代码有太多的不解和困惑,但也有太多的感触。代码之美,唯有心知;代码之美,源于简单;代码之美,无限可能。代码是程序员的独奏,凝聚着无限的意志力和创造力,奏出永恒的旋律。


关键词:代码之美;源于简单;意志力;创造力;永恒的旋律


似漫漫征途,半个世纪以来,代码发展至今已由如同象形文字般的纸孔设计到01机器指令序列、到能进行简单翻译的汇编伪指令集,到后来的结构化程序语言和如今的面向对象语言设计、脚本语言以及更多将来未知的代码语言,可谓层出不穷[1]。在如同物种优胜劣汰般的进化论法则下,代码也随着我们思想力、行动力的不断前进、不断升华。在代码之下,各种难题迎刃而解,无数美的图案应运而生。

代码之美,唯有心知


代码之美,是看似铅印的简单字母,却有一种美潜在其中。

虽然这美并不金玉其外,也绝非造型优雅,但却是从不同角度、不同深度,甚至于在转念的瞬间而闪过的想象之美。代码因为有了程序员的先天孕育和后天雕琢而变得丰美、变得千姿百态、变得珠圆玉润。

代码产生之前,是经反复地推敲、理解设计而成,在此过程中有很多冲动、茫然和冥思。如同一幅画,无论其美丑那都是旁人的评价,就作者而言,那是无论结果如何,都是他思想和奋斗的结晶。而这一份在心中印下的美是别人的批评无法抹去,也是别人的赞扬替代不了的。

代码雏形之后,要经过反复的修改测试,就像一座青铜雕像,在石膏模具完成之后,必然要经历一番千锤百炼、水深火热,才见得世人。程序员对代码品质的要求丝毫不比艺术家们来的少,且与艺术家们一样,程序员的灵魂也是他们的思想,若抛去了思想就如同无水之渊。与剪纸、泥塑一样,有多少不同风格的创作就有多少不同模式、形态、思路的代码,仿若是一座大大的花园中,开放着五颜六色的花。美的风景,潜在其中,唯有心知。


代码之美,源自简单


曾经听一位大师级的程序员这样称赞到,“我通过删除代码来实现功能的提升[2]。”而法国著名作家兼飞行家AntoinedeSaint-Exupéry的说法则更具代表性,“只有在不仅没有任何功能可以添加,而且也没有任何功能可以删除的情况下,设计师才能够认为自己的工作已臻完美[2]。”某些时候,在软件中根本就不存在最漂亮的代码,最漂亮的函数,或者最漂亮的程序[3]

寥寥几行,便能实现所有功能,这是程序员共同的希望。一如启发式搜索算法,一个启发式函数往往成了代码的点睛之笔。尽管深度优先和广度优先算法也能实现目标,却往往陷入了繁琐冗余的搜索瓶颈。“Helloworld”,代码自简单而生,也当由简单结束。代码简单,意味着运行速率的提升,意味着结构的清晰,意味着维护者的方便,也意味着程序员无限的创造力。曾听过这样一句话,“如果我有更多的时间,那么我给你写的信就会越短。”

代码之简单与艺术品的简单之美似乎有着异曲同工之妙。画家画漫画、速写,着墨极省俭,寥寥数笔,人或事物的特征形神兼备,跃然纸上;字字珠玑的唐诗宋词,无一不是简单之美的成功典范;名优品牌的商标设计,其构图、线条极其简单明了,大胆割舍一切不必要的枝节,总是给人留下过目难忘的视觉冲击力,达到“以少少许胜多多许”的审美效果[4]。高尔基曾说:“任何一朵花都不会因为多了一瓣显得更美丽。”程序之美,无所谓繁琐,一切源于简单。


代码之美,程序员的独奏


简单的代码,凝聚了了程序员无限的意志力和创造力。

那些简单的符号与代码,它们孕育在苦思冥想之中、生长于严谨的设计之下、绽放在千锤百炼的雕琢之后。可以说每一行都浸透着作者的深厚的思考,看似毫无血肉的行行代码便有了盎然生机。作者的思考便是代码的母体和起源,也许就是一个闪过的念头,却生发出许多思路。

当程序员作为一个设计者,在动工修建这座程序大厦之前,总是要细心研究:从实际出发、从需求开始、从框架着手……在这一个时期虽没有半字的代码产生,可正是这个阶段决定了代码的形状、姿态、性格、特征。方案中的的每一个细节都由程序员经过仔细推敲、慎重分析,程序员的创造力、意志力决定着代码生死存亡[5]

程序员思考的创造力越强,代码的生命力就越久;程序员的意志力越强,代码的体质就越壮。任凭风吹日晒,不会千疮百孔。在智慧的推动下、保护中,它们一天天成长。一如那可爱的小企鹅,自产生之初一路走来已过了近20个春秋,现在已经越发茁壮,红帽、FedoraUbuntuDebian,无不沉淀着程序员的意志力和创造力。

程序员在案头默默的编写着代码,一杯咖啡便已是月上柳梢头,这是属于程序员的独奏,优雅而空灵。


代码之美,无限可能


自代码产生伊始,就宣告了一个充满奇迹的时代的开始。

这是一个通过上网就能尽知天下事的时代。百度知道,再大的问题只要鼠标一点,便能迎刃而解;搜狐新浪,无论明星八卦还是时事要闻,都尽在掌握;人肉搜索,网络把草根团结起来,人人都是福尔摩斯。正如一句名言,“网络不仅知道你是一条狗,而且知道你是一条什么样的狗。”

这是一个充满娱乐与激情的时代。千千暴风,为我们带来一场一场的视听盛宴;dota征途,让我们在虚拟的世界团结互助;土豆优酷,使我们明白大千世界无奇不有;糯米团购,让我们便宜地享受各种美食;淘宝当当,让我们足不出户货比三家。正如一句名言,“代码编织的世界,多彩多姿。”

这是一个一根网线就能连起来的世界。腾讯QQ,无论她在天涯海角,我们一起畅谈天南地北;电子邮件,不必再去邮局,我们随时随地都能寄出自己的思念和牵挂;人人校内,尽管天各一方,我们写下一起走过的春夏秋冬与点点滴滴。正如一句名言,“网络让这个世界变得更小。”

代码在程序员的思绪中随风飘荡,时时碰出灵感的火花,一个个奇迹也在代码之下生根发芽。代码之美,无限可能。


代码之美,永恒的旋律


代码与一般的艺术创作不同,它并非让人看后就足矣,而是身负着作者寄予的厚望:让用户受益、让工作变得更轻松。这千行万行的代码在不同的机器、不同的系统、不同的行业上日以继夜地运转着,感悟当我们在咖啡馆里轻松地与朋友喝茶聊天,当我们在书房享受散文诗歌的魅力时,计算机程序已为我们备好第二天要汇总的大量数据、各种家电芯片中的固化程序已帮我们处理好那些繁重的家务。但我们仍不能因为重视功能、效果而忽略代码作为我们思想行动的延伸而产生的美。

程序员绝非是为了某个项目而存在的职业,而是赋予了创造美的生涯。在每个程序员的眼中,那些别人看来乏味难懂的代码,却是闪耀在思想银河之中的点点繁星。也许,到了匮乏精力、体力不支的时候,无法再为自己的一次冲动或某个灵机一闪,而写出隽秀的程序。但在回忆之时,也会有泉涌般的感动:感动在那个深夜的灯下执著地书写、感动在那瑟瑟的寒风中痴迷地思考、感动在看到那些你多少个日夜拼搏出来的代码在为他人默默地工作、感动在于千头万绪的苦思之后终于看到曙光……

代码之美,在于那昙花一现的灵感,也在于灯光下摇曳的执着。一曲独奏,终成永恒的旋律。


每当我写完一段复杂的程序,就会有一种众里寻他千百度的感受;当看到那灯火阑珊处的人时,却又如张爱玲所言“原来你也在这里”;而当我完成一个软件项目,就如同走过一段人生的荆棘之路,有一种苦与乐相互搀扶的体会。

我只是一个普普通通的程序员,一个刚入门不久的程序员。与代码为伴,我变得执着与感恩:执著在这无尽的思想疆域,用每一行代码实现自己人生的价值;感恩于这小小的代码,能让我把所想所愿发挥得淋漓尽致。

参考文献:

[1]赵建军.代码形式:技术美学探索的新途径[J].临沂师专学报,1995,(04)

[2]倪健编.简单之美—软件开发时间者的思考[M].北京:机械工业出版社,2010

[3]AndyOram,Grey Wilson著.代码之美[M].BC Froup译.北京:机械工业出版社,2010

[4]宗白华编.美学散步[M].上海:上海人民出版社,2009

[5]《编程之美》小组.编程之美:微软技术面试心得[M].北京:电子工业出版社,2008


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值