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

 

脚本语言不需要显式的进行编译的一门语言。

例如,在编写C语言程序时候,在运行之前需要经过编译和链接的过程。但对于一些脚本语言,例如javascript,你不用编译一个JavaScript程序,比如shell脚本,也不要编译,直接通过解析器进行解析执行即可。

在现代硬件和编译技术下,编译的效率更高,花费时间更短。从而导致脚本语言和传统的编程语言之间的界限不再那么明显

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

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

  • Lua
  • JavaScript
  • VBScript and VBA
  • Perl

传统需要编译的例子:

  • C
  • C++
  • D
  • Java(需要注意,Java被编译成字节码(bytecode),这些字节码会在运行的时候解释)

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

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

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值