.Net脚本语言Boo简介
对软件工程来说,脚本语言相当于输送管,他们强大的富有表现力的语法是他们能够比较理想地处理软件开发过程中的外围特殊任务。脚本语言常用于批处理、小工具包、自动构建过程和实验性原理等。
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
- Java 持久化操作之 --XML
- 算法模板——splay区间反转 1
- 3223: Tyvj 1729 文艺平衡树
- 1212: [HNOI2004]L语言
- POJ 2942Knights of the Round Table(tarjan求点双+二分图染色)
- 算法模板——平衡树Treap
- Java并发编程
- 算法模板——线段树2(区间加+区间乘+区间求和)
- 1798: [Ahoi2009]Seq 维护序列seq
- 【LeetCode 389】 关关的刷题日记30 Find the Difference
- 1708: [Usaco2007 Oct]Money奶牛的硬币
- 1856: [Scoi2010]字符串
- 【LeetCode 409】 关关的刷题日记31Longest Palindrome
- Git的奇技淫巧?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法