脚本语言和编程语言的区别

原文:https://blog.csdn.net/u011671986/article/details/70187677

脚本语言是一个不需要显示编译的编程语言

例如,在日常例子中,你必须要编译一个C语言程序,在你运行他们之前.但在通常情况下,你不用编译一个JavaScript程序,在你使用他们之前.因此呢,JavaScript经常被称为"脚本语言".

在现代硬件和现代编译技术下,编译已经变得越来越快导致脚本语言和传统的编程语言之间的界限不在那么明显.例如,V8作为Google Chrome浏览器的引擎,并且在浏览器之外使用了很多,实际上将JavaScript代码编译成机器代码,而不是去解释他们.(V8事实上是一个优化了的两个阶段的编译器)

需要注意的是,一个语言是不是"脚本"我们不应该只是从语言角度去看待,应该要存运行所在的环境去区别.你完全可以写一个C语言的解释器,并且将它作为脚本语言来运行.同样也可以将JavaScript编译成机器代码并且存放在可执行文件中.Ruby就是一个很好的例子,它以一个解释器(脚本语言)出现,但现在已经有多个编译器可以编译它了.

一些"脚本"语言例子(传统的角度)

  • Lua
  • JavaScript
  • VBScript and VBA
  • Perl

一些传统中需要使用显示的编译:

  • C
  • C++
  • D
  • Java(需要注意,Java被编译成字节码(bytecode),这些字节码会在运行的时候解释,重编译)
  • Pascal
扫描二维码关注公众号,回复: 2527811 查看本文章

Python有两种情况:Python在广泛的使用中不需要编译,但是主要的实现(CPython)需要编译成字节码并且运行字节码在虚拟机中,它可以把字节码写入到文件(.pyc.pyo)中,使用时,不需要重新编译

当然这里只是冰山一角,更多的内容有待探索.

猜你喜欢

转载自blog.csdn.net/tliang1984/article/details/81232646