编译语言、解释语言与脚本语言之间的区别

2023-11-13

资料一:

1、解释型语言与编译型语言的区别翻译时间的不同。。

编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。

解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。

C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。

虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
在运行的时候,由JVM将字节码再翻译成机器语言。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

2.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在.

脚本语言不需要编译,可以直接用,由解释器来负责解释。

3.脚本语言一般都是以文本形式存在,类似于一种命令.

 

资料二:

(1)什么是脚本语言?
(2)为什么叫做脚本语言,而不叫做其它的名字?请您介绍一下“脚本语言”这个名字的来历?具有什么特征的语言被称为脚本语言?

在网上查了查,没查着。脚本语言英文应该是script language吧。script在金山词霸中的解释有:A copy of a text used by a director or performer.也就是按照script进行导演或演出。用在计算机上可能就变成了:可以执行的文本。因为我知道的所有脚本文件都是文本文件格式的,而且可以执行,从这个意义上与script的含义很接近。更关键的是脚本语言是从英文翻译过来的,因为外国人这么叫,所以我们也这么翻译的吧。历史我不知道。
我个人认为:源程序是文本格式,可以被解释执行的语言可以算作脚本语言。如:python,perl,php,shell,awk等等,许多。不过,有一些脚本语言已经发生了变化,如python,perl已经可以编译成中间代码然后执行,这样的脚本语言已经可以被称为编译型脚本语言。

BTW:脚本语言与解释语言我认为还是有区别的。解释语言是说解释执行的语言,但执行的代码并不一定是文本格式的。脚本语言的程序是文本文件,并且是解释执行的。但这两种区别也有些模糊。反正有点区别,不过你认为差不多也行,好象现在并不太细分脚本语言与解释语言。

 

资料三:

    脚本与解释有时是很模糊,其实没有必要搞得这么清楚了,当然如果你有兴趣去搞。在这里我们可以干脆将脚本与解释混为一谈。解释是第一位的,至于是不是文本格式,是否会编译成字节码倒是次要的。不这,我所接触的脚本语言(我认为是)只需要有文本格式就可以运行。象Python有中间代码,不过这一过程完全是自动的,你不用去管它。因此从最基本的运行条件来说,我认为脚本语言似乎文件格式要求是文本的。象java,其实是有一个虚拟机在运行,它也是解释执行的,那它算不算脚本语言呢,我想应该不算吧。因为,它的运行是先编译成字节码,再去运行。如果编译过程全自动了,算吗?这许就可以算了吧。

不过,我们完全可以不去关心这些个案,只考虑通常的情况就行了。因此,我个人认为:脚本语言:一、解释执行 二、执行文件为文本即可

 

资料四:

抽象的级别:这是最重要也是最明显示的不同。脚本语言对程序员提供了更高级的抽象。这一点明显表现在:在这种语言自身中,存在有高级的数据结构,如列表和字典结构,和对这种结构简单方便的嵌套和操作。这样可以创建非常成功的程序。    
   
    类型定义:系统语言通常是强类型和静态类型定义。这就意味着所有变量的类型要在程序中指定,在编译时检查。相反地,脚本语言是最松散的类型定义,完全没有类型声明,并且在运行时进行动态类型检查。    
   
    执行:系统语言的特点是编译的。程序被编译成可执行的二进制。另一方面,脚本语言的特点是解释,也就是,指令被立即执行,不存在一个编译的中间状态。这就意味着脚本语言是交互式的(你可以在提示符下敲入命令,并且看到结果),这是另一个巨大的胜利。这样完全将编译过程从编辑-编译-运行循环中去掉了。    
   
    速度:以上三点是脚本语言一方面在速度与效率,   一方面在易用性与表示式的强大性之间进行折衷的典型例子。这就使得脚本语言的执行速度比系统语言慢一个数量级。这就是对脚本语言诽谤最多的方面。性能的降低不是真正的问题,因为思想是用脚本语言来组合组件,这些组件是用象C   这样的快速系统语言来编写的。所以所有需要运行快速的东西将因为是用快速的语言实现的而运行得快速。脚本语言只用于将东西绑在一起,并且这些通常不是性能的瓶颈(   或如果是,你需要重新检查你的设计)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译语言、解释语言与脚本语言之间的区别 的相关文章

