对软件工程来说,脚本语言相当于输送管,他们强大的富有表现力的语法是他们能够比较理想地处理软件开发过程中的外围特殊任务。脚本语言常用于批处理、小工具包、自动构建过程和实验性原理等。
C#/C++/VB显然是.net项目的主要语言,他们都是很强的静态类型编程语言。然而实际中的某些问题,这些语言解决起来并不时很理想,这时引入其他的语言和概念无疑是有帮助的。
下面是一些适合使用脚本语言的例子:
1、 试验用户界面模型
2、编写代码生成器
3、编写自动测试脚本
4、可控制批处理
5、特定报表生成
6、自动编译和发布过程
脚本语言的主要特性包括:
1、强大的语言构建能力和自由的语法
2、富于表现力的语法
3、松散类型
4、解释而不是编译执行
在过去的几年中,软件行业诞生了大量的脚本语言。下面是一些广为人知并受到高度评价的脚本语言
1、Python
2、Perl
3、Ruby
4、Tcl
下面介绍一个.net平台之上,使用类似Python语法的一个全新的静态语言Boo。
官方定义:
Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a special focus on language and compiler extensibility.
网站:http://boo.codehaus.org/Home?nocache
从定义可以看出,Boo一方面可以获取动态语言,例如类似Python这样的语言语法方面的优势,例如一些内建数据结构;另一方面,其又是有类型的静态语言(通过Duck类型支持运行时类型识别等动态语言的特征,个人觉得类似VB的Variant类型),具有速度等方面的优势。
Boo作为静态语言,具有类型安全,速度等优势,而通过推导(inference)来模拟或者模仿动态语言的特性。Boo的文档,网站,例子做得很好,而且已经有了一些应用,例如#Develop的插件。Boo Primer〔http://boo.codehaus.org/Boo+Primer?nocache〕是一份很详细的Boo的入门文档。Boo目前在#Develop下有Addin支持,可以作为其IDE。目前,已经有很多使用Boo创建的程序:http://boo.codehaus.org/Boo+Applications?nocache
参考:http://maweifeng.cnblogs.com/archive/2006/01/31/324461.html
http://boo.codehaus.org/BooManifesto.pdf