在今年QCon北京大会上,来自支付宝的架构师蔡学镛为参会者分享了REBOL编程语言相关的主题讲座。对大多数开发者来说,在实际开发项目中选用REBOL语言目前并不算多,但REBOL语言却有着与生俱来的优势,能够帮助程序员得心应手的完成特定应用场景的开发工作。
REBOL是Lisp语言的替代品,由业界知名的操作系统和编程语言架构师Carl Sassenrath设计,是为分布式计算和通信量身打造的轻量级开发语言。REBOL完全能够胜任Lisp语言的应用场景,同时REBOL又打破了Lisp的局限。REBOL更类似于一般编程语言的表达方法,允许使用中缀运算符,且不需使用Lisp语言那样一对对嵌套的小括号来表示递归。REBOL语言具有统一的库函数,如REBOL/Core、REBOL/View、REBOL/Command、REBOL/SDK、REBOL/IOS等库函数,在图形界面、编程辅助、网络处理等方面提供丰富的支持。
REBOL的图形界面设计能力十分强大,通过简单的图形界面编程语句就可以完成图形界面的创建,并且图形界面的展示美观漂亮。同时REBOL内置了View Draw Dialect方言,帮助开发者以最简便的方式完成图形界面中元素的定制,同时可以根据开发者的需求进行方言的拓展,定义开发者需要的子语言。作为网络编程语言,REBOL在网络处理方面具备很强的能力,对于文件下载、网页抓取、邮件接收等操作,在REBOL中仅需几条语句即可完成操作。
对比REBOL语言,在动态语言中应用非常广泛的Python语言,具有完整的面向对像特性,语言简便易用,编写的程序非常优雅。从加快开发速度的角度考虑,能够代替C和Java语言完成工作任务,同时与C语言的沟通能力非常好,任何为C编写的接口能够很容易转化为Python接口。而REBOL是基于相关表达式的对象语言,REBOL被称作最接近人类语言的编程语言,有着自身的独特之处,能够方便的表示数据和元数据。REBOL的设计理念之一就是始终保持小巧,即便REBOL已内置了几十种数据类型和数百条函数,以及多种Internet协议、错误处理等内容,REBOL解释器仅有几百K大小,REBOL程序编写方便,在代码编写时程序不需要对库和包含做声明即可使用,帮助开发者以最精炼的语句实现应用。同时REBOL代码可以跨越几十种系统平台,在不同平台之间移植代码不需做任何改动。
需要强调的是,REBOL是商业公司产品,可以提供给开发者免费使用,但源代码并不开放,使用部分REBOL函数库如数据库连接库,需要支付额外的费用。但从另一个角度看,由公司维护的语言能够在最大程度上保证类库的统一,减少开发者额外的负担。
目前REBOL语言的解释器最新版本为R3 Alpha,在REBOL语言中文参考文档方面,蔡学镛和蔡民奎先生已经在网络整理了REBOL语言的中文参考文档,其中包含REBOL 3.0指南,REBOL内建函数,REBOL数据类型等不同的内容,感兴趣的开发者甚至可以加入其中,一同更新维护REBOL语言的中文资料。
本文曾发表于《程序员》杂志-2010年06期-“程序天下事”栏目。