免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4416 | 回复: 18
打印 上一主题 下一主题

技术!不是艺术!(原创) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-16 18:50 |只看该作者 |倒序浏览
技术,不是艺术!

前几天刚刚买了一本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!他开始他的实践了!也许他是个奇才,他搞出了与门、或门、非门……他制作出了加法机,他弄出了减法机……但是当他不断的实践之后,发现他所作的很多工作前人都已经做过了……

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

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

你觉得哪个选择更好呢?

论坛徽章:
0
2 [报告]
发表于 2004-05-16 19:51 |只看该作者

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

有道理

论坛徽章:
0
3 [报告]
发表于 2004-05-21 22:48 |只看该作者

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

有时候思想比技术更值得学习!

古人云:听君一席话,胜读十年书!

论坛徽章:
0
4 [报告]
发表于 2004-06-01 09:01 |只看该作者

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

套用一句古人说的话“记得旧文章,便是新才子”,还有就是一位大师级的工程师(名字我不记得了)说过的话,大概是这意思:精通旧的技术,你就可以领悟新的技术了!

论坛徽章:
0
5 [报告]
发表于 2004-06-11 01:00 |只看该作者

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

成熟的图像处理,或完整意义上的处理是

技术+艺术。编导和编辑最终是要统一的。

论坛徽章:
0
6 [报告]
发表于 2004-06-11 02:58 |只看该作者

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

忘了,作者是原创啊,

支持加精。

论坛徽章:
0
7 [报告]
发表于 2004-06-12 21:29 |只看该作者

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

支持大家参与讨论

不过我个人的意见,和楼主的想法并不完全一样

同意标题:是技术,不是艺术~

不过我更喜欢吧技术当作技艺来做

技术是生硬的,~ 带着点感性的艺术来欣赏完善技术~ 可以使技术更加人性化

论坛徽章:
0
8 [报告]
发表于 2004-06-13 23:18 |只看该作者

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

创新是最大收获

论坛徽章:
0
9 [报告]
发表于 2004-06-25 13:58 |只看该作者

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

呵呵,Pete McBreen说软件是工艺,所以,偶认为软件既是技术,又是艺术!!!

论坛徽章:
0
10 [报告]
发表于 2004-06-26 10:07 |只看该作者

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

大家境界都好高啊,偶觉得软件就是……饭碗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP