(shell笔记三)shell与编程型语言的差异
2016-01-12 10:56
141 查看
大体上,程序设计语言可以分为两类:编译型语言和解释型语言。
编译型语言
很多传统的程序设计语言,例如C、C++、和JAVA,都是编译型语言。这类语言需要预先将我们写好的源代码转换成目标代码,这个过程被称为“编译”。
运行程序时,直接读取目标代码。由于编译后的目标代码非常接近计算机底层,因此执行效率很高,这是编译型语言的优点。
但是,由于编译型语言多半运作与底层,所处理的是字节、整数、浮点数或者是其他机器层级的对象,往往实现一个简单的功能需要大量复杂的代码。
例如,在C++里,就很难进行“将一个目录里所有的文件复制到另一个目录中”之类的简单擦偶作。
解释型语言
解释型语言也被称作“脚本语言”。执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),
并将其转换成目标代码(object code),再由计算机运行。因为每次执行程序都多了编译的过程,因此效率有所下降。
使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象;
缺点是它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,
同样的功能用C或C++来编写实现,可能需要两天,而且一般来说,脚本执行的速度已经够快了,快到足以让人忽略它性能上的问题
。脚本编程语言的例子有awk、Perl、Python、Ruby与Shell。
编译型语言
很多传统的程序设计语言,例如C、C++、和JAVA,都是编译型语言。这类语言需要预先将我们写好的源代码转换成目标代码,这个过程被称为“编译”。
运行程序时,直接读取目标代码。由于编译后的目标代码非常接近计算机底层,因此执行效率很高,这是编译型语言的优点。
但是,由于编译型语言多半运作与底层,所处理的是字节、整数、浮点数或者是其他机器层级的对象,往往实现一个简单的功能需要大量复杂的代码。
例如,在C++里,就很难进行“将一个目录里所有的文件复制到另一个目录中”之类的简单擦偶作。
解释型语言
解释型语言也被称作“脚本语言”。执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),
并将其转换成目标代码(object code),再由计算机运行。因为每次执行程序都多了编译的过程,因此效率有所下降。
使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象;
缺点是它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,
同样的功能用C或C++来编写实现,可能需要两天,而且一般来说,脚本执行的速度已经够快了,快到足以让人忽略它性能上的问题
。脚本编程语言的例子有awk、Perl、Python、Ruby与Shell。
相关文章推荐
- (shell笔记二)几种常见shell
- (shell笔记一)shell简介
- shell中常用文件条件判断
- 程序员必知的LinuxShell命令
- 程序员必知的LinuxShell命令
- /bin/bash^M: bad interpreter: No such file or dire
- 在 shell 中如何判断一个变量是否为空
- 学习shell编程笔记(二)
- 几个简单的shell习题
- 学习shell编程笔记(一)
- YARN DistributedShell源码分析与修改
- Linux Bash Shell $*和$@的区别
- python转义字符串for shell command line
- Linux下批量检察tomcat服务器是否运行shell编程
- linuxshell脚本shell if [ -d filename]
- shell---practice1
- linux shell 笔记
- webshell
- 转自coolshell--vim的基本操作
- 【类unix系统shell基础】1.10命令替换与整数运算$(),$(())