QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 683|回复: 10

技术,不是艺术!(原创)

[复制链接]
发表于 2004-5-16 20:04:11 | 显示全部楼层 |阅读模式
技术,不是艺术!

前几天刚刚买了一本Eric S. Raymond所著的 "The Art of UNIX Programming"(中文名是《UNIX程序设计艺术》)。由于刚刚拿到手,所以还没有时间细细品味,不过,冲着Eric Raymond的大名,我有理由相信这本书一定会令我领会到UNIX下编程的艺术及其魅力。然而,虽然叫做“艺术”,但我默难认为还是有必要明确一下:

我们搞的是技术,不是艺术!

不久前跟一个网友聊天,聊的无非是些计算机方面的内容。他的确是个强人:

他句句都是特别有个性——不知道是他故意在我面前张扬个性呢,还是他本身就这样。

他一再强调所谓的“创新”,“打破传统”之类的理念。

他喜欢用BitTorrent诠释他的观点:“你看!在传统的理念中,一个服务器上用户越多,下载速度越慢;但是BT打破了这种传统观念,所以说我们不能墨守成规。”当我试图给他解释BT的原理时,他的回答是:“我不关心他的原理,我只是说这种理念”………………

他告诉我,他找到了一种新的解决汉诺塔问题(hanoi)的方法,可以在层数少于10的情况下,让时间复杂度和层数成一次函数增长…………

“我们的口号就是让不可能成为可能”……

然而可惜,他不会C,问他为什么不学C,他的回答是:

“我就是觉得c太没意思了。太基础太强大了。只要掌握了c就知道所有原理了。就没法创新了。就必须遵守计算机根本原则了。 ”

我狂晕!!!

面对这种话,我实在没话说了…………只好答道:“哦…………这样啊…………”。之后也就懒得再跟他说什么了…………

由于此人和我多少有些交情,我也就不方便说太多,只是…………如果他连BT的原理都不了解,就去尝试理解所谓的理念,实在是对BitTorrent的一种侮辱…………

另外,为了避免给大家留下错误的印象,我想我还是有必要说明一下他的话:

关于他所说的新的解决hanoi的方法,我没有问具体的算法——因为在我的头脑中,他所说的根本不可能实现。然而事后我又后怕起来:万一是我学艺不精,误人子弟怎么办?于是特意请教一位在中科院软件研究所的大虾,当我问完问题后,大虾高呼:你被猪亲啦!傻啦?!

看来要么是我和这位大虾都被猪亲了,要么就是我那位强网友被猪亲了…………(其实还有几种可能:我那位强网友改变了hanoi的玩法,或者他用另一种方式来计算时间复杂度)

近些年,在什么地方都大呼“创新”高谈“打破传统”,于是,大家明白了:靠!我们原来学的东西都没用啊!都得创新啊!得打破传统啊!得无招胜有招啊!要不然就没法发展了!!

创新?没错!我们的确需要创新!但是,我还是得发点杂音:大家能不能冷静点。我们搞得是技术,不是艺术!

艺术方面,似乎可以发挥的空间很大,你甚至可以在没有学过什么基本原理的情况下成为艺术方面的大家。如果艺术作品都像工厂流水线上的作品一样千篇一律,那么绝对不会有人喜欢的。

然而,技术却不同。技术领域,有众多的模式(Pattern)和原理可以遵循——这些模式都是经过千锤百炼,是前人总结的精髓。只有了解那些基本的理论思想才能有创新,换句话说,创新是要建立在传统之上的。

也许你会举出一些反例,最好的反例大概就是物理学领域的例子了:近代物理打破了经典物理中的牛顿三大定律,有了今日的成就。

然而试想:如果没有经典物理的基础,怎么可能会有近代物理的今天?如果爱因斯坦对经典物理一无所知,他能否获得诺贝尔奖,能否提出相对论?

如今,很多人在追求个性,追求创新,然而,不难发现,如今的创新,已经近乎到了要改变规律的地步。

如果从辨证唯物主义哲学的角度讲,世界是物质的,物质是变化的,而物质的变化是遵循一定规律的,规律是永远不会改变的。

我们人类的确是很伟大,但是依然没有能力去改变规律,我们所能作的,只是充分发挥主观能动性,去发现并利用规律,让它为我们人类服务。

BT也正是基于这种思想:看起来它似乎有悖常理,但是如果你了解到它的内部原理,你会发现:它依然没有改变规律,它只不过用了一个众所周知的道理:下载的人多了,资源也就多了,可利用的资源也自然多了,BT只是利用了这些以前没有利用到的资源。

也许我们人类起初认识到的规律是不正确或者不全面的(比如经典物理中的牛顿三大定律),之后我们又有了更深刻的认识,但是这并不是代表规律本身被改变了——规律永远是客观存在并不会改变的。

