技术是怎样变得丑陋的——转自 gaobo 主页
技术是怎样变得丑陋的
最近花了一些精力在做页面上,体会到了一点有关技术演化过程的感觉。
大概HTML可以视作“最原生”的一种描述性语言了,虽然和C还不能比,但是只要想想一个空荡荡的页面就能够这样,你写几行,上面就多显示几行;你加一些控制的tags,就可以实现各种字体的变化以及版式的变化,一切看起来都很良性的发展。其实搞计算机的人都有一毛病,就是喜欢看到自己用高层的、机械的指令被转化成实际的动作,比如图形的显示或是外设的运动。尽管我们只要稍微动一下脑子就可以想到,写的代码就是再牛,也还是遵循一定的协议来驱动最终的物理层。说到底,不过是达到了无数早已安排好的状态中的一个。
但是人的控制欲望是比较有趣儿的,他们不希望有自己被协议控制的感觉,而希望跳开那个圈子。于是,HTML就引入了表单元素。有了表单元素,就有了根据内容编程的需要。然后,Java Script就来了,于是,每个tag都需要有自己的名字,才能作对象标识(Object Identity)。但这样还不够,HTML写的页面,全是一成不变的,这样怎么能满足根据提交结果动态生成的需要?再来个CGI。CGI还不行啊,这种架构返回的页面都是在服务器端计算,这样的话,服务器的负担太重了。嗯,再搞个分布式的计算环境。但数据呢?数据哪里去取?上个DBMS吧。好家伙,这么一来,好端端的技术,被加上了如此之多的负累。每一种新加的服务,都有数个协议,数十个标准,数百个规范,数千个语法,数万个争论。就是这种无奈的状态,把那些黑人骗钱的狗屁培训机构养得肥肥的。剥去这些美丽的(美个屁啊)外衣,里面是个非常轻巧、完备而又高效的HTML内核。每一种附加的东西,最后都必须落实到这个层面,才能完成页面的显示这么一个终极的目标。不过,想压抑自己的这种拓宽的欲望,真是着实不易,我已经说过,自己用NOTEPAD来写全部的页面。我现在做到了,以后也一定会做到。但是,昨天还是忍不住往MENU.HTML中加了一批<select>,加完以后,为了响应它,又不得不加了几个事件——什么onclick和onchange。总之,“纯文本”的希望,又破灭了。
其实,数学、物理学及至一切的应用科学,又何尝不是如此。你随便拿一本数学或是物理学的文献,翻到最后面看,你都会发现脑子要炸开:一堆精灵古怪的丑陋符号充斥着一页又一页。这个时候,最聪明的办法就是把每个术语和符号往前推,看看到底是什么,把美妙的Dirichlet引理、Maxwell方程组变成了这个样子。是人的控制欲望,把技术变得丑陋不堪。所以如果你想知道一门技术科学的事,请搞清楚人们想要控制些什么,为了达到这些目的,他们对最初的美妙版图作了哪些蹂躏。最重要的是,只要你把最初的那个核心搞得非常明白,再怎么变化,你的心中都会有一要主线在牢牢地牵引着,不会陷入细节不能自拔。这就是中国古话里所讲的,“万变不离其宗”。