烟台培训学校
烟台建筑培训
您当前的位置:主页 > 机械电子 > 机电资讯 >

烟台PLC培训|编程是一门艺术

时间:2014-02-05 10:20 来源:未知 点击:
只有大约5%的程序员能够在编写代码时创造出艺术。其他95%一定是为了取得成功的科学家,不是艺术家。 谈及艺术,人们自然会联想到美、技艺、灵感等词,但很少会把它和计算机编程
只有大约5%的程序员能够在编写代码时创造出艺术。其他95%一定是为了取得成功的科学家,不是艺术家。”
  谈及“艺术”,人们自然会联想到“美”、“技艺”、“灵感”等词,但很少会把它和“计算机编程”这听起来似乎无趣的词联系在一起。而Donald Knuth,《计算机编程的艺术》多卷书的作者,通过他的著作,成功地展现了计算机编程的艺术。随后他又在图灵奖演说[1]中对计算机编程的艺术做了科学地论述和诠释。他不是第一个这么做的人,但无疑他是最成功的一个。Guido van Rossum,Python的设计者,如是说:
“我同意Knuth对‘艺术’一词的定义(或使用)。对于我来说,它和创造性联系十分紧密,而这对于我的工作非常重要。如果(计算机编程)其中没有艺术,它将没有任何乐趣,而我也不会在30年之后仍然从事它。”
  编写优美的程序需要灵感和高超的技巧,就像诗人写诗,画家作画,建筑师构筑,充满了乐趣、挑战和美。优雅的程序会像诗歌一样耐人寻味,像名画那样大开眼界,像教堂一样堂皇华丽。所以,计算机编程也同样是一门艺术,程序员就是创造这种艺术的艺术家。
  2. 编程之美
  什么样的程序才是美的程序?这个问题似乎没有完整的答案。一个很酷的Demo或一个很炫的视频游戏都能让我们赞叹不已。Doom和Half Life可以说把3D技术推向了极至,这种程序总能给人一种视觉上的美,就像画家手中的美丽油画,只是程序员们的画布在电脑屏幕上,画笔是键盘。Linux也是一种美,一种开放的美,从Unix那里继承来的优雅的设计,强大的可移植性,丰富的工具,这让它看起来像优秀建筑师们设计的一座富丽堂皇的教堂。这些美是显而易见的。还有一种美,隐藏在程序背后,流动于源代码之中。什么又是美的代码呢?可能它们一看上去就很美。这里有一个惊人的宏定义的C代码集合[2]:允许程序建立常量,使它们看上去像是屏幕上的图形程序的自描述能力大大加强
这种只能在Usenet或混乱C代码竞赛中才能见到的代码虽然没有多少实际用处,但它的确能让我们感受到代码 —— 一堆有规则的符号 —— 也能创造出视觉上的美。也可能是程序使用的技巧 —— 算法很美,就像汉诺塔程序,快速排序程序,自然而然地使用递归让它们看起来很紧凑,易读,这当然也是一种美,是只有程序员才能体会到的美。还有一种美,深藏在代码之后,是程序的设计思想之美,一种需要领悟的美。Unix带给我们的不仅是它的强大功能,还有它那深邃的设计哲学[3]:
“小巧就是美的。”(Small is beautiful.)
“让每个程序都擅长做一件事。”(Make each program do one thing well. )
“一切都是文件。”(Everything is a file.)
“沉默是金。”(Silence is golden.)
“让操作系统内核小而轻巧。”(Make operating system kernels small and lightweight.)
  这些思想在Unix设计中不失为黄金法则。这种美将穿越时空,千古流传,让Unix不仅仅是一个优秀的操作系统,而成为一门计算机领域的哲学。
  人们都喜欢美的东西,程序员们更是珍视美的程序,我们把那些创造美好程序的人尊称为“黑客”。 Paul Graham认为黑客和画家很相似[4]:
黑客和画家的共同之处是,他们都是创造者。和作曲家,建筑师,作家一样,黑客和画家尝试去做的也是创造好的东西。他们本身并不做研究,但是如果在创造好东西的过程中发现了一些新的技术,那就更好了。
  好的画家是艺术家,那么好的程序员——黑客——也是艺术家。这也就不难理解为什么很多Unix内核黑客都留着艺术家式的络腮胡了。
  3. 编程之巧
  灵巧的程序像含蓄的诗歌,需要仔细领悟,用心去体会,茅塞顿开后方能回味无穷。真乃“会当临绝顶,一览众山小”!同样是求pi,但是只有简单的四行C代码却能打印出pi的前800位的程序定会让我们大开眼界

会计开课

更多>>

电脑开课

更多>>

建筑开课

更多>>

外语开课

更多>>

Copyright © 2012烟台邦文教育   版权所有  鲁ICP备13018239号-2
关闭窗口
点击这里给我发消息 邦文-张老师
邦文--李老师
邦文--郭老师