主题:【原创】浏览器是怎么变成操作系统的 -- 美人他爹
当年学SQL的时候,就觉得这个语言,怎么那么怪异呢?要说我也不怕学语言,当年C语言还是我大学里面唯一一个满分的科目呢。后来自学的C++,以及Pascal的新马甲Delphi,汇编,VB,Java,php, Javascript,Python。这些家伙,一个个都是换汤不换药,用图灵机的模型一套,全部现了原型。你面向对象也好,你内存管理也罢,都是图灵机的一种描述方式:对某个数据进行操作,然后放到某个存储单位里面去。唯一不同的是这个数组,是一组数据,但是放到循环里面一看,还是对某个数据的操作。不过,循环貌似是图灵先生心口永远的痛,这个图灵停机问题,要是没有循环,就解决了一大半,只要把往回跳的goto都挑出来就可以了嘛。且慢,goto?循环不就是一种守规矩的goto吗?
可是SQL和各种语言都不一样。当年学SQL的时候,我正好知道已经保研,整天琢磨着多和老婆溜溜弯,对这种样子怪异的语言,我压根没怎么上心。
你看,这种语言首先操作的,都是数据集合。这首先就让人很心烦,哪有上来一个变量就是一个不定长数组的?而且操作的结果也是集合,从一个table,到另外一个view...
其次,这个语言,根本不关心底层的实现,到底这些数据是怎么放的?多大?多少bits?什么编码方式?都不说,听着就让人不放心。
第三,这个语言的操作对象的类型是什么?没有定义,只是一个简单的table。只要这个table里面有相应的column,就可以操作。至于是不是多一column少俩column,SQL大多数时候都不在乎。其实呢,仔细想想,这个table也是不需要的,对大多数select语句来说,这个table如果换成一个集合里面的数据,而这些数据,尽管参差不齐,但是只要都有这个SQL语句里面用到的property,那么就都可以处理。
最让人不满意的是:这个语言大多数时候是不需要循环的。虽然现在SQL已经有各种支持循环的版本,但是怎么看怎么觉得那些都是C语言的入侵,和SQL本身的风格不同。没有循环?或许图灵先生会喜欢吧,这样写出来的东西,肯定能把活儿干完,不用担心停机问题。
总之,这个语言,怎么看怎么不鸟机器硬件。它,貌似只关心数据,一堆一堆的数据。
- 相关回复 上下关系8
🙂你把日常应用软件简单到傻瓜型。 三力思 字200 2009-08-04 19:43:44
🙂这个没有什么新鲜的,但是x-window败了 2 Sandmann 字170 2009-08-04 17:22:30
🙂使UI开发变为写字符流 4 美人他爹 字239 2009-08-04 07:16:48
🙂【番外】怪异的SQL
🙂和SQL有关系地 贱猫一只 字173 2009-08-05 15:52:15
🙂SQL仅是一个集合操纵工具 3 代码ABC 字234 2009-08-02 08:54:26
🙂疯狂的SQL 3 邓侃 字421 2009-08-03 06:20:00
🙂有些像表中套表的复杂查询,不用SQL恐难完成 2 瓦斯 字319 2009-08-03 08:06:15