大杂烩(脚本语言,编译语言,胶水语言)

1.什么是脚本语言?

  • 脚本语言:脚本语言是一种介于标记语言和编程语言之间的语言,没有编程语言复杂、严谨的语法和规则。
  • 脚本语法比较简单,比较容易掌握,与编程语言也有许多相似之处,其函数与编程语言比较相似一些。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。
  • 脚本语言是解释性的语言,例如Python、javascript(目前接触过的)等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在。而脚本语言不需要编译,可以直接用,由解释器来负责解释。

2.什么是编译语言?

  • 编译语言是程序在执行之前需要一个专门的编译过程,运行时不需要重新编译,直接使用编译的结果就行了,脱离其语言环境独立执行。程序执行效率高,使用方便。但程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件才能执行。因需依赖编译器,故跨平台性差些

3.两者的区别

  • 抽象的级别不同: 脚本语言更抽象。在脚本语言中,存在有高级的数据结构,如列表和字典结构,和对这种结构简单方便的嵌套和操作。编译语言有比较明确的定义等等。
  • 类型定义不同: 脚本语言对类型的定义就比较松散,不需要类型声明,而且在运行时自动进行动态类型检查。而编译语言通常是强类型定义或静态定义,也就是说变量的类型在程序中指定了。
  • 执行方式不同: 脚本语言是解释成指令被立即执行。这样完全将编译过程从编辑-编译-运行循环中去掉了。而编译语言的程序被编译成可执行的二进制。
  • 运行速度不同: 脚本语言是解释执行的,在运行时解释每一条语句然后执行。这样比编译执行的语言要慢。而编译语言因为编译成机器码,可以直接运行,所以在运行速度上快比较快。

4.为什么称Python为胶水语言?

  • 胶水语言:使用输入输出命令,接口,动态链接库,静态链接库,服务,对象等。 
  • 标准版本的python是用C来编译的,又称为Cpython,除此之外,还有一些其他的python实现。
  • java实现版本。这个解释器完全用java写成,名为Jython。尽管和标准版的有区别,但是很小,而且启动环境也完全相同
  1. jython的优点:只要有虚拟机,就可以运行Jython
  2. 拥有访问java包与类库的能力
  3. 为java开发环境提供了脚本引擎
  4. 鼓励Python到java的开发
  • .net实现。用C#语言完成,名为IronPython。和jython差不多。

5.总结

在终端上我可以随意地组合他和其它程序,作为一个中间处理模块。

而且,他可以如此地简单便捷,一些简单的脚本只需要cat一下马上就能明白是什么意思。

一个表达式一行代码,代码块有一致的标准的缩进,标准的命名方式,简练的语言,支持注释……

别的程序要访问或调用,很简单,一个命令把指定数据输入到这里就好,然后要怎么拼接怎么拼接; 
周期性地处理也没问题,输出到文件,等待别的程序调用。 
系统脚本上:

比SHELL多了很多数学及字符串处理能力,还多了很多很好用的迭代方法,还多了很多的原生的数据结构; 
比PERL多了很要命的代码可读性。 
比起ruby和nodejs,他基本所有机器都预装,而且已经经历了时间的考验。虽然,将来的确会有被这俩货代替的可能性。 
比起C/C++,他多了一个终端、甚至像ipython这样的加强版神器终端,可以边调试代码边把没问题的代码写进文件。而且,源码即可执行。

猜你喜欢

转载自blog.csdn.net/hgdl_sanren/article/details/81840638