1.背景
在Unix系统中一些命令需要重复执行,为了偷懒,脚本就这么诞生了。将你的命令写到文件中,执行文件命令就能批量执行了。脚本最简单的用法诞生了。后来加入了一些条件后,脚本可以根据不同条件执行不同命令,慢慢地脚本中加入的条件越来越多,脚本语言就形成了!
2.脚本和非脚本的区别:
目的上的区别:
脚本语言的目的是让程序员能更快地完成任务,便捷的同时并有没有兼顾到其他细节。故而在大型项目上的表现往往是差强人意的,性能是比不上其他主流的编程语言的。
执行上的区别:
我比较熟悉的语言是Java,拿Java举例,Java需要编译 -解释-执行。而脚本语言直接解释后即可运行。指令被立即执行,不存在一个编译的中间状态。
抽象的级别不同:
脚本语言更抽象。在脚本语言中,存在有高级的数据结构,如列表和字典结构,和对这种结构简单方便的嵌套和操作。编译语言有比较明确的定义等等。
类型定义不同:
脚本语言对类型的定义就比较松散,不需要类型声明,而且在运行时自动进行动态类型检查。而编译语言通常是强类型定义或静态定义,也就是说变量的类型在程序中指定了。
速度上的区别:
脚本语言是解释执行的,在运行时解释每一条语句然后执行。这样比编译执行的语言要慢。而编译语言因为编译成机器码,可以直接运行,所以在运行速度上快比较快。
3.特点:
1.设计的目的就是便捷,所以脚本语言比较简单。
2.解释运行,并非编译。
3.和其他语言的交互性强
4.脚本语言现状
如今脚本语言可以说是越来越火热,很多公司为了节省人力成本,采用了很多脚本语言代替了原有的编程语言开发。而一个正常的编程人员培养是要几个月乃至几年的事件,而脚本语言工作人员的培养只要几星期就能胜任,其脚本语言广泛应用于国内外包公司中。
其实脚本泛滥的坏处是很明显的,在项目的后期维护和扩展中,因为脚本语言没有严格的编译检查,所以很多问题是无法找出来的。如果一定要使用脚本语言,建议参照程序设计规范来写。