为什么使用脚本语言
2008-10-15 20:25
267 查看
一般来说,脚本语言,比如Groovy,具有更好的表示能力;相对于系统编程语言,比如Java语言,能够提供更高的抽象等级。这通常会提供更快捷
的应用程序开发能力,以及更高的编程生产力。但是,脚本语言和系统编程语言的目标是不同的。脚本语言被设计用于把应用程序集成起来,而不是实现复杂的数据
结构和算法。因此,为了保证实用性,脚本语言必须能够访问不同类型的组件。
通常,脚本语言不会替代系统编程语言。它们相互补充(Ousterhout, 1998)。一般来说,系统编程语言应该被用于如下目的:
开发复杂的算法或者数据结构
实现计算密集型应用
操作大型数据集
实现良好定义的、缓慢变更的需求
是大型项目的一部分。
但是,脚本语言应该被用于如下目的:
连接已有的组件
处理经常变化的多种类型的实体
具有图形化用户界面
拥有快速变化的功能
是小型或者中型项目的一部分。
相对于系统编程语言,脚本语言的主要长处是所需的编码工作量相对少。通常,系统编程语言的代码看起来非常复杂,难以维护。这是因为系统编程语言的代码需要大量的模板或者转换代码。
系统编程语言是强类型的,能够确保代码的安全性和健壮性。在强类型语言中,变量必须被指定为一种类型,只能按照固定方式使用。尽管强类型特性使得大
型程序的可管理性更好,并且允许编译器(静态地)检测特定类型的错误,但可能有时候起不到类型安全保护作用。比如,当事先很难或者不可能决定变量的类型
时,强类型是没有用处的。当连接组件时,这种情况会经常发生。
为简化组件连接任务,脚本语言被设计成弱类型。这意味着,在不同环境下,变量可以以多种方式使用。但是,当代码被实际执行时,才会检测变量是否被非
法使用。比如,尽管Groovy在编译时(静态地)检查程序的语法,(动态地)检测方法调用是否正确发生在运行时。最终结果是,正确编译的Groovy脚
本在运行时也许会抛出异常,甚至导致非正常结束。
弱类型并不意味着代码是不安全的,或者不健壮。极限编程(Beck,
2004)已经成为一种软件开发方法。这个方法注重测试,使用全面的单元测试方案(Link,
2003)来驱动开发过程。通过在不同环境下执行所编写的代码,就可以保证代码的安全性和健壮性。当开发Groovy脚本时,单元测试应该是基础的开发过
程。实际上,开发经验已经证明,在弱类型语言中,综合运用弱类型和单元测试通常比传统系统编程语言的强类型检测更好。这样的话,就同时拥有弱类型的灵活性和单元测试的全面保障。
的应用程序开发能力,以及更高的编程生产力。但是,脚本语言和系统编程语言的目标是不同的。脚本语言被设计用于把应用程序集成起来,而不是实现复杂的数据
结构和算法。因此,为了保证实用性,脚本语言必须能够访问不同类型的组件。
通常,脚本语言不会替代系统编程语言。它们相互补充(Ousterhout, 1998)。一般来说,系统编程语言应该被用于如下目的:
开发复杂的算法或者数据结构
实现计算密集型应用
操作大型数据集
实现良好定义的、缓慢变更的需求
是大型项目的一部分。
但是,脚本语言应该被用于如下目的:
连接已有的组件
处理经常变化的多种类型的实体
具有图形化用户界面
拥有快速变化的功能
是小型或者中型项目的一部分。
相对于系统编程语言,脚本语言的主要长处是所需的编码工作量相对少。通常,系统编程语言的代码看起来非常复杂,难以维护。这是因为系统编程语言的代码需要大量的模板或者转换代码。
系统编程语言是强类型的,能够确保代码的安全性和健壮性。在强类型语言中,变量必须被指定为一种类型,只能按照固定方式使用。尽管强类型特性使得大
型程序的可管理性更好,并且允许编译器(静态地)检测特定类型的错误,但可能有时候起不到类型安全保护作用。比如,当事先很难或者不可能决定变量的类型
时,强类型是没有用处的。当连接组件时,这种情况会经常发生。
为简化组件连接任务,脚本语言被设计成弱类型。这意味着,在不同环境下,变量可以以多种方式使用。但是,当代码被实际执行时,才会检测变量是否被非
法使用。比如,尽管Groovy在编译时(静态地)检查程序的语法,(动态地)检测方法调用是否正确发生在运行时。最终结果是,正确编译的Groovy脚
本在运行时也许会抛出异常,甚至导致非正常结束。
弱类型并不意味着代码是不安全的,或者不健壮。极限编程(Beck,
2004)已经成为一种软件开发方法。这个方法注重测试,使用全面的单元测试方案(Link,
2003)来驱动开发过程。通过在不同环境下执行所编写的代码,就可以保证代码的安全性和健壮性。当开发Groovy脚本时,单元测试应该是基础的开发过
程。实际上,开发经验已经证明,在弱类型语言中,综合运用弱类型和单元测试通常比传统系统编程语言的强类型检测更好。这样的话,就同时拥有弱类型的灵活性和单元测试的全面保障。
相关文章推荐
- 为什么使用脚本语言
- 为什么使用javascript脚本语言以及javascript的特点组成
- Java中使用Lua脚本语言
- 游戏中使用LUA脚本语言的简介
- 为什么国内的公司都不敢使用Flex作为产品的平台与主要开发语言
- 使用python语言编写脚本控制freeswitch总结
- 使用perl脚本语言处理文本文件
- 使用脚本语言生成芯片寄存器列表的头文件
- 实用技巧:将PHP作为Shell脚本语言使用
- 【程序语言】C/C++中如何使用Lua脚本
- 为什么要使用 Go 语言?Go 语言的优势在哪里?
- 在.NET中使用Javascript作为脚本语言
- MFC 使用Python脚本语言
- Lua脚本语言入门(目前魔兽使用的可以写在宏内的语言)转自中国Lua开发者
- 在Unity中使用Lua脚本:语言层和游戏逻辑粘合层处理
- 在delphi中使用其他语言脚本
- 使用脚本语言 简简单单做C/C++单元测试(之二)
- Virtools脚本语言(VSL)教程 - 使用 GUID
- 在Java中使用Lua脚本语言
- 为什么要使用 Go 语言,Go 语言的优势在哪里?