文章目录

  • 一、计算机编程语言分类
  • 二、高级语言分类

一、计算机编程语言分类

机器语言(面向机器)——>汇编语言(面向机器)——>高级语言(面向过程——>面向对象)

(1)机器语言属于低级语言。
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令。
全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。
(2)汇编语言
实质和机器语言相同,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
(3)高级语言
高级语言是相对于汇编语言而言,编写的程序不能直接被计算机识别,必须经过转换才能被执行。

越是低级的语言对机器越是友好,越是符合机器的思考方式,因此执行效率高。
越是高级的语言对人类越是友好,越是符合人类的思考方式,因此开发效率高。

常用编程语言及其用途

C:操作系统、嵌入式、驱动开发

C++:图形图像、科研、通信、桌面软件、游戏、游戏服务器

C#:Windows桌面软件、.NET Web、服务器

Java:
Java SE:跨平台的桌面应用,Android;
Java EE:企业级应用,web开发、服务器后端;
Java ME:手机应用、流行于非智能机时代;
Java Android:用于安卓开发应用

GO:高性能服务器应用,比较年轻

Erlang:高并发服务器应用,多用于游戏

Python:Web、科学计算、运维

Ruby:Web

Perl:运维、文本处理,用的较少

Lisp:科研,一种逻辑语言,用于人工智能

Node:一个JavaScript运行环境(runtime)

Haskell:Haskell是一种标准化的、通用纯函数编程语言,数学逻辑方面

Scala:一种类似Java的编程语言,集成面向对象编程和函数式编程的各种特性

JavaScript:前端,在node中可以做后端

HTML/CSS:标记语言,主要是给前端工程师构建页面使用

二、高级语言分类

(0)命令式语言 & 函数式语言 & 逻辑式语言

命令式语言的语义基础是模拟“数据存储/数据操作”的图灵机可计算模型,十分符合现代计算机体系结构的自然实现方式。其中产生操作的主要途径是依赖语句或命令产生的副作用。现代流行的大多数语言都是这一类型,比如 Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各种脚本语言也被看作是此种类型

函数式语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如 Lisp、Haskell、ML、Scheme 、F#等。

逻辑式语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog 。

(1)编译型语言 & 解释型语言 :两者只是翻译的时间不同

编译型语言:由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,如 C、C++、Fortran、Pascal、Delphi 、汇编…

在程序执行前,有一个单独的编译过程,将源程序—>机器语言,生成一个可执行程序 .exe,使用的转换工具称编译器。
以后再执行这个程序时,就直接用exe文件,不用再进行翻译了,所以效率较下者高。

解释型语言:运行速度较前者慢。如Python、JavaScript、VBScript、Tcl、Perl、Ruby、MATLAB …脚本语言!

每次执行程序都要一边转换一边执行,用到哪些源代码就将哪些源代码转换成机器码,用不到的不进行任何处理。
每次执行程序时可能使用不同的功能,这个时候需要转换的源代码也不一样。
不会生成可执行程序,使用的转换工具称解释器。

因为每次执行程序都需要重新转换源代码,所以解释型语言的执行效率天生就低于编译型语言,甚至存在数量级的差距。计算机的一些底层功能,或者关键算法,一般都使用 C/C++ 实现,只有在应用层面(比如网站开发、批处理、小工具等)才会使用解释型语言。

有说JAVA是混合型,也有说是解释型。 和 C# 都属于半编译半解释型的语言,源代码先转换为中间文件(字节码文件)再转换。

(2)强类型语言(静态语言) & 弱类型语言(动态语言)

强类型:如JAVA,C,C++,C#
优点:静态语言由于强制声明数据类型,让开发工具(IDE)对代码有很强的判断能力,在实现复杂的业务逻辑和开发大型商业系统、以及那些声明周期很长的应用中,开发者可以依托强大的IDE来更高效、更安全地开发。

是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须生命数据类型。

弱类型:如超级脚本语言Python,Ruby…脚本语言JavaScript,VBScript,PHP,ASP,Perl,SQL,Shell…HTML…宏语言…
优点:动态语言思维不受约束,可以任意发挥,把更多的精力放在产品本身上;集中思考业务逻辑实现,思考过程就是实现过程。

是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。

(3)面向过程型 & 面向对象型

面向过程:C;Fortran语言主要用于编写与数值计算有关的程序,广泛应用于科学和工程计算领域。

面向对象的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL、JAVA、C# 等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Python、 Objective-C等。

(4)脚本语言

又称为扩建的语言,是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。
脚本语言(JavaScript,VBScript,Python,PHP,Perl,Ruby等)介于标记语言HTML和编程语言C,C++,Java,C#等之间。
辨别:
脚本语言的特点是语法简单,一般以文本形式保存,并且不需要编译成目标程序,在调用的时候直接解释。这可以当做是脚本语言的判断标准,比如道说JavaScript,你只需要用记事本新建一个Html文件,在里面加上一段脚本就可以了,在浏览器打开Html文件时自然会调版用JS脚本。总之你能用记事本写出程序,不需要编译环境权生成目标程序的基本上就是脚本语言。