随机推荐

  • 向电脑(windows11 OS环境)的所有外挂移动硬盘写入数据提示目标文件夹访问被拒绝的解决方法

    向电脑 windows11 OS环境 的所有外挂移动硬盘写入数据 就是在粘贴文件 出现以下提示框 解决办法流程如下 运行窗口 输入 gpedit msc 命令 按 确定或回车 快速打开本地组策略编辑器 本地组策略编辑器窗口 依次展开 计算机
  • esp32-S3专题二:内存2之RTC内存、FLASH使用

    承接上文 讲一下esp32上剩下的几个存储空间的用途 目录 一 RTC存储器 一 RTC 快速存储器 二 RTC 慢速存储器 二 Flash 一 NVS 表 二 程序和OTA分区 三 SPIFFS 文件系统 三 总结 一 RTC存储器 es
  • 不安全的加密算法

    不安全的加密算法 SKIPJACK RC4 RSA 1024位以下 des md2 md4 md5 属于经过验证 安全的 公开的加密算法 RSA DSA ECDSA 加入盐值的SHA256 推荐使用的数字签名算法有 DSA ECDSA
  • 值得重点推荐的BI软件有哪些?全在这里了

    在数字化程度越来越高的趋势下 发挥着推动企业数字化转型重要作用的商业智能BI也在不断提升市场份额 也催生出不少的BI软件新星 那么 BI软件有哪些 哪些BI软件更普遍适用于不同行业 针对这些问题 我们做了以下总结 BI软件有哪些 国内比较老
  • goland missing dependency错误

    新建一个项目 里面引用到第三方的包 项目编译没有问题 可是在goland里按住ctrl 鼠标点击打算跳转到第三方包相应的实现时却跳转不了 import的第三方也标红 同时go mod文件该第三方包也是标红的 看这篇文章 出现的问题和我的比较
  • moviepy音视频开发:音频拼接函数concatenate_audioclips介绍

    前往老猿Python博文目录 concatenate audioclips函数用于将多个音频剪辑进行拼接合成一个顺序播放的剪辑 调用语法 concatenate audioclips clips 说明 clips参数用于存放需要顺序拼接的音
  • 【备忘】Linux上传文件,下载文件

    背景小故事 这次在迁移服务器的时候要把ssl文件传到Linux里面 但是我又不想用ide来传 之前看同事演示过 当时没记住 感觉他简单操作就可以了 这次打算学会它 这功能用得不多 平常都不怎么使用 我们也可以用客户端连接服务器进行上传 方法
  • Android 设备 设置adb自动监听tcp 5555端口,重启有效

    Android 设备调试有两种连线方式 有线和无线 有线是通过USB导线连接android设备和电脑端 无线方式是通过连接WIFI 通过TCP的方式 连接设备和电脑端 一般用 5555端口 有线的调节 只需要打开调试模式基本就可以了 无线连
  • VirtualBox 安装32位Windows 7和64位Windows Sever 2008R2 双系统图文教程——利用VHD技术

    VirtualBox 安装32位Windows 7和64位Windows Sever 2008R2 双系统图文教程 利用VHD技术 先说说为什么要装双系统 因为想用一个系统只是用来休闲娱乐上网 聊天 看视频等等 所以这个时候坚决抵制一切数据
  • 【问题解决记录】无法识别的标志“-sdlMode”,在“p2”中

    问题解决记录 无法识别的标志 sdlMode 在 p2 中 参考文章 1 问题解决记录 无法识别的标志 sdlMode 在 p2 中 2 https www cnblogs com dbylk p 5133739 html 3 https
  • 30天自制操作系统第4天harib01a

    30天自制操作系统 第4天 C语言与画面显示的练习 用C语言实现内存写入 harib01a harib01a 准备材料 windows环境 VMware Workstation Visual Studio Code 程序和源代码 https
  • 如何为你的网站添加二级域名?

    一般公司注册的域名支持添加20个二级域名 辅助域名的添加与www的主域名相同 填写二级域名的名称 如bbs 并填写二级域名对应的IP 如果你的域名是www 98yun com bbs 这是一个论坛 你想添加一个bbs 98yun com 这
  • 大数据之——Zookeeper个人讲解

    一 zookeeper的概念 1 ZooKeeper是一个分布式的 开放源码的分布式应用程序协调服务 是Google的Chubby一个开源的实现 是Hadoop和Hbase的重要组件 它是一个为分布式应用提供一致性服务的软件 提供的功能包括
  • 用IDEA编写第一个JAVA程序

    第一步 打开IDEA IDEA下载链接 IntelliJ IDEA The Capable Ergonomic Java IDE by JetBrains 第二步 选择新建一个空项目 第三步 java项目的文件层次是 项目 包 类 创建一个
  • 6.2小车循迹,跟随,摇头测距功能实现

    1 循迹小车 1循迹模块的使用 TCRT5000传感器的红外发射二极管不断发射红外线 当发射出的红外线没有被反射回来或被反射回来但强度不够大时 红外接收管一直处于关断状态 此时模块的输出端为高电平 指示二极管一直处于熄灭状态 被检测物体出现
  • <1> linux与shell的关系

    在正式学习shell命令之前 如果你还对linux与shell的关系不甚了解 请耐心看完这篇简介 本文简要梳理了操作系统 shell的关系和作用 一个完整的计算机 整体结构如下图 我们的计算机由硬件组成 包括CPU 内存 主板 磁盘 各种外
  • 防关联软件技术分析之跨境电商防关联云服务器之超级VPS管理器

    众所周知 亚马逊有一个非常坑爹的规定 那就是同一个人或企业只能运营一个账号 并采用严格的程序对此进行监控 如果发现账户关联 则存在封号的风险 这就意味着 在同一个外网IP环境下操作多个账号是非常危险的 然而 我相信很多卖家手里都会有多个亚马
  • Java IO流

    Java的IO通过java io包下的类和接口来支持 在java io包下主要包括输入流 输出流两种IO流 每种输入 输出流又可分为字节流和字符流两大类 其中字节流以字节为单位来处理输入 输出操作 而字符流则以字符来处理输入 输出操作 1
  • java IO框架分析

    jave io框架 2010 11 10 22 18 34 分类 默认分类 举报 字号 订阅 可从IO的类层次 IO框架的设计模式来论述 总体来说 IO可以分为字节流和字符流 不同在于字符流由字节流包装而来 在IO读入之后经过JVM处理 把
  • 编译语言、解释语言与脚本语言之间的区别

    资料一 1 解释型语言与编译型语言的区别翻译时间的不同 编译型语言在程序执行之前 有一个单独的编译过程 将程序翻译成机器语言 以后执行这个程序的时候 就不用再进行翻译了 解释型语言 是在运行的时候将程序翻译成机器语言 所以运行速度相对于编译