程序设计语言的分类和详解

程序设计语言的分类

计算机只能执行机器语言,无论什么语言最终都要转换成机器语言才能被执行。高级语言又称算法语言(参考文章:计算机组成原理学习笔记

程序设计语言
机器语言
汇编语言
高级语言

在这里插入图片描述

166320037_1_20190718044441644

  • 编译型语言运行过程:效率高
编译器
编译器
汇编器
链接器
源代码
预处理
目标代码
机器码
机器执行
  • 解释型语言运行过程:跨平台
源代码
解释器
机器执行

各种语言类型的优缺点:(引自***好文值得推荐^_^)

汇编语言优缺点:

  • 优点:能够保持机器语言的一致性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,可以访问所有能够被访问的软、硬件资源,目标代码简短,占用内存少,执行速度快。

  • 缺点:不同的处理器有不同的汇编语言语法和编译器,编译的程序无法在不同的处理器上执行,缺乏可移植性,难于从汇编语言代码上理解程序设计意图,可维护性差,即使是完成简单的工作也需要大量的汇编语言代码,很容易产生bug,难于调试,使用汇编语言必须对某种处理器非常了解,而且只能针对特定的体系结构和处理器进行优化,开发效率很低,周期长且单调。

高级语言的优缺点:

  • 优点:高级语言接近算法语言,易学、易掌握,级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;高级语言远离机器语言,与具体的计算机硬件关系不大,可移植性好,重用率高;由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量。
  • 缺点:运行速度基本上比直接用汇编写的慢,速度和程序大小与编译软件有关。

编译型语言的优缺点:

  • 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
  • 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

解释型语言的优缺点:

  • 优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
  • 缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

拓展:

  • 编译程序:也称编译器,对源代码进行编译执行
  • 编译执行:将源代码(高级语言)一次翻译成目标程序(一般是低级语言,例如:汇编语言或者机器语言)
  • 解释程序:也称解释器(直译器),对源代码进行解释执行(不生成目标程序,会产生中间产物,例如:java通过编译器产生.class字节码文件,然后再通过jvm中的Java解释器解释执行,不产生目标程序所以Java是一种解释型语言)
  • 解释执行:将源代码一条一条的翻译成目标代码后,同时翻译一条就让计算机执行一条
  • 汇编程序:也称汇编器,将汇编语言翻译成机器语言
  • 链接程序:也称链接器,将一个或多个由编译器或汇编器生成的目标文件外加库打包成一个可执行文件
  • 预处理:编译器能够通过前后的代码,在不改变本来含义的前提对源代码做出相应的调整,使源代码更简洁,更高效

好文值得推荐 => 点击查看详情
编译器和解释器的区别 => 点击查看详情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识汲取者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值