再回到计算机的话题之上。

好了!现在有个人,他不会任何编程语言,不知道windows的基本操作,UNIX/UNIX-like更是压根没听说过,他说他不学这些是怕这些东西影响他的思维,因为他要创新,要改变计算机界的思想,要改变计算机界的思维模式。OK!他开始他的实践了!也许他是个奇才,他搞出了与门、或门、非门……他制作出了加法机,他弄出了减法机……但是当他不断的实践之后,发现他所作的很多工作前人都已经做过了……

牛顿曾经说过,他能看的更远是因为他站在了巨人的肩膀上。没错,前人有大量的资料、理论、甚至经验、教训给我们学习,我们为什么不去了解呢?如果我们不了解这些,而是每天躺在床上高呼“创新”苦思冥想所谓的“新的思维模式”,这有意义吗?

你想写个编译器?好!你有两种选择:一种方法是苦思冥想,没日没夜的编码、测试,你希望找到一种新的思维方式,新的方法,新的思路——因为你要创新,你要与众不同。你认为你这是无招胜有招,你这是在搞艺术创作,你是怪才……另一种方法是找本编译原理,看完后去编码、测试……

你觉得哪个选择更好呢?
发表于 2004-5-16 20:16:01 | 显示全部楼层
呵呵。。。这其实就反应出了如今国人的一种心态:浮躁,没有人愿意埋首于研究、工作中,人人都想着如何才能既快速又不费力气地名利双收,唉。。。
回复

使用道具 举报

发表于 2004-5-16 23:06:10 | 显示全部楼层
“我就是觉得c太没意思了。太基础太强大了。只要掌握了c就知道所有原理了。就没法创新了。就必须遵守计算机根本原则了。 ”
的确会束缚人的相象力……

关于学习,我的风格是,每次遇到问题,我都先自己尝试着去解决它,只要花费的时间和经历是我可以承受的,那么即使我想出的是别人早就知道的,那么我也能获益非浅,因为不仅收获了知识,更收获了思考问题的能力,在我解决了问题或无法在有限的时间里没能解决问题后,我才会去寻找现有的方案,去学习。

然而真正关键的问题是:创新的动力是什么?前提条件是什么?
在人类彻底明白大脑的工作原理之前,恐怕无法给出令人满意的答案,但是我是这么相象的:
在面对一个问题的时候,有一种可能,就是大脑依靠大量的随机运算来产生一个可能的正确的答案,并把这个正确的答案检选出来,而且我猜测,在我们的大脑里,除了我们的自我意识的思考外,还有其他的思考过程,只是我们无法感知这个思维过程,因为它与我们的自我意识相对独立,但是在某些时候或状态下,这个平时我们无法感知的思维会把它的思维成果交给我们的自我意识,这时对我们的自我意识来说,就收获了一个似乎莫名其妙灵感或干脆就是一个完整的答案,我有过一些经历,那就是有时我在思考一些问题时,我似乎会突然得到一个答案,而且这个答案似乎并不是我之前的思考产生的。当然,这些都是我的猜测。
尽管目前我们不知道大脑思维的真正本质原理,但是我知道和创新有关的一些事情:
创新是相对的,是从未知到已知的一个过程。
创新的前提之一是发现问题,而发现一个以前没有人发现或没有人注意的问题,往往就能导致创新,而一切问题都是从客观世界里来的,因此创新的前提条件是对现有世界有足够的认识。
当然,创新的过程中,往往也需要一些已有经验的帮助,我们的现有经验将成为创新的工具,当然工具的局限性决定了这个工具所能完成的任务的局限性,不过,有的人被工具局限了而不自知,有的人却能发现这样的局限性然后进行创新并突破现有的局限性。
回复

使用道具 举报

发表于 2004-5-17 00:20:53 | 显示全部楼层

Re: 技术,不是艺术!(原创)

[quote:626b9a5653="默难"]

然而可惜,他不会C,问他为什么不学C,他的回答是:

“我就是觉得c太没意思了。太基础太强大了。只要掌握了c就知道所有原理了。就没法创新了。就必须遵守计算机根本原则了。 ”

我狂晕!!!
[/quote]

说的对。
记得在一次电视上看到一场蹊跷的官司。被告是一名幼教的老师,原告是一名孩子的母亲。母亲起诉这名教师的理由很简单:
就是这名教师在没有整得孩子母亲得同意前,而告知她得孩子。大海是蓝色得。
孩子得母亲听到这个消息后,非常生气,她对法官是这样说得:
老师告诉我得孩子大海是蓝色得。这样等于万全抹杀了我孩子得想象力,如果我得孩子失去了人基本得想象力,那么我得孩子以后将会怎样?
回复

