1.2 计算机语言发展史
计算机语言一般意义上划分为三个时代,最早的是机器语言,后来发展到了汇编语言,后来才发展到了高级语言。
一、机器语言
我们都知道计算机的基本计算方式都是基于二进制的方式。如0101110010101110010110100就是一段二进制代码,当时很多人基本上看不懂代码到底代表什么意思,这种代码是直接输入给计算机使用的,不经过任何的转换!
二、汇编语言
为了解决机器语言无法读懂的问题人类就想到了能不能用一些可以读懂的单词来代替二进制的数据,为了方便读写和编写于是诞生了第二代语言汇编语言,汇编语言使用了大量的助记符代替了二进制指令,方便我们编写代码。目前汇编语言还大量的应用在逆向工程,比如破解一个游戏,把一个程序给逆向开发出来,就会用到汇编指令,因为需要加密解密;此外还应用在机器人方向和病毒的编写,这些偏向底层的程序很多都是用汇编写的。
三、高级语言
随着计算机的发展,计算机深入了各个行业和产业、家庭,我们又提出了用简单的方法来解决身边的问题,这种需求越来越强烈越来越明显,但要编写的东西越来越复杂,此时的汇编语言已经不能解决问题了,此时我们就需要设计一些高级语言,使用一些更为简单的语言写出一些更为复杂的程序,于是各种各样结构优良的第三代语言就诞生了,这些高级语言大体上可以分为面向过程和面相对象两大类。C语言是典型的面向过程的语言。C++、Java是典型的面向对象的语言。C语言、C++语言是、我们高级语言的鼻祖,后来有了Java、C#、Python、PHP、JavaScript各种各样的语言随之就诞生了。第三种语言数量是非常多了,刚兴起时有几百上千种,现在很多小众语言已经慢慢的离开了这个世界。在第三代语言中C语言是非常重要的,它既有高级语言的特点又有汇编语言的特点。目前C语言一般都在写一些操作系统、应用程序系统、工作系统设计等还编写一些不依赖于计算机硬件的应用程序应用非常广泛,C具有很强的数据处理能力,不仅应用在软件开发,在我们各类各样的科研、单片机、机器都会用到C语言。C++就是C语言的升级版,它是C语言面向对象的版本。而我们的Java语言就是基于C和C++的高级语言,刚开始的时候很多人称Java为C+±-也就是很多人认为Java是把C++中很多不好的给减掉了。在Java诞生后当时的微软已经是一个非常大的公司了,比尔盖茨非常的认可Java,但是微软又希望可以发明一种语言可以代替Java语言,于是C#就诞生了,在C#中咱们可以看到大量Java的特性,微软山寨了Java的细节,但是没有学到Java的精髓,微软有很多产品都想绑定他们的电脑,依赖于他们的操作系统,所以就不跨平台也不通用,这样就失去了与Java竞争的优势。以上四种语言就算是计算机中的鼻祖语言了,像后面的这些Python、PHP、JavaScript,这些语言都是随着时代的发展有些人不停地去创造出来的针对不同的领域,比如PHP可以快速的构建一个网站,Python主要用于大数据分析和人工智能相关,Java则主要用于服务器的开发,每种语言的分工都不同,任何形式的更新都不是凭空而来的,都是基于之前的旧事物的发展。其实我们看到整个计算机语言的发展就是一部山寨史,当然如果你仅仅是把别人的语言拿过来换了一个名字,那才叫真正的耍流氓,真正的山寨,但是如果咱们把之前的拿来改进做的比之前更好,这就是创新了。