(5)标记语言
常见HTML,XML…(一般分三类:标示性的,过程性的,描述性的)
是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。

区别:

1、标记语言不用于向计算机发出指令,常用于格式化和链接。
2、脚本语言介于标记语言和编程语言之间,脚本语言脚本语言不需要编译,可以直接用,由解释器来负责解释。
3、编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

常用编程语言简介大全相关推荐

  1. openresty开发系列12--lua介绍及常用数据类型简介

    openresty开发系列12--lua介绍及常用数据类型简介 lua介绍   1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de ...

  2. 进入注册表一些常用的命令大全汇总

    进入注册表一些常用的命令大全汇总 进入注册表有很多的命令.如果很熟悉了.使用起来也很方便的 我们可以点击桌面左下角的开始>>运行,在运行窗口中输入regedit命令即可打开注册表,如图所示 ...

  3. JavaScript工作面试常用知识点总结大全

    JavaScript工作面试常用知识点总结大全 JS语言的构成 ECMAScript - JavaScript的核心 BOM - 浏览器对象模型 DOM - 文档对象模型 JS的引入方式 外部引入:通 ...

  4. 思科、华为、H3C常用命令对比大全

    思科.华为.H3C常用命令对比大全 cisco常用命令解释 视图模式介绍: 普通视图 router> 特权视图 router# /在普通模式下输入enable 全局视图 router(confi ...

  5. Oracle 数据库常用操作语句大全

    原文:Oracle 数据库常用操作语句大全 一.Oracle数据库操作 1.创建数据库      create database databasename 2.删除数据库      drop data ...

  6. 几种常用编程语言的编程思想和方法 转

    搞软件的人,编程语言的掌握是基本功,如果单单是学习语法,最慢的一周之内也应该可以搞定(个人认为 语法层面c++是最复杂的).不幸的是,软件的本质是逻辑,解决方案的设计是要借助某种解决问题或编程的思想的 ...

  7. C语言常用排序方法大全

    C语言常用排序方法大全 /* ============================================================================= 相关知识介绍( ...

  8. cmd锁定计算机病毒,反病毒常用CMD命令大全

    反病毒常用CMD命令大全 I.文件类: 1.attrib 显示或更改文件属性 命令格式: ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive ...

  9. 【Netty】NIO 网络通信 SelectionKey 常用 API 简介

    文章目录 I . SelectionKey 简介 II . SelectionKey 事件简介 III . SelectionKey 常用 API 简介 I . SelectionKey 简介 1 . ...

  10. SpringBoot常用配置简介

    SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories # Bootstrap components org.springf ...

最新文章

  1. 收购美新!中国MEMS传感器和国外差距多大
  2. 软件公司因女员工怀二胎拒绝与其续约
  3. iOS--OCR图片识别
  4. PyTorch分布式训练
  5. Linux字体大小颜色,Linux技巧:自定义Gnome面板字体和颜色
  6. 如何忽略证书继续访问_前5个最容易被忽视的可访问性问题
  7. RSA openssl_public_encrypt false
  8. Python二级题库答案纠正
  9. php steam 第三方登录,Steam第三方登录
  10. wincc v7.3中文版安装教程
  11. VMware虚拟终端的下载及安装
  12. win7下crtl+scroll会触发蓝屏重启(滑稽脸)
  13. 方差 标准差_总体、样本、总体方差、样本方差、抽样方差和标准误
  14. 你拍一我拍一上学得学计算机,儿歌你拍一我拍一
  15. 根据日期推算星期几——含判断日期正误
  16. Android NDK jni开发,适当的给Android 代码加密
  17. P2V vCenter Converter Standalone迁移(问题记录)
  18. CI520 国产13.56MHz非接触式读写器NFC读卡芯片替代CV520低成本替换
  19. 如何基于nonebot2做一个q群机器人
  20. MATLAB修改Figure里图例的名称

热门文章

  1. 高德地图No implementation found for long com.autonavi.amap.mapcore.MapCore
  2. [MSSQL]SQL简繁转换函数
  3. 【Python】基于Python的百度迁徙5——实时拥堵与拥堵指数(附代码)
  4. discuz x2.5 mysql_DiscuzMySQL 优化 - Discuz! X2.5 效率机制 - 1314学习网
  5. PHP 缓存 内存,PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP
  6. 想要空号检测软件检测结果更加准确 那么注意选择
  7. 《21天学通C语言》
  8. html怎么让图片在左侧文字在右边,网页设计 怎么让图片在左 文字在右
  9. 为什么学习线性代数_工程应用简介
  10. 基于freemarker生成pdf