编程语言的发展历程
一. 前言
话不多说,进入正题,现在不管是手机软件,还是系统软件,其实都离不开软件开发。要想实现软件开发,则必须有编程语言,作为一个有志于成为程序员的大好青年,你有必要先了解编程语言的发展历程。
二. 认识编程语言
第一代语言
第一代编程语言,非机器语言莫属。所谓的机器语言,就是计算机能直接识别的语言格式,计算机属于电子元器件,最容易识别的两种状态就是"开"和"关"。例如家用电器,就是要么执行,要么不执行这两种状态。而在计算机中,直观体现的指令就是1和0。例如:101代表数字5,其他的内容也是如此,在计算机中,底层的指令都是由1和0组成的。
对于计算机来说,识别1和0很容易,但对于程序员来讲,这差不多就相当于是在看"天书"。那么有没有办法能够让程序员更容易地读懂计算机中的数据呢?答案是肯定的!这就好比我们要和老外交流,你听不懂老外在讲什么,我们就可以找一个翻译,在程序中我们所找的这位“翻译官”,就是我们所谓的第二代语言。
第二代语言
第二代编程语言是汇编语言。这种语言相当于是对机器语言的封装,毕竟1010的组合太难记了,所以就产生了汇编这种中间层语言。
相对于机器语言,汇编语言的可读性相对更好一些。好比人类语言,一开始可能只是一些肢体语言,慢慢地发展出了象形文字,最后才有了真正的文字,这个是人类发展的必然阶段,程序亦是如此。
当然,汇编语言对于程序员来讲,也不是特别的友好,因为它的语法结构还有很大的改进空间。平哥给大家举个例子,我们做算数运算时,可以使用ADD代表加法运算,SUB代表减法运算,诸如此类。但如果我们直接使用‘+’、‘-’符号来进行计算,可读性方面则会更好。平哥在05年上大学时,学校计算机系主修课就已经把汇编语言给砍掉了,只作为选学内容。所以我也只是简单地了解过一些相关的语法,没有系统化地去学习,大家也无需重点学习这块内容,因为汇编语言这种老古董在企业中已经不怎么用了。
第三代语言
在汇编语言的基础上,后来又诞生了多种高级语言,例如c/c++、c#、python、java等,这些高级语言都是属于第三代语言。
从程序员的编码角度来说,去除了各种晦涩难懂的汇编语法,这就极大提高了程序员的开发效率。所以我们可以把第三代语言称为"面向用户"的语言,也就是对程序员最为友好的语言,它们有着最贴近生活逻辑的语法。比如在Java语法中,平哥给大家举个例子:如果我的钱多于100块钱,那么今天就打车上班。这个案例的代码可以描述成下面的样子:
int money=500; //这是我钱包的500块钱
if(money>=100){ //判断钱大于100块,则进入{}执行语句
System.out.println("有钱,打车上班"); //执行打车的语法输出
}
相信你只要有一点Java编程和英语基础,都能看懂上面的语法,所以高级语言相比前面的机器语言和汇编语言有更强的可读性、逻辑性。
编程语言的发展历程其实也就像咱们生活的发展历程,从之前的一穷二白,到现在的安定幸福(或许有些同学被短视频平台或各种论坛带节奏)。平哥也是在90年代初见证过交公粮的人,那时候的生活和现在简直天差地别,但无论怎样,我们需要忆苦思甜。编程的世界也是如此,虽然现在有了各种高级语言,但我们不要忘记底层语言的作用性。没有底层语言的支撑,也就无法升级到现在的高级语言,更没有现在信息化时代的飞速发展。
除了上述介绍的三代编程语言之外,还有第四代面向问题的语言,和为第五代人工智能领域设计的语言,平哥今天就不再过多阐述了。我们要想从应用领域跨越到智能化领域,各位初学者还有很长的一段路要走。
猜你喜欢LIKE
相关推荐HOT
更多>>servlet底层原理是什么?
1、ServletAPI核心类与接口2、Servlet类处理请求的流程创建servlet类的步骤:创建一个命名为TestServlet继承javax.servlet.http.HttpServlet类详情>>
2023-05-30 10:41:22多线程的优势与劣势分别是什么?
多线程是指在同一个程序中,同时运行多个线程,每个线程都可以独立执行不同的任务,相互之间不会干扰。多线程的优势和劣势如下:优势:提高程序...详情>>
2023-05-30 10:32:12设计模式之生产者与消费者的代码实现
本文主要讲述生产者和消费者模式,文中会使用通俗易懂的案例,使你更好地学习本章知识点并理解原理,做到有道无术。什么是生产者和消费者模式生...详情>>
2023-05-30 10:25:46从零开始学Java之interface接口
一.接口简介简介Java中的接口(interface)类似于是一种特殊的抽象类,它也是众多抽象方法的集合。接口的定义方式、组成部分都与抽象类相似,却比...详情>>
2023-05-29 11:26:17热门推荐
如何进行mysql数据备份?
沸什么是servlet的生命周期?servlet请求处理流程是怎样的?
热servlet底层原理是什么?
热怎样编写java程序?
新多线程的优势与劣势分别是什么?
ssm框架的作用与原理是什么?
设计模式之生产者与消费者的代码实现
接口和抽象类有什么区别?4个方面对比
从零开始学Java之interface接口
从零开始学Java之Java中的内部类是怎么回事?
一分钟带你了解MySQL——基础与介绍
在java中,super关键字怎样使用
什么是事件流以及事件流的传播机制 ?
弹性盒有哪些属性是在父元素身上?