在如今信息发达的时代,科技日新月异,计算机和Internet网络的发展也成为人们日常生活的重要部分。学习一两门计算机编程语言也如当初学习英文一样的火热,随着人工智能AI和云计算的不断发展,Python语言和Scala语言已经成为这两个领域里面最为火热的编程语言了,可以预知未来学习计算机编程语言的人也一样会如同学习英文一样的成为一种新常态,并且成为一种稳定的常态。以下笔者将以自己的学习认知,简单的阐述一下计算机编程语言的发展。

计算机语言发展的三个阶段:机器语言、汇编语言与高级语言

编程语言简介

计算机语言,英文名Computer Language,或者Programming Language,指的是人与计算机进行交互的一种语言,就如我们学习外语一样的,只是一种形式工具,主要与计算机交流的是我们的思想,将我们自己的思想以计算机能识别的语言赋予他,就形成了程序。

而实现我们的思想的一系列的问题的就是向计算机发送指令,对于通信的双方而言,指令的格式,组成字符,数字数据,语法等一系列的标准就很重要了,而我们学习的就是这一系列的标准,从而能将自己的思想赋予计算机,让计算机能智能化、自动化的为我们服务。随着这一思想的不断演化发展,就逐步形成了一种新的语言,即就是计算机语言!

1946年,于宾夕法尼亚大学,莫克利(JohnW.Mauchly)和艾克特(J.PresperEckert)发明了世界上第一台通用计算机,命名为“ENIAC”。那时候程序员必须手动控制计算机,当时唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konradzuse)。

计算机语言发展简史

计算机是一系列的硬件构成的能完成强大功能的一个结合体,他唯一能够识别的就是逻辑运算,即0和1,所以最初的计算机交互语言是以二进制的机器语言,由于太难理解与记忆,人们就定义了一系列的助记符帮助理解与记忆,就逐渐产生了汇编语言,但是汇编还是不好理解与记忆,就逐渐发展了高级语言。随着C、Fortran等结构化高级语言的诞生,使程序员可以离开机器层次,通过更加抽象的层次来表达自己的思想,同时也诞生的三种重要控制结构,即就是顺序结构、选择结构、循环结构,以及一些基本数据类型都能够很好的让程序员以接近问题本质的方式去描述、抽象问题。但随着需要处理的问题规模的不断扩大,一般的程序设计模型无法克服错误随着代码的扩大而级数般的扩大,这个时候就出现了一种新的思考程序设计方式和程序设计模型,即就是面向对象程序设计,同时也诞生了一批支持这种设计模型的计算机语言,例如C++、Java、Python等。

简而言之,计算机语言从最初的机器语言(二进制),发展到使用助记符的汇编语言,再到更易理解的高级语言,包括C、C++、Java、C#、Python等等。计算机程序的设计模型从结构化的编程,再到面向对象的编程。当然计算机只能识别二进制语言,那么很明显在其他计算机语言与机器语言之间就有着一个桥梁,起着翻译一样的功能,使得通信双方能够交流,而这个翻译官就是编译器。而由于编译的原理不一样,我们将计算机语言分为编译性语言(例如C、C++)和解释性语言(Shell、Python)。

第一代计算机编程语言

第一代的计算机语言就是机器语言,即就是0\1组成的代码,人们通过0\1与计算机进行交互与数据交换,这样的编程实在是太难,对于大多数人来说都是十分的困难的,随着其时间的发展,就逐步演化了第二代计算机语言。不过这是计算机的基础,因为计算机硬件只能识别0\1的二进制,无论后面的计算机语言如何发展,最总在计算机内能够执行的只能是0\1的二进制编码,故而后面所有的计算机语言都需要一个翻译的东西,将其翻译为二进制的编码执行,这个起着翻译官作用的就是编译器!

第二代计算机编程语言

由于第一代计算机语言的学习难度系数极高,就发展出使用一些助记符来帮助人们编程,这就是第二代编程语言——汇编语言,使人们与计算机进行交流沟通时便捷一些,人们学习编程起来也比较容易,这种使用英文助记符来帮助人们进行编程,再由编译器翻译为0\1的代码,这样计算机就能识别了。但是随着信息技术的不断发展,汇编语言已经不能够满足大部分人们的需求,就催生了第三代计算机编程语言。

第三代计算机编程语言

所谓的第三代计算机编程语言,就是大家经常熟知的一些编程语言。而对于计算机高级语言的发展分为两个阶段,以 1980 年为分界线,前一阶段属于结构化语言或者称为面向过程的语言,后一阶段属于面向对象的语言。

然而对于什么叫面向过程,什么叫面向对象?这是很难解释的一个问题,故而暂时不需要深入理解,简单来说就是编程时的两种设计思想。

面向过程语言中最经典、最重要的就是C语言。Fortran、Basic 和 Pascal 语言基本上已经很少有人使用了。但是C语言一直在用,因为C语言是计算机领域最重要的一门语言,其在liunx编程和嵌入式编程有极大的地位。但是C语言也有缺陷,它的缺陷只有在学完面向对象语言之后才能体会到。

故而从 20 世纪 80 年代开始又产生了另外一种“以面向对象”为思想的语言,其中最重要、最复杂的就是 C++。C++ 从易用性和安全性两个方面对C语言进行了升级。C++ 是一种较复杂、难学的语言,但是一旦学会了则非常有用。因为 C++ 太复杂,所以后来就对 C++ 进行了改装,产生了两种语言,一个是 Java,另一个是 C#。Java 语言是现在最流行的语言之一。C# 则是微软公司看 Java 很流行而写的一个与 Java 语法相似的语言。因为 Java 和 C# 几乎是一模一样的,所以你只需要学习其中的一种语言就可以了。

同时随着近年来的人工智能和云计算的火热发展,Python语言和Scala语言成为人工智能和云计算Hadoop框架的重要编程语言,逐渐成为时代的主流编程语言。在计算机的领域里,还有一些专用的计算机编程语言,不如网页设计的三要素:HTML、CSS和JavaScript ,这三者就是专用的计算机编程语言。

人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
四大机器学习编程语言对比:R、Python、MATLAB、Octave
适用于人工智能场景的五大编程语言
入行人工智能机器人研发,选择哪一种机器人编程语言比较好?


多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站

计算机语言发展的三个阶段,机器语言、汇编语言与高级语言相关推荐

  1. 计算机专业英语第二版张强华翻译_计算机语言发展的三个阶段,机器语言、汇编语言与高级语言...

    在如今信息发达的时代,科技日新月异,计算机和Internet网络的发展也成为人们日常生活的重要部分.学习一两门计算机编程语言也如当初学习英文一样的火热,随着人工智能AI和云计算的不断发展,Python ...

  2. 机器语言,汇编语言,高级语言,c,java语言编译到运行过程

    机器语言:    计算机的硬件作为一种电路元件,它的输出和输入只能是有电或者没电,也就是所说的高电平和低电平,所以计算机传递的数据是由"0" 和"1"组成的二进 ...

  3. 计算机语言介绍(机器语言、汇编语言、高级语言)

    计算机语言是人与计算机之间通信的媒介,按照计算机语言发展可分为机器语言.汇编语言和高级语言,下面个人将结合自身知识对几种语言进行阐述. 一.机器语言 机器语言是计算机能直接识别的二进制代码,由机器指令 ...

  4. 计算机语言:机器语言、汇编语言、高级语言

    目录 计算机语言是用来干啥的呢??? 1.机器语言 2.汇编语言 3.高级语言 计算机语言是用来干啥的呢??? 当你想要计算机按照你的"意愿"去办事,那就需要用计算机的语言告诉ta ...

  5. 计算机语言---机器语言、汇编语言、高级语言

    一.什么是计算机语言? 计算机语言指用于任何计算机之间通讯的语言.计算机语言是人与计算机之间传递信息的媒介. 二.计算机语言有哪几种? 计算机语言分为三种:机器语言.汇编语言和高级语言 1.机器语言 ...

  6. 计算机语言分为三种:机器语言、汇编语言和高级语言

    计算机语言有哪几种? 计算机语言分为三种:机器语言.汇编语言和高级语言 1.机器语言 机器语言是用二进制代码表示计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计 ...

  7. python语言翻译成汇编语言_计原 || 1计算机语言发展与计算机层次结构

    本文主要内容:计算机语言发展与计算机层次结构 约1500字 早期的计算机,只有机器语言 机器语言,就是直接用0.1代码表示的语言,用户必须用0和1来编写程序,用二进制的代码来表示一切需求 这对程序员的 ...

  8. 计算机编程语言(机器语言,汇编语言,高级语言)

    计算机语言:计算机语言通常是一个能完整.准确和规则地表达人们的意图,并用以指挥或控制计算机工作的"符号系统". 计算机语言通常分为三类:即机器语言,汇编语言和高级语言. 1. 机器 ...

  9. python语言属于机器语言汇编语言高级语言自然语言_机器语言,汇编语言,高级语言的主要特点及区别是什么...

    机器语言是计算机能直接运行的语言,是二进制语言,属于低级语言:汇编语言是面向机器的低级语言,不能被机器直接识别,需要编译:高级语言是从人类的逻辑思维角度出发的计算机语言,不能被机器直接识别,需要编译. ...

最新文章

  1. 求求你不要在用!=null判空了
  2. 对云计算的忽视是 银行的战略失误
  3. 关系数据库规范化理论(关系数据库设计理论)
  4. RecyclerView Item 布局宽高无效问题探究
  5. Java中通过代理对类进行修改
  6. 分针网——怎么轻松学习JavaScript
  7. 数据库——环境初建改端口和密码(转)
  8. ubuntu scp命令或者用root连接ssh提示:Permission denied, please try again.错误
  9. 本地环境和测试环境搭建
  10. jQuery的on绑定click和直接绑定click区别
  11. XidianOJ 1090 爬树的V8
  12. python统计excel_Python操作excel做些统计
  13. 救命!!连接Oracle问题,在线等!
  14. 获取 TUniConnection.SpecificOptions默认值和下拉框列表值
  15. mysql left join 耗时_性能调优:mysql之left join
  16. Listview+DataPager分页
  17. effective Java chapter 2创建和销毁对象
  18. Spring Cloud微服务实战
  19. 25岁,上帝找你谈一次灵魂。——送给女孩,也送给男孩
  20. 网线插座板上网络模块接线

热门文章

  1. 为什么射极输出器的输入电阻跟负载R(L)有关?
  2. layui菜鸟教程--乐字节前端
  3. 【故事】跟零计算机基础的房东女儿讲了一下午的中间人劫持京东事件后,她感激涕零,决定给我免除房租(上)...
  4. Python股票数据爬虫解读
  5. R配对样本t检验(PAIRED T-TEST​​​​​​​)
  6. 200多个JS小技巧
  7. IPFS-Cluster 集群安装与验证测试
  8. vue-baidu-map使用setMapStyleV2自定义样式
  9. ConvNext模型复现--CVPR2022
  10. 新颖的自我介绍_新颖一分钟自我介绍4篇