文章目录

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

一、计算机编程语言分类

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

(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. 关于年终奖励的扣税算法BUG
  2. 简单计算机病毒黑屏,教大家一个黑屏小程序
  3. DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略
  4. Solr的自动完成实现方式(第三部分:Suggester方式续)
  5. 牛客多校3 - Operation Love(几何+叉积确定三点顺逆)
  6. 前端学习(2798):实现图片预览的效果
  7. SQL工作笔记-达梦数据库关于时间的函数
  8. [转载] python创建集合、计算a|b_python之路(集合,深浅copy,基础数据补充)
  9. iftop网卡流量监控软件
  10. java丑数算法_Java代码如何实现求第N个丑数?实现和思路分享
  11. beanshell断言_从BeanShell断言脚本调用Jmeter函数
  12. 数据库实验 实验一 数据库创建与管理
  13. 北大计算机python教程_北京大学数据结构与算法(C++版),全套视频教程学习资料通过百度云网盘下载...
  14. 拆 米家台灯_拆机测评 篇二: 就是一台149元 Mijia 米家台灯,有什么可测的?...
  15. Firefox插件的安装及使用方法(持续更新中)
  16. excel自动求和,替换空值
  17. java项目编码问题解决
  18. 迷宫(二) 计蒜客--1596
  19. ln x的matlab表示,ln在matlab中怎么表示
  20. 禅道登录显示用户名密码错误

热门文章

  1. foobar2000 for mac(经典音乐播放器)
  2. winhex 15.6 和 HexWorkshop 6.01注册机
  3. 网管员的任务与职责漫谈
  4. 微信小程序 # 仿写微信通讯录页面(字母侧栏效果)
  5. ClockworkMod Recovery实现应用android一键化在线卡刷升级
  6. 游戏策划案应该分哪几个方面来编写?制作游戏系统应该准备整理那些方面的内容?游戏策划相关分析
  7. 电脑软件推荐【含软件链接】:压缩,插件,截屏,录制,办公,电脑防护与修复,磁盘清理,软件卸载......
  8. java 开源客服系统_一个开源的智能客服系统
  9. 行业报告归档 2019.2.8
  10. DIGITS使用步骤