初始解释型语言,编译语言和脚本语言。
为什么说是初识呢?因为我也只是知道一点点也还在学习之中。
本篇博客和动态语言,静态语言无关。请不要把概念搞混。
下面我们先看一下wiki的解释
编译语言(英语:Compiled language)是一种编程语言类型,通过编译器来实现。它不像解释型语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器代码,再加以运行。如C/C++。
解释型语言(英语:Interpreted language)是一种编程语言类型。这种类型的编程语言,会将代码一句一句直接运行,不需要像编译语言(Compiled language)一样,经过编译器先行编译为机器代码,之后再运行。这种编程语言需要利用解释器,在运行期,动态将代码逐句解释(interpret)为机器代码,或是已经预先编译为机器代码的的子程序,之后再运行。如Python。
理论上,任何编程语言都可以是编译式,或解释型的。它们之间的区别,仅是编译器和解释器的区别。像C语言,他有像gcc或者clang这样的编译器,但是他也可以被TCC解释。许多编程语言同时采用编译器与解释器来实现,其中包括Lisp,Pascal,C,BASIC 与 Python。JAVA及C#采用混合方式,先将代码编译为字节码,在运行时再进行解释。
编译语言和解释型语言是两个相对的概念,那么什么是脚本语言呢?我们再来看一下wiki。
脚本语言(英语:Scripting language)是为了缩短传统的“编写、编译、链接、运行”(edit-compile-link-run)过程而创建的计算机编程语言。早期的脚本语言经常被称为批处理语言或工作控制语言。一个脚本通常是解释运行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。而宏语言则可视为脚本语言的分支,两者也有实质上的相同之处。
虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。
我们可以说脚本语言是解释型语言的一种子集。
现在的脚本语言主要分成这几种
脚本语言分类
1. 工作控制语言和shell -bash,sh,zsh
2. GUI脚本 -AutoHotkey,Autolt
3. 应用程序定制的脚本语言 -VBS
4. WEB编程脚本 -Lasso
5. 文本处理语言 -Perl
6. 通用动态语言 -Perl,PHP,Python,Ruby,Scheme
7. 扩展/可嵌入语言 -ECMAScript亦称DMDScript,JavaScript,Lua
8. 其它 -Groovy
Reference:
https://zh.wikipedia.org/wiki/%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80
https://blog.csdn.net/DaJian35/article/details/81368548
https://zh.wikipedia.org/wiki/%E7%B7%A8%E8%AD%AF%E8%AA%9E%E8%A8%80
https://zh.wikipedia.org/wiki/%E7%9B%B4%E8%AD%AF%E8%AA%9E%E8%A8%80
https://blog.csdn.net/c80486/article/details/43370603