首页 > 编程知识 正文

静态语言采用解释方式执行脚本语言采用编译方式执行,脚本语言属于动态语言

时间:2023-05-03 17:11:52 阅读:268038 作者:3713

本人是php程序员,也做过一年java的开发,学习过c语言,会JavaScript,再回想起来,感觉语言之间的区别有点迷惑,所以整理一下。

1.动态语言

动态语言是在运行时才确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 例如PHP、ASP、Python、SQL、JavaScript、Unix Shell等等。

动态语言的优势:思维不受束缚,可以任意发挥,把更多的精力放在产品本身上。

2.静态语言

静态语言是在编译时变量的数据类型就可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。 例如:C、C++、Golang、Java、C#等。

静态语言优势:由于类型的强制声明,使得IDE有很强的代码感知能力,所以在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中,依托IDE对系统的开发很有保障;由于静态语言相对比较封闭,使得第三方开发包对代码的侵害性可以降到最低。

3.解释型语言

我们都知道能让机器识别的是机器语言,也就是01这样的二进制代码,高级语言机器是不能识别的。解释型语言是不需要在运行前进行编译成机器语言,而是程序在运行时先翻译成中间代码,再由解释器对中间代码进行解释运行。这样解释型语言每执行一次就要翻译一次,效率比较低。

常见的解释型语言包括:Java、C#、PHP、JavaScript、Python、VBScript、Perl、Ruby、MATLAB等。

解释型语言的优点

①解释型语言提供了极佳的调试支持。

②解释器比编译器容易实现。

③中间语言代码的大小比编译型可执行代码小很多。例如,C/C++的.exe文件要比同样功能的Java的.class文件大很多。

④可移植性好,只要有解释环境,可以在不同的操作系统上运行。比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器系统上运行。

⑤解释型语言也可以保证高度的安全性——这是互联网应用迫切需要的。

解释型语言的缺点

①运行需要解释环境,程序严重依赖平台。

②运行起来比编译的要慢,占用的资源也要多一些,代码效率低。因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。

③由于解释型应用的decode-fetch-execute(解码-抓取-执行)的周期,它们比编译型程序慢很多。

4.编译型语言

运行编译型语言是相对于解释型语言存在的,编译型语言首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。

常见的编译型语言有:C、C++等。

编译型语言的优点:运行速度快,代码效率高,编译后程序不可以修改,保密性好。

编译型语言的缺点

①代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行。

②安全性不如解释性语言,一个编译型的程序可以访问内存的任何区域,并且可以对你的PC做它想做的任何事情(大部分病毒是使用编译型语言编写的)。

5.脚本语言

脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本保存,只在被调用时进行解释或编译。

脚本语言有:PHP、Python、JavaScript、Lua、Scala、VBScript,ActionScript,MAXScript,ASP,JSP,SQL,Perl,Shell,Ruby,JavaFX,AutoIt等

脚本语言是一种解释性的语言,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在,脚本语言不需要编译,可以直接用,由解释器来负责解释。

 

参考资料:

http://baijiahao.baidu.com/s?id=1581982663991093225&wfr=spider&for=pc

https://baike.baidu.com/item/%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80/1379708

https://blog.csdn.net/u014647208/article/details/78329187

https://blog.csdn.net/GIRLDWH0715/article/details/70228553

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。