
文章插图
编程语言分类:
1、高级语言和低级语言两大类 , 大致分为3种结构:面向机器 , 面向过程和面向对象 。
高级语言分为两类:面向过程、面向对象 。
C、C++、C#, Java、Python、PHP、Pascal、Lisp、Prolog、FoxPro、Go等都是高级语言 。
为了克服低级语言的缺点 , 20世纪50年代由美国约翰·贝克斯(John Backus)创造出了第一个计算机高级语言——FORTRAN语言 。
相对于低级语言来说 , 高级语言采用易于识别和记忆的字符来作为关键字 , 也更接近人类的思维方式 , 编写容易读写性好 , 开发效率更高 。高级语言更容易移植 。做少量修改甚至无需修改 , 即可将代码运行在不同平台的计算机上 。
· 面向对象的高级语言:
C++ , Java , Python, C#, EIFFEL , Simula 67等 。
· 面向过程的高级语言:
C , Fortran语言 。
面向过程和面向对象并用的语言:PHP 。当然面向对象是大势所趋 。。
面向机器的低级语言(包括机器语言和汇编语言)
机器语言:
计算机硬件只能识别“断开”和“闭合”两种物理状态 , 也就是0和1 。使用机器指令效率最高 , 因为无需对指令进行翻译 。但是机器语言对人类不友好 , 一大串0和1 , 很难识别和记忆 , 且容易出错 。
汇编语言:
采用人类容易记忆和识别的助记符来代表一些0和1的指令 , 比如AND代表加法 。
用助记符(Mnemonics)代替机器指令的操操作码 , 用地址符号(Symbol)或标号(Label)代替指令或操作数的地址 。在不同的设备中 , 汇编语言对应着不同的机器语言指令集 , 通过汇编过程转换成机器指令 。普遍地说 , 特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植 。
MOVAX,2MOV BX,3ADD AX,BX越是低级的语言对机器越是友好 , 越是符合机器的思考方式 , 因此执行效率高 。
越是高级的语言对人类越是友好 , 越是符合人类的思考方式 , 因此开发效率高 。
2、高级语言又分 解释型语言和编译型语言
高级语言的可移植性是基于编译或者解释这个过程 , 对人类友好的高级语言只有经过处理才能被操作系统识别并加载到计算机硬件上最终执行 。
高级语言的编译和解释都是面向操作系统而言 , 并非面对计算机硬件 。
编译型语言
编译型语言:程序在执行之前需要一个专门的编译过程 , 把程序编译成 为机器语言的文件 , 运行时不需要重新翻译 , 直接使用编译的结果就行了 。程序执行效率高 , 依赖编译器 , 跨平台性差些 。如C、C++、Pascal、Delphi等.
编译就是把一个事先编好的叫做“编译程序”(编译器)的软件安装在计算机内 , 当需要执行高级语言程序时 , 编译程序就把整个“高级语言的源程序”翻译成“机器语言的目标程序” 。解释型语言
而相对的,解释性语言编写的程序不进行预先编译 , 以文本方式存储程序代码 。在发布程序时 , 看起来省了道编译工序 。但是 , 在运行程序的时候 , 解释性语言必须先解释再运行 。
解释型语言进入计算机后 , 解释程序一边扫描一边解释 , 逐句输入逐句翻译 , 计算机一行一行执行 , 并不产生目标程序 。比如JAVA就是一种解释型高级语言 。
编译型语言由于程序执行速度快 , 同等条件下对系统要求较低 , 因此像开发操作系统、大型应用程序、数据库系统等时都采用它 , 像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言 , 而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言 , 如Java、JavaScript、BASIC、Perl、Python、Ruby、MATLAB 等等 。
3、强类型语言(静态语言)和弱类型语言(动态语言)
强类型语言(静态语言):是编译时变量的数据类型就可以确定的语言 , 大多数静态语言要求在使用变量之前必须声明数据类型 。比如Java、C、C++、C#等 。
弱类型语言(动态语言):是运行时才确定数据类型的语言 , 变量在使用之前无需申明类型 , 通常变量的值是被赋值的那个值的类型 。比如Php、Asp、JavaScript、Python、Perl等等 。
弱类型语言是数据类型可以被忽略的语言 。它与强类型语言相反 , 一个变量可以赋不同数据类型的值 。一个变量的类型是由其上下文决定的 , 效率更高 。
强类型语言是必须强制确定数据类型的语言 , 一旦一个变量被指定了某个数据类型 , 如果不经过强制转换 , 那么它就永远是这种数据类型 。一个变量的类型是申明的时候就已经确定的 , 更安全 。
【一文了解所有编程语言 面向过程的语言有哪几种】静态语言由于强制声明数据类型 , 让开发工具(IDE)对代码有很强的判断能力 , 在实现复杂的业务逻辑和开发大型商业系统、以及那些声明周期很长的应用中 , 开发者可以依托强大的IDE来更高效、更安全地开发 。
推荐阅读
- 一文了解抖音作品审核机制 抖音视频审核中是什么原因
- 一文了解nfc功能的3大作用 华为手机nfc是啥功能
- 教你7种故障排除方法 苹果6s没声音了解决方法
- 全面了解荣耀9详细参数 荣耀9参数配置详细介绍
- 10秒钟快速了解手机型号 怎么查看苹果手机型号及尺寸
- 一文了解置换机概念 苹果置换机和官换机有什么区别
- 一文详解共享流量使用规则 中国移动流量共享规则
- 一文了解公益岗的性质待遇 公益岗是什么编制类别
- iPhone备份的4种方法 苹果手机怎么备份所有数据
- 全家桶所有食物介绍 肯德基全家桶里面都有什么