工具与语言的轮回

昨天写 40 个存储过程,越发意识到这个问题的严重.

要写很多存储过程,结构类似,毫无疑问,先做存储过程产生器,一次生成四个.速度快,代码规范.

回忆以前玩 VB 的时候,做控件要写很多无聊的Public Property...实现骨骼特性,当时 VB 提供了一个代码生成工具,可以方便的生成这种无聊代码,甚至还能模拟继承,学名叫映射,当然,逆向特性并不好. 机器生成代码固然速度快,但比起  vb.net 在语言级别实现继承二者优劣判若云泥.

记得 MASM 里有个工具,用来实现 OO 的汇编,谁会用它呢,不如用 C++. 也有人说用 C 模拟 OO,虽然我也有过这个想法,但是很明显,即使用良好的实现也是很不适用的.

工具生成代码操作便捷,例如将文件拖曳到文件夹,比之 move b/ a

但工具的长处也只适合表达简单事物,对于复杂事物,需要使用语言.例如批处理和 shell 脚本.

语言把动作变成可以理解的一句话.亦因此可以代替如代码产生器,代码向导之类的工具.

在 ejb 中实现一个 bean 最好借助 jbuilder 的向导,而在 .net 里,把一个方法变成 Web 方法只是简单的一个修饰.

在 c++ 要生成 COM 组件,将面对无法逃避的 com 迷宫,而在 VB 里,这些特性在语言上已经包装.

VB 用窗体设计器生成窗体,.net 里生成的是可以理解的代码。在网页里可以通过标记来做到。标记是语言级别的,可以无限增多,而 vb 的控件虽然可以动态增加,但用起来远不如标记顺手。

作为取代代码生成器的语言,它的作用即以语言的形式封装低层次的代码,这一点和简单的做个函数完全不同。

prolog 封装了递归和数据库,虽然现在没有大用,但我依然看好。

把语言变成混杂的脚本,像 ASP 一样,一段代码,一段生成代码的代码。所有 oop,or-map 窃以为都会被这个方式统一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值