编程语言和分类

简介: 编程语言和分类

编程语言和分类



  编程语言总体分以为机器语言、汇编语言、高级语言三类。



1、机器语言


计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。


 机器语言属于低级语言,机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大。现在仅限计算机生产厂家的专业人员学习使用。



2、汇编语言


  汇编语言虽然指令采用了英文缩写的标识符,更容易识别和记忆,但它的实质和机器语言是相同的,都是直接对硬件操作。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增。


缺点:汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。


 优点:用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。


 特点:重视运行效率而不是开发效率,可以让人理解底层工作原理。



3、高级语言


  高级语言主要是相对于汇编语言而言,高级语言将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。


特点:高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。


 1、编译类


 编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的),使用比较方便、效率较高。如C、C++、Delphi等

 优点:编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。


 缺点:程序执行效率高,依赖编译器,跨平台性差些。



 2、解释类


 执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序。如Python、Java、PHP、Ruby等语言。


 优点:跨平台好,一份代码,到处使用

 缺点:执行速度慢,依赖解释器运行




4、编程语言总结


机器语言——优点是最底层,速度最快,缺点是最复杂,开发效率最低


 汇编语言——优点是比较底层,速度最快,缺点是复杂,开发效率最低


 高级语言——编译型语言执行速度快,不依赖语言环境运行,跨平台差


       解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行



相关文章
|
机器学习/深度学习 存储 算法
深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率
深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率
|
存储 算法 固态存储
【计算机组成原理】存储系统
【计算机组成原理】存储系统
5801 0
【计算机组成原理】存储系统
|
JavaScript 前端开发
JavaScript 数字精度丢失问题
【10月更文挑战第24天】解决 JavaScript 数字精度丢失的问题需要综合考虑多种因素,并根据具体情况选择合适的方法。通过合理的处理和预防,可以在一定程度上减少精度误差的影响,确保计算结果的准确性。
|
缓存 边缘计算 应用服务中间件
一篇文章让你搞懂到底什么是 CDN
一篇文章让你搞懂到底什么是 CDN
1364 1
|
Web App开发 移动开发 JavaScript
通过H5(浏览器/WebView/其他)唤起本地app
通过H5(浏览器/WebView/其他)唤起本地app
|
Dart
Flutter笔记:手动配置VSCode中Dart代码自动格式化
Flutter笔记:手动配置VSCode中Dart代码自动格式化
1545 5
|
存储 算法 决策智能
【算法】博弈论(C/C++)
【算法】博弈论(C/C++)
|
JavaScript 前端开发 API
vue 报错【解决方案】/sockjs-node/info?t=
vue 报错【解决方案】/sockjs-node/info?t=
1676 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的校园报修管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的校园报修管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
269 3
|
存储 移动开发 数据可视化
贝叶斯优化实战(二)(5)
贝叶斯优化实战(二)
416 0