从系统级6层架构上深入分析 仓颉编程入门教程基础知识( 二 )



从系统级6层架构上深入分析 仓颉编程入门教程基础知识

文章插图
三、从机器语言到人类语言的跃迁
正是困扰于此,科学家就此提出来编程语言 。最早编程语言是汇编语言 。比如前面表示加法的机器码00000011,汇编语言中将其抽象为add 。然而,汇编语言也需要大量的记忆,一个指令一个指令的对应,也是太机械了 。再往前一步,往上一层抽象就是系统级的编程语言:面向过程的C语言 。

从系统级6层架构上深入分析 仓颉编程入门教程基础知识

文章插图
一门编程语言所要做的一个主要工作就是在机器和我们人类思考之间建立一座桥梁 。我们是人类的思考逻辑,机器是机械 式逻辑思考问题 。越高级的编程语言越符合我们人类的思考逻辑,越初级的编程语言则越贴近机器的逻辑 。因此,我们用高级的编程语言比如C语言,将想做的事情表达出来,它会自动转换成机器码 。
我喜欢的编程发展史上的第二大古老的语言:Lisp语言 。

从系统级6层架构上深入分析 仓颉编程入门教程基础知识

文章插图
就是直接使用我们的抽象思考的语言 。比如重复地来做一件事,重复说五遍“Hello”这个单词 。Lisp将重复抽象为dotimes,do是做,times是多次,dotimes反复多次做 。看见没,编程语言成了我们抽象的思考工具 。

从系统级6层架构上深入分析 仓颉编程入门教程基础知识

文章插图
当然,华为仓颉语言也是在编程语言这里,但不是系统级的编程语言,咱们后面再说
四、操作系统
当在第二层硬件之上发展出来高级的编程语言,有了系统级的编程语言比如C语言之后 。大家就发现,我需要一个操作系统来处理日常的基本任务,比如文件管理,进程管理,内存管理,设备管理和用户管理等等 。于是科学家着手用编程语言写操作系统 。而事实上C语言在1969年的发明,也正是为了移植与开发UNIX操作系统 。C语言的设计者丹尼斯·里奇同时也是Unix操作系统的发明人 。到了1991年Linus用C语言写了Linux内核,也是目前安卓和鸿蒙系统的内核 。

从系统级6层架构上深入分析 仓颉编程入门教程基础知识

文章插图
【从系统级6层架构上深入分析 仓颉编程入门教程基础知识】 华为的EROFS超级文件系统并入Linux内核之后,无论是Linux还是安卓都打上了20%的华为烙印 。
五,五彩缤纷的应用层
操作系统再往上一层就是我们日常的应用 。比如听歌、看视频等apps就是在操作系统之上 。这也好理解,先有了操作系统,才有我们的各种应用 。由此也能理解,为什么像鸿蒙系统3.0如此重要,因为应用程序要运行在上面 。这些应用程序就是用华为仓颉编程语言等应用级编程语言开发的 。不过,目前咱们手机上的应用程序都是用Java开发 。未来鸿蒙系统将会使用自研的仓颉语言开发鸿蒙应用 。

从系统级6层架构上深入分析 仓颉编程入门教程基础知识

文章插图
六、沟通互联层
应用程序的主要功能之一是沟通和交流 。我们用Email发邮件,用通讯视频聊天,而Web应用技术构建起来当前的互联网信息大厦 。

从系统级6层架构上深入分析 仓颉编程入门教程基础知识

文章插图
好了,我们总结一下 。计算机科学的六层架构 。
第1层是信息理论,研究如何在大脑之外实现思考,布尔代数是人工智能的雏形 。第2层是硬件,布尔代数应用到电路上,晶体管开始思考,将数以亿计的晶体管雕刻到集成电路CPU中,CPU的机器码指挥计算机工作 。第3层编程语言,从枯燥难记的机器码里发展出来汇编语言,再到系统级的C语言,构建起来人类思考与机器逻辑之间桥梁 。第4层操作系统,C语言不是凭空而来,是为了开发Unix操作系统而发明,而操作系统是计算机里最大的软件 。第5层应用软件,日常所有的apps都运行在操作系统之上 。仓颉编程语言是给鸿蒙系统开发应用程序的专属开发语言 。第六层沟通互联,就是我们目前的互联网技术,在网络里看书、听音乐,点一份外卖等等 。

推荐阅读