Shell脚本语言与编译型语言的差异
大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言。
编译型语言
很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。
运行程序时,直接读取目标代码(object code)。由于编译后的目标代码(object code)非常接近计算机底层,因此执行效率很高,这是编译型语言的优点。
但是,由于编译型语言多半运作于底层,所处理的是字节、整数、浮点数或是其他机器层级的对象,往往实现一个简单的功能需要大量复杂的代码。例如,在C++里,就很难进行“将一个目录里所有的文件复制到另一个目录中”之类的简单操作。
解释型语言
解释型语言也被称作“脚本语言”。执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。因为每次执行程序都多了编译的过程,因此效率有所下降。
使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象;缺点是它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,同样的功能用C或C++来编写实现,可能需要两天,而且一般来说,脚本执行的速度已经够快了,快到足以让人忽略它性能上的问题。脚本编程语言的例子有awk、Perl、Python、Ruby与Shell。
Shell脚本语言与编译型语言的差异相关推荐
- Shell脚本语言笔记
Shell脚本语言笔记 一.shell是什么? 二.Shell 是一种脚本语言 1.定义变量 2.单引号和双引号的区别: 3.将命令的结果赋值给变量,常见的有以下两种方式: 4.只读变量 5.删除变量 ...
- SHELL/SSH基础知识(入门篇)-包含 shell 脚本语言的基本用法、 shell 脚本语言的基本用法、流程控制、函数 function、其它脚本相关工具、数组 array(欢迎留言交流)
目录 1 shell 脚本语言的基本用法 1.1 shell 脚本注释规范 1.1.1 shell 脚本注释规范 1.1.2 执行(5种) 1.1.3 在远程主机运行本地脚本 1.1.4 检查shel ...
- linux命令和shell语言的区别,shell脚本语言与linux命令的联系与区别
使用linux确定是要会使用命令的,就算提供有用户界面,绝大部分功能仍是要经过命令行去操做的.而shell脚本语言也是运行在linux上的脚本语言,对于服务器运维人员也是几乎必需要掌握的.而shell ...
- linux脚本语言求累加和,Linux Shell脚本语言与数学表达式
当你理解了Shell脚本,每当需要时都能流畅编写时,那种感觉很爽的.本章中,我们将教你用脚本语言进行比较复杂的数学运算. 让我们从斐波那契数列开始吧. 斐波那契数列,又称黄金分割数列,指的是这样一个数 ...
- linux脚本是什么语言,Linux学习之Shell脚本语言的优势是什么?
当我们学习Linux技术的时候,会涉及各种各样的知识和内容,比如说shell脚本语言,我想很多人都会疑惑shell脚本语言有什么优势?为何学习Linux的时候必须学习呢?我们来看看吧. 当命令和程序语 ...
- 在linux中写php语言吗,将PHP作为Shell脚本语言使用
我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短--).但是只有很少数的人意识到PHP也可以很好的作为编写Shell脚本的语言,当PHP作为编写Shell脚本的语言时,他并没有P ...
- 将PHP作为Shell脚本语言使用
我们都知道.PHP是一种非常好的动态网页开发语言(速度飞快.开发周期短--).可是仅仅有非常少数的人意识到PHP也能够非常好的作为编写Shell脚本的语言,当PHP作为编写Shell脚本的语言时,他并 ...
- linux命令行开头是sh,shell脚本语言的使用(超全超详细)
1.shell的概述 shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又 ...
- shell脚本语言(超全超详细)
shell脚本语言 1.shell的概述 2.脚本的调用形式 打开终端时系统自动调用:/etc/profile 或 ~/.bashrc 3.shell语法初识 3.1.定义以开头:#!/bin/bas ...
最新文章
- 并发编程之Synchronized
- 对c++primer 16.6.1的第4小节的代码说明
- input输入数字验证
- MyBatis框架学习笔记03:利用MyBatis实现关联查询
- 全国省份、城市、地区全数据(SQL版与XML版)包括各城市邮编
- iOS下微信语音播放之切换听筒和扬声器的方法解决方案
- 计算机装机 基础知识,电脑diy硬件基础知识 菜鸟装机必看! (全文)
- ae渲染出现错误是什么问题_AE 渲染输出 “H264”时出现这个错误是什么意思?...
- Java——聊聊JUC中的线程中断机制 LockSupport
- 关于BandiZip的bug,linux解压下不友好情况
- 如何给一小段视频添加音乐
- 原创 | DDD领域驱动设计第一话
- Phalanx 动态规划
- LTO助推磁带大容量存储技术超越磁盘HDD
- java list转json报错_一个fastjson转换JSON字符串的报错排查
- Linux创建自启动服务
- VC的IP控件的用法
- ZT:幽兰操(韩愈)
- 通过Feign调用接口,返回数据时出现数据乱码
- Winform中DataGridView中添加数据并且拖动整行