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

华为的鸿蒙系统3.0开始对9款手机的公测,这其中就包括p50系列的3款手机,mate40系列的5款手机,和一款12.6英寸的matepad pro 。这让咱手里拿着的mate30备受冷落 。但我自己心里就更加期待华为的仓颉编程语言 。这么屈指一算,仓颉编程语言从4月2号开始内测以来已经两个多月了 。因此,我预判,鸿蒙系统3.0会跟仓颉编程语言一起来到咱们的身边 。

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

文章插图
那么在准备迎接鸿蒙系统3.0和仓颉编程语言之前,我这一期帮大家打一个坚实的基础 。我相信许多朋友当说起来操作系统或者是编程语言的时候,脑子里其实是有点支离破碎,或者是一头雾水 。我帮助大家从一个宏观的角度去鸟瞰,去把握和理解计算机科学体系中的坐标,让你独具一双慧眼,单单靠着你的直觉就能获得专业的视角 。计算机科学包括六层架构,操作系统在第四层上,华为仓颉编程语言这样的应用级编程语言则处在第五层上 。

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

文章插图
一、万丈高楼平地起的数学
咱们先从底部开始,所谓万丈高楼平地起嘛 。咱们来先看基础:信息理论 。任何学科的基础都是数学,当然计算机科学也不例外 。这第一层就是关于数学理论的 。咱们日常用的是十进制,计算机则是由0和1构建起来的是二进制 。那数学也很简单,就是关于0和1的加法 。比如1加1,在十进制中是等于2,而在二进制1加1等于10,这就是所有的数学基础,也就是这么简单 。

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

文章插图
但是还有更加往上抽象的一个层面的基础,就是咱们在高中时候学习的“布尔代数” 。看似不起眼的“布尔代数”研究的是机器如何思考,如何让机器来获得智能这样的问题 。
布尔在1854年就解决发表一篇“研究人类的思考规律”的论文,提出了“布尔代数”,为机器如何思考打下了理论基础 。

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

文章插图
布尔当时的想法很简单 。他认为人是理性的,那么人是按照理性逻辑来思考问题的 。于是,如果他能把大脑思考问题的逻辑,提炼抽象出来的话,那么是不是就能用这逻辑在大脑之外去思考呢?布尔的这项雄心勃勃的构思就是人工智能的雏形 。你想呀,如果把这个逻辑提炼出来用在机器机械零件上,机械零件就会开始思考 。如果用在电路上,这个电路是不是也就开始思考了呢 。布尔代数咱们就很熟悉了,我就在这里就不带展开,我前面有一期就专门来讲述了这个机器来如何用布尔代数来思考,大家感兴趣可以看下那一期,我在这不展开浪费时间 。

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

文章插图
二、机器从电路里开始思考
再往上第二层就是硬件,布尔他把理论抽象出来,将布尔代数应用到电路上,电路是不是也就能开始思考?哎,到了1938年,香农就首次把布尔代数应用到了电路上,于是这个电路就开始思考了 。从最早的真空管到半导体晶体管(我前面那一期也专门讲过“机器如何用晶体管来思考”)然后到集成电路,再到现在这个大型的集成电路芯片 。我们知道麒麟9000芯片用的Arm架构的指令集,指挥CPU工作的指令又叫机器码 。比如“加法”就是用一串数字机器码00000011来表示 。
然而你会发现,用机器码来指挥这个cpu或者电脑工作太麻烦了 。一般人哪里能记住像前面的6个0和后面两个1来表示加减乘除的加呢 。

推荐阅读