使用道具 举报

发表于 2004-5-17 00:24:25 | 显示全部楼层

Re: 技术,不是艺术!(原创)

[quote:36c3823201="njue"][quote:36c3823201="默难"]

然而可惜,他不会C,问他为什么不学C,他的回答是:

“我就是觉得c太没意思了。太基础太强大了。只要掌握了c就知道所有原理了。就没法创新了。就必须遵守计算机根本原则了。 ”

我狂晕!!!
[/quote]

说的对。
记得在一次电视上看到一场蹊跷的官司。被告是一名幼教的老师,原告是一名孩子的母亲。母亲起诉这名教师的理由很简单:
就是这名教师在没有整得孩子母亲得同意前,而告知她得孩子。大海是蓝色得。
孩子得母亲听到这个消息后,非常生气,她对法官是这样说得:
老师告诉我得孩子大海是蓝色得。这样等于万全抹杀了我孩子得想象力,如果我得孩子失去了人基本得想象力,那么我得孩子以后将会怎样?[/quote]

这位母亲的说法是错的!
告诉孩子大海是蓝色的,这样是启发他们相象出一个蓝色的大海……
回复

使用道具 举报

发表于 2004-5-17 12:51:10 | 显示全部楼层

Re: 技术,不是艺术!(原创)

[quote:4a488df841="njue"][quote:4a488df841="默难"]

然而可惜,他不会C,问他为什么不学C,他的回答是:

“我就是觉得c太没意思了。太基础太强大了。只要掌握了c就知道所有原理了。就没法创新了。就必须遵守计算机根本原则了。 ”

我狂晕!!!
[/quote]

说的对。
记得在一次电视上看到一场蹊跷的官司。被告是一名幼教的老师,原告是一名孩子的母亲。母亲起诉这名教师的理由很简单:
就是这名教师在没有整得孩子母亲得同意前,而告知她得孩子。大海是蓝色得。
孩子得母亲听到这个消息后,非常生气,她对法官是这样说得:
老师告诉我得孩子大海是蓝色得。这样等于万全抹杀了我孩子得想象力,如果我得孩子失去了人基本得想象力,那么我得孩子以后将会怎样?[/quote]

那位母亲连最基本的哲学原理都不懂 ->物质决定意识
想象力是“意识”,物质是“大海”。没有大海,哪有有关大海的想象力?

再说,不能因为想象力就抹煞“现实”,因为大海呈现在眼前的就是蓝色。为什么是蓝色,就是物理问题。不说大海是蓝色的,本身是一种欺骗。难道欺骗不抹煞想象力?
回复

使用道具 举报

发表于 2004-5-17 15:45:09 | 显示全部楼层

Re: 技术,不是艺术!(原创)

[quote:29857bf1b0="lluct"]再说,不能因为想象力就抹煞“现实”,因为大海呈现在眼前的就是蓝色。为什么是蓝色,就是物理问题。不说大海是蓝色的,本身是一种欺骗。难道欺骗不抹煞想象力?[/quote]
注意到“大海是蓝色的”这个叫“洞察力”,是理科的内容。
想象到“大海是蓝色的”这个叫“相象力”,是文科的内容。

什么叫艺术?
艺术就是“物质不决定意识”。
回复

使用道具 举报

发表于 2004-5-17 23:08:59 | 显示全部楼层
我只会C(不会VB、VC、Delphi、Java),惭愧!时间和精力都不够去学。
回复

使用道具 举报

发表于 2004-5-18 01:16:35 | 显示全部楼层
我想是这样都的:
那位是这样想的:
就是不认同众人把大海的颜色属性默认的定义为“蓝色”值。她可能在想是否有种更加合适的属性值。例如,例如大海的颜色是“^&*(&”,对吧?!

你不要说,“可是,显示大海就是蓝色。或许,说每个人都这么说,那种颜色就是蓝色。”难道,多数人这么说,就是对的?或者说,是最合适的定义?
回复

使用道具 举报

发表于 2004-5-18 16:11:12 | 显示全部楼层
因为这位老师告诉他大海是蓝色的,所以这孩子成不了尼采成不了凡高,以后没机会割掉自己的耳朵然后自焚而死了,他就只能老老实实做个工程人员开发人员销售人员,就像我们这样的普通人。 这位母亲当然愤怒,居然剥夺了一个人将来神经失常的机会,太可恶!
这位母亲回去一定给孩子洗脑,然后告诉他,世界上根本没有海,没有陆地没有空气,什么都没有,然后看着这孩子成为空想之中的空想好了。
回复

使用道具 举报

发表于 2004-5-18 20:20:33 | 显示全部楼层

.............怎么跑到这里来了.....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 09:10 , Processed in 0.041376 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表