在这一节课当中,我们首先来了解一下编程语言的发展历史。
在很久很久以前,计算机不属于我们平常人家。因为有两点原因,第一点原因,是因为那时候一台计算机的价格很贵,我们多数人都难以承受;第二点原因,是因为那时候计算机操作起来远远没有现在方便,需要专业人士来操作,咱们普通人买过来,也没啥大的意义,又没有啥太好玩的游戏,办公软件也少的可怜。
现在就不一样喽,现在的计算机早就已经是“旧时王谢堂前燕,飞入寻常百姓家”了。严格意义上来说,一部手机本质上也是一台计算机。电脑上和手机上都能够玩好玩的游戏,CPU性能也够强悍,内存容量也够大。而且上面也有无数个好用的软件供我们使用。最重要的是,在价格方面,是我们普通人也能够承受的了。
编程语言,就是伴随着计算机硬件的发展而来的。在早期计算机的体积非常大,那时候写程序是一件异常麻烦的事情。因为计算机本质上只识别“0”和“1”这两个字符,也就是只识别二进制。刚开始的时候,计算机行业的前辈们,就是直接使用“0”和“1”来进行编程的,类似于下图中这样子:
看上图中这一大堆“0”和“1”密密麻麻的,一看就头疼。但是计算机行业前辈们就是直接使用这种“机器语言”来编程的。如果回到那个年代,想要成为一名程序员,比现在的难度要大,要经过更多的专业训练才行。
随着时间的推移,计算机行业的前辈们也意识到这一点了,直接用“0”和“1”来编写程序太麻烦了,于是就出现了“汇编语言”。汇编语言就是由一些“助记符”组成,是包含若干英文单词或者是英文单词的缩写,相比于“机器语言”,变得具有“可读性”。只是在“汇编语言”和“机器语言”之间,需要有一个“翻译工具”,将“汇编语言”翻译成为“机器语言”,然后再让计算机去执行。汇编语言大概长下面这个样子:
当然了,科技是不断在向前发展的。随着时间的推移,急需一种更加“高级”的编程语言来改善汇编的语言的不足之处。因为汇编语言主要存在两方面问题,第一方面,汇编语言编写起来虽然比机器语言的效率高了很多,但是依然没有达到人们的“理想状态”;第二方面,是代码移植问题,不同的CPU硬件,对应的汇编语言是不一样的;同一套汇编语言程序代码,在一种机器上能跑起来,可是移植到其他厂商的机器上很可能就跑不起来了。
再后来就出现了“高级语言”了,C语言就是“高级语言”中的一种,当然还有其他的比如C++、java、C#、python等等。每一种语言都有它自身的优势和劣势。对于C语言来讲,它的优势是:
1. 相比于汇编语言,C语言提高了编程的效率。如果使用汇编语言要写几千行代码的话,那么要实现同样的功能,使用C语言只需要写几十行代码就可以了。
2. 提高了“可移植性”。同“汇编语言”和“机器语言”之间相互转换的道理类似,在“C语言”和“汇编语言”之间,也有一个“翻译工具”,称作“编译器”,能够将C语言代码翻译成汇编语言。也就是说:即便是在不同厂商的机器上,只要事先开发出一个“翻译工具”出来,不同的机器就能够跑起来相同的C语言代码了。
3. 程序“运行效率”较高。当然了,跟“机器语言”和“汇编语言”是没法比的,但是相比于同类型很多其他高级语言,C语言的运行效率是非常高的。
C语言的劣势也是显而易见的,第一点,与同类型很多高级语言相比,C语言能够使用的库或者函数相对较少,开发效率还是不高;第二点,“移植性”虽然强于“汇编语言”,但是弱于其他高级语言。
而且还有一点,虽然C语言运行效率高,但是在很多场景下,无需太强的运行效率,就好比一辆性能强悍的车子,跑在限速的路面上,性能的优势发挥不出来。
但是在一些对于运行效率要求很高的领域,特别是跟硬件相关的领域,比如“单片机”、“嵌入式”这块,C语言是无法被取代的。
这一节课我们主要了解了编程语言的发展史,以及C语言的优势与劣势。从下一节课开始,我们将正式进入C语言语法知识的讲解了。下一节课再见!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.