Simple is beautiful - 关于Lua

来源:互联网 发布:手机工程制图软件 编辑:程序博客网 时间:2024/05/22 03:25
2007-02-26 15:12

软件技术的发展一向百花齐放,最近的一个趋势就是动态语言的大肆流行,后知后觉如我,也开始被这股潮流所吸引,开始琢磨着是不是也学一门防身?

动态语言有许多种,例如Perl、PHP、Python、Ruby、Rebol、Lua等等,到底要学哪种委实有点费思量。经过网上的搜索以及1/4柱香的思考,我还是决定选择Lua。

Lua的设计理念,简单概括就是Simple is beautiful,这句话深得我心。其他动态语言,往往自成体统,拥有十分完善的功能,当然也带来了庞大的库。这对于一个新手而言,可能十分吸引,但对于一个已经在别的语言浸淫多年的老手而言,反而会觉得浪费精力,会有一种重复发明轮子的感觉。

而Lua却反其道而行之,她本身用纯C(Clean C)编写,跨平台没有任何问题。并且她的设计目标是当一门“胶水语言”,这是什么意思呢?

按照组件的观点,软件开发就是开发出一个个的组件,然后把它们用某个机制协调起来,使之成为一个整体,为客户提供必要的服务。Lua的想法就是组件用C/C++来开发,然后用Lua把这些组件“粘”在一起,进而成为一个系统。

如果你还不理解,想想大名鼎鼎的502胶水吧 :)

前面讲过,Lua并不追求大一统的功能,因为这无可避免会造成语言本身的膨胀。相反,Lua专门针对C/C++都不擅长的领域,与C/C++提供互补,并且提供了非常强大的互操作机制,不得不说这是非常高明的策略。

Lua专注的领域就是文本处理领域,这方面确实是C/C++的弱项。Lua的文本处理十分强大,这使得她成为一门配置语言。

Lua的运行效率非常高,据统计是所有动态语言里面最高的。Lua一般而言并不当作一门独立语言来使用,C/C++是她的宿主。动中有静,静中有动,这应该是以后的一种开发趋势。

由于Lua的小巧,简单,高效率,扩展性强,这让她十分适合在嵌入式领域发展,而这正是我最关心的领域,所以除了Lua,我别无选择。

我准备花时间来好好学一下,希望能达到精通的级别。以后也会陆续写一些心得体会,把经验教训贡献出来。