说到编程语言,我们通常会想到JAVA、C#之类的。不知道你有没有好奇过,编程语言到底是怎么发展而来的。别急,听小编慢慢道来。

编程语言的定义为计算机和人都能识别的语言,通过编程语言,程序员将指令发给计算机,让计算机按照程序员的要求做出某种反应。根据这个定义,可能会有人觉得,编程语言的出现是晚于计算机的,但事实相反,最早的编程语言是要早于电子计算机的。之前我们在《计算机奇女艾达·拜伦》这篇文章中提到过,最早的程序出现在艾达·拜伦在1842年的差分机手稿中,此时距离电子计算机的出现还有差不多一个世纪。艾达·拜伦在手稿中提出用打孔纸带来控制差分机,并采用循环嵌套的方式来节约成本、优化计算。虽然艾达写下的这些程序在当时并没有实际运行过,但里面的许多编程理念在后世均有使用,所以IT界达成共识,尊艾达·拜伦为“程序员之母”。

抛开这些“概念程序”不谈,我们一般认为的编程语言与电子计算机同时诞生于上世纪四十年代。编程语言的发展主要经历了机器语言、汇编语言、高级语言三个时代,越来越通用、越来越亲民是其主要发展路线。最早的编程语言被称为“机器语言”,它也是最基本的编程语言,完全由0和1构成,编写的时候在纸带上打孔,放入机器中运行,是就是“1”,否就是“0”,如果有虫子飞到纸带上面,就会导致“bug”,这也是“bug”一词的由来。

机器语言的优点显而易见,更快。因为这就是计算机的原生语言,好比有人用你家乡话和你聊天,你的大脑反应起来就很快。但问题是,我们都不是机器人,我们是人类,机器语言对于人类而言如同天书,不仅复杂、冗长,还特别容易错,效率非常低下,于是,汇编语言应运而生。

其实汇编语言相对于我们熟悉的这些编程语言而言也很复杂,但它最起码加入了人的语言在里面,不完全是机器语言。它会用到英文缩写,比如“MOV”代表数据传递,“ADD”代表加,机器会自动将这些缩写符号转变为0和1的二进制码。可以说,汇编语言其实相当于在机器语言上套了曾皮,本质上还是使用机器语言的逻辑,所以它继承了机器语言的缺点:繁琐、容易错,最关键的是严重依赖机器本身,泛用性很差。但不像机器语言基本上已被淘汰,汇编语言还有一定的应用空间,只是都集中在底层硬件操作和一些小程序上。

我们熟悉的所有编程语言,无论是中小学信息课教的“BASIC”和听起来更高大上的“C++”“python”和“JAVA”,都属于高级语言。高级语言的特点就是可以将多条指令整合成一条进行发送。计算机并不能直接识别高级语言,需要将其翻译成机器语言后才能运行,所以需要一个翻译的过程,速度相对于前两种语言而言就会更满一点,但它的优点显而易见。因为更加贴近自然语言,它极大地降低了编程的门槛,提高了编程的效率,而且拥有很强的通用性。世界上第一个高级语言名叫FORTRAN,由一名叫做约翰·巴克斯的人于1954年发明,至今,FORTRAN还在许多高端领域有着广泛的应用。令程序员们又爱又恨的C语言诞生于1970年,与它有继承关系的C++诞生于1983年,而JAVA、Python等语言都诞生于90年代,属于编程语言中的后辈了。

编程语言是怎么发展的?相关推荐

  1. 2020 年热门编程语言的发展方向

    时间行至 2020 年,对于编程语言的未来发展,很多人会更多的期待.因此,我们向多位编程专家征询了他们对热门编程语言的看法. Python 今年 Python 最大的新闻是,其创造者和"终身 ...

  2. 2016 年 3 月 TIOBE 编程语言排行榜

    三月头条: 编程语言正在内部发展 尽管软件行业在近年来飞速的发展,但是编程语言却没有那么快速的推进.对比10年的TIOBE榜单,你会发现尽管10年过去了,很多编程语言依然在前10名,不同的只有VB,还 ...

  3. 【IT资讯】TIOBE 7月编程语言排行榜显示,这些编程语言更吃香

    对于编程界的初学者来说,最大的困难是决定从何处入手,或者应该学习哪种技术语言才能在职场上平步青云. 其实有时候,专业程序员也会遇到这样的问题. 近日,TIOBE 公布了 7 月编程语言指数排行榜,万年 ...

  4. 编程语言优缺点_R编程语言的优缺点

    编程语言优缺点 In general, the R programming language is considered as the machine learning language. This ...

  5. 10本书,搞定这门全球1000万程序员在用的编程语言

    导读:在各种编程语言排行榜中长期霸榜的Java,是全球使用人数最多的编程语言.按JetBrains的估算,全世界有900万Java程序员,但这个数据很古老了:按维基百科的说法,Java程序员的人数早已 ...

  6. 最令人讨厌的编程语言:C++ Java 上榜

    中国有句古语:干一行,爱一行.话虽如此,但爱一行并不代表完全包容吧,至少本文就选出了 4 种令开发者讨厌的编程语言-- 参考链接:https://www.techrepublic.com/articl ...

  7. 4 种最令人讨厌的编程语言:Java、C++ 上榜

    编译 | 张文 头图 | CSDN 下载自东方 IC VMware 工程总监汤姆·哈奇(Tom Hatch)认为:"开发者对一种语言的讨厌程度往往与它的流行程度成正比." TIOB ...

  8. C、C++ 不得宠,微软正开发新的编程语言!

    76 年迭代与更新,编程语言界,谁主沉浮? 在六百多种编程语言中,对于开发者而言,其主观印象中或只有几种主流的编程语言,如 Java.C.C++.C#.新贵 Python 等,而之所以它们能够成为主流 ...

  9. Lyft押重注于苹果编程语言Swift

    Lyft押重注于苹果编程语言Swift 1年后获得丰厚回报BI中文站 8月22日报道 一年多以前,打车应用Lyft做出重大决定,决心押重注于苹果开发的编程语言Swift,用这种编程语言重写其所有iPh ...

最新文章

  1. mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点
  2. 【机器学习】逻辑回归(Logistic Regression)
  3. SQL Server Extended Events (扩展事件)
  4. UNL/EVE关联putty和wireshark
  5. 还能开发搜索引擎吗?
  6. 字符串大小写互换方法
  7. 技术派的梦想旅行 用大数据推动旅游2.0
  8. Mysql可重复读实现原理分析
  9. html文本分类输出,构建中文网页分类器对网页进行文本分类
  10. 微信小程序,用户拒绝授权后重新授权;uni-app小程序,用户拒绝授权后点击无效;重新进入后拉起位置授权框;
  11. NVIDIA助力SiemensPLMSoftware“工业4.0创新实验室”,携手推进中国制造创新之路
  12. 老板要做DDD改造,我现在慌得一比!
  13. Linux下安装及使用mysql
  14. Java 头像剪切及上传服务器JSP 笔记
  15. Linux下C++开发系列(一)序——我是如何开始linux下C++开发的
  16. Linux常用的基础组件
  17. 《图解算法》学习之算法复杂度、运行时间
  18. 计算机cf编程,警察牧马人宏自定义编程计算机游戏鼠标有线大声笑/ cf英雄联盟光速质量保证....
  19. 51单片机驱动WS2811彩灯源程序方案
  20. Webshell管理工具

热门文章

  1. jquery徽章_城市需要能够获得数字徽章
  2. 计算机专业职业规划模版
  3. 请编程实现输出自然数1到1000中含有数字2的数的个数。
  4. Java最大值最小值问题(用户输入)
  5. javaer的目标,是星辰大海!
  6. python脱离环境运行_脱离Python环境运行的问题所使用的工具介绍
  7. Linux+javaEE学习笔记之Linux网络环境配置
  8. 华为广告ADS广告位测试ID
  9. 搭建深度学习网络时节约GPU显存的技巧
  10. 基于FPGA的波、幅、频、相可调DDS信号发生器的设计