编程语言是怎么发展的?
说到编程语言,我们通常会想到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年代,属于编程语言中的后辈了。
编程语言是怎么发展的?相关推荐
- 2020 年热门编程语言的发展方向
时间行至 2020 年,对于编程语言的未来发展,很多人会更多的期待.因此,我们向多位编程专家征询了他们对热门编程语言的看法. Python 今年 Python 最大的新闻是,其创造者和"终身 ...
- 2016 年 3 月 TIOBE 编程语言排行榜
三月头条: 编程语言正在内部发展 尽管软件行业在近年来飞速的发展,但是编程语言却没有那么快速的推进.对比10年的TIOBE榜单,你会发现尽管10年过去了,很多编程语言依然在前10名,不同的只有VB,还 ...
- 【IT资讯】TIOBE 7月编程语言排行榜显示,这些编程语言更吃香
对于编程界的初学者来说,最大的困难是决定从何处入手,或者应该学习哪种技术语言才能在职场上平步青云. 其实有时候,专业程序员也会遇到这样的问题. 近日,TIOBE 公布了 7 月编程语言指数排行榜,万年 ...
- 编程语言优缺点_R编程语言的优缺点
编程语言优缺点 In general, the R programming language is considered as the machine learning language. This ...
- 10本书,搞定这门全球1000万程序员在用的编程语言
导读:在各种编程语言排行榜中长期霸榜的Java,是全球使用人数最多的编程语言.按JetBrains的估算,全世界有900万Java程序员,但这个数据很古老了:按维基百科的说法,Java程序员的人数早已 ...
- 最令人讨厌的编程语言:C++ Java 上榜
中国有句古语:干一行,爱一行.话虽如此,但爱一行并不代表完全包容吧,至少本文就选出了 4 种令开发者讨厌的编程语言-- 参考链接:https://www.techrepublic.com/articl ...
- 4 种最令人讨厌的编程语言:Java、C++ 上榜
编译 | 张文 头图 | CSDN 下载自东方 IC VMware 工程总监汤姆·哈奇(Tom Hatch)认为:"开发者对一种语言的讨厌程度往往与它的流行程度成正比." TIOB ...
- C、C++ 不得宠,微软正开发新的编程语言!
76 年迭代与更新,编程语言界,谁主沉浮? 在六百多种编程语言中,对于开发者而言,其主观印象中或只有几种主流的编程语言,如 Java.C.C++.C#.新贵 Python 等,而之所以它们能够成为主流 ...
- Lyft押重注于苹果编程语言Swift
Lyft押重注于苹果编程语言Swift 1年后获得丰厚回报BI中文站 8月22日报道 一年多以前,打车应用Lyft做出重大决定,决心押重注于苹果开发的编程语言Swift,用这种编程语言重写其所有iPh ...
最新文章
- mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点
- 【机器学习】逻辑回归(Logistic Regression)
- SQL Server Extended Events (扩展事件)
- UNL/EVE关联putty和wireshark
- 还能开发搜索引擎吗?
- 字符串大小写互换方法
- 技术派的梦想旅行 用大数据推动旅游2.0
- Mysql可重复读实现原理分析
- html文本分类输出,构建中文网页分类器对网页进行文本分类
- 微信小程序,用户拒绝授权后重新授权;uni-app小程序,用户拒绝授权后点击无效;重新进入后拉起位置授权框;
- NVIDIA助力SiemensPLMSoftware“工业4.0创新实验室”,携手推进中国制造创新之路
- 老板要做DDD改造,我现在慌得一比!
- Linux下安装及使用mysql
- Java 头像剪切及上传服务器JSP 笔记
- Linux下C++开发系列(一)序——我是如何开始linux下C++开发的
- Linux常用的基础组件
- 《图解算法》学习之算法复杂度、运行时间
- 计算机cf编程,警察牧马人宏自定义编程计算机游戏鼠标有线大声笑/ cf英雄联盟光速质量保证....
- 51单片机驱动WS2811彩灯源程序方案
- Webshell管理工具