网亚上网行为管理系统 -上网管理软件动态语言的其他特性
25
2017
12

上网管理软件动态语言的其他特性

动态语言的其他特性包括在运行时扩展对象、类和接口(表示随时修改类型系统);动态的作用域(例如,在全局范围内定义的变量可以在私有方法或嵌套的方法中访问)等。

像这样的方法编译有一些有趣的副作用。如果类型不需要事先完全定义(因为类型系统非常灵活),就可以编写使用严格接口(例如,COM或其他.NET程序集)的代码,使这些代码在遇到该接口的失败或版本问题时有很大的灵活性。在C#中,如果在外部程序集中使用的接口变化了,一般需要重新编译(并修改内部的代码),才能再次启动和运行代码。在动态语言中,可以关联该语言的“方法缺失”机制,在某个接口变化时,只要在该接口上进行一些“反映性”的查找,就可以确定能否调用其他内容。这意味着可以编写易于粘合的代码,把不具备版本独立性的接口粘合起来。

动态语言非常适合于快速建立原型。不必事先定义类型(在C#中必须先定义类型),就可以把注意力集中在解决问题的代码上,而不是集中在实现过程中的类型约束。REPL允许逐行编写原型代码,程序中的变化会立即反映出来,而不需要把时间浪费在编译-允许-调试循环上。在.NET平台的动态语言中,Microsoft发布了IronPython,这是.NET Framwork的Python版本。

Python语言是动态语言的一个经典例子,广泛应用于科学计算、系统管理和一般编程领域。如果对Python没什么兴趣,还可以下载并试用IronRuby,它是.NET Framework的Ruby版本。Ruby是Web领域非常流行的一种动态语言,虽然它仍相对年轻,但有非常大的用户群。

函数式语言:函数式语言把计算看作数学函数,它们努力避免状态操作,而主要考虑函数的结果,以此作为解决问题的基础。如果以前做过计算工作,就会很熟悉函数编程的理论。

 

« 上一篇

相关文章:

评论列表: