ste*_*eha 12
"脚本语言"和"编程语言"之间没有硬性和快速的界限.
"脚本语言"的属性往往包括:
垃圾收集的内存管理器,无需显式分配和释放对象
能够简单地执行命令,而无需一堆样板代码.Java通常用作反例.在Python中你可以简单地说,print("Hello, world!")但是在Java中你需要更多的语法(这里的例子是七行代码).
与上述相关,通常在"脚本语言"中,您不必显式声明变量,并且很少需要声明变量类型.一些脚本语言(例如Javascript)将强制放弃类型,而其他语言(例如Python)则强类型化并引发类型不匹配的异常.
无需显式编译或链接步骤; 你只需编写代码并运行它.("脚本语言"仍然可以在内部进行即时编译;例如,Python就是这样做的.)
除了这些基础知识之外,"脚本语言"可以包括原始和微不足道的东西,如MS-DOS中的"批处理"语言,以及Python,Ruby等富有表现力的强大语言.
您基本上发现脚本语言和"非脚本"语言之间的区别非常人为.Python可以编译为JVM字节码(使用Jython),我相信Ruby也可以 - 然后运行Python或Ruby代码的"引擎"将是一个JVM,运行Java代码(或Scala)的"引擎"代码等).与.NET和IronPython(或IronRuby)类似 - 那么"引擎"就是微软的CLR,就像C#,Boo等一样.被称为"脚本"的语言通常是动态类型的...但我从未听过用于其他重要动态类型语言的术语,如Smalltalk,Mozart/OZ或Erlang ...... ;-).
| 归档时间: |
|
| 查看次数: |
7027 次 |
| 最近记录: |