❶ 华为海思麒麟芯片的源代码是自己的吗求教大神
你知道什么是源代码吗?它包括汇编语言,c语言等。安卓基于linux,一般用c++或者java,苹果用object-c,都属于源代码,肯定不是自己的。除了重新开发编程语言。arm能给源代码?windows系统知道吧,c++做的,windows现在用两个架构x86架构和x64架构。
❷ 鸿蒙3.0系统与华为仓颉编程语言,从系统级6层架构上深入分析
华为的鸿蒙系统3.0开始对9款手机的公测,这其中就包括p50系列的3款手机,mate40系列的5款手机,和一款12.6英寸的matepad pro。这让咱手里拿着的mate30备受冷落。但我自己心里就更加期待华为的仓颉编程语言。这么屈指一算,仓颉编程语言从4月2号开始内测以来已经两个多月了。因此,我预判,鸿蒙系统3.0会跟仓颉编程语言一起来到咱们的身边。
那么在准备迎接鸿蒙系统3.0和仓颉编程语言之前,我这一期帮大家打一个坚实的基础。我相信许多朋友当说起来操作系统或者是编程语言的时候,脑子里其实是有点支离破碎,或者是一头雾水。我帮助大家从一个宏观的角度去鸟瞰,去把握和理解计算机科学体系中的坐标,让你独具一双慧眼,单单靠着你的直觉就能获得专业的视角。计算机科学包括六层架构,操作系统在第四层上,华为仓颉编程语言这样的应用级编程语言则处在第五层上。
咱们先从底部开始,所谓万丈高楼平地起嘛。咱们来先看基础:信息理论。任何学科的基础都是数学,当然计算机科学也不例外。这第一层就是关于数学理论的。咱们日常用的是十进制,计算机则是由0和1构建起来的是二进制。那数学也很简单,就是关于0和1的加法。比如1加1,在十进制中是等于2,而在二进制1加1等于10,这就是所有的数学基础,也就是这么简单。
但是还有更加往上抽象的一个层面的基础,就是咱们在高中时候学习的“布尔代数”。看似不起眼的“布尔代数”研究的是机器如何思考,如何让机器来获得智能这样的问题。
布尔在1854年就解决发表一篇“研究人类的思考规律”的论文,提出了“布尔代数”,为机器如何思考打下了理论基础。
布尔当时的想法很简单。他认为人是理性的,那么人是按照理性逻辑来思考问题的。于是,如果他能把大脑思考问题的逻辑,提炼抽象出来的话,那么是不是就能用这逻辑在大脑之外去思考呢?布尔的这项雄心勃勃的构思就是人工智能的雏形。你想呀,如果把这个逻辑提炼出来用在机器机械零件上,机械零件就会开始思考。如果用在电路上,这个电路是不是也就开始思考了呢。布尔代数咱们就很熟悉了,我就在这里就不带展开,我前面有一期就专门来讲述了这个机器来如何用布尔代数来思考,大家感兴趣可以看下那一期,我在这不展开浪费时间。
再往上第二层就是硬件,布尔他把理论抽象出来,将布尔代数应用到电路上,电路是不是也就能开始思考?哎,到了1938年,香农就首次把布尔代数应用到了电路上,于是这个电路就开始思考了。从最早的真空管到半导体晶体管(我前面那一期也专门讲过“机器如何用晶体管来思考”)然后到集成电路,再到现在这个大型的集成电路芯片。我们知道麒麟9000芯片用的Arm架构的指令集,指挥CPU工作的指令又叫机器码。比如“加法”就是用一串数字机器码00000011来表示。
然而你会发现,用机器码来指挥这个cpu或者电脑工作太麻烦了。一般人哪里能记住像前面的6个0和后面两个1来表示加减乘除的加呢。
正是困扰于此,科学家就此提出来编程语言。最早编程语言是汇编语言。比如前面表示加法的机器码00000011,汇编语言中将其抽象为add。然而,汇编语言也需要大量的记忆,一个指令一个指令的对应,也是太机械了。再往前一步,往上一层抽象就是系统级的编程语言:面向过程的C语言。
一门编程语言所要做的一个主要工作就是在机器和我们人类思考之间建立一座桥梁。我们是人类的思考逻辑,机器是机械 式逻辑思考问题。越高级的编程语言越符合我们人类的思考逻辑,越初级的编程语言则越贴近机器的逻辑。因此,我们用高级的编程语言比如C语言,将想做的事情表达出来,它会自动转换成机器码。
我喜欢的编程发展史上的第二大古老的语言:Lisp语言。
就是直接使用我们的抽象思考的语言。比如重复地来做一件事,重复说五遍“Hello”这个单词。Lisp将重复抽象为dotimes,do是做, times是多次,dotimes反复多次做。看见没,编程语言成了我们抽象的思考工具。
当然,华为仓颉语言也是在编程语言这里,但不是系统级的编程语言,咱们后面再说
当在第二层硬件之上发展出来高级的编程语言,有了系统级的编程语言比如C语言之后。大家就发现,我需要一个操作系统来处理日常的基本任务,比如文件管理,进程管理,内存管理,设备管理和用户管理等等。于是科学家着手用编程语言写操作系统。而事实上C语言在1969年的发明,也正是为了移植与开发UNIX操作系统。C语言的设计者丹尼斯·里奇同时也是Unix操作系统的发明人。到了1991年Linus用C语言写了Linux内核,也是目前安卓和鸿蒙系统的内核。
华为的EROFS超级文件系统并入Linux内核之后,无论是Linux还是安卓都打上了20%的华为烙印。
操作系统再往上一层就是我们日常的应用。比如听歌、看视频等apps就是在操作系统之上。这也好理解,先有了操作系统,才有我们的各种应用。由此也能理解,为什么像鸿蒙系统3.0如此重要,因为应用程序要运行在上面。这些应用程序就是用华为仓颉编程语言等应用级编程语言开发的。不过,目前咱们手机上的应用程序都是用Java开发。未来鸿蒙系统将会使用自研的仓颉语言开发鸿蒙应用。
应用程序的主要功能之一是沟通和交流。我们用Email发邮件,用通讯视频聊天,而Web应用技术构建起来当前的互联网信息大厦。
好了,我们总结一下。计算机科学的六层架构。
第1层是信息理论,研究如何在大脑之外实现思考,布尔代数是人工智能的雏形。第2层是硬件,布尔代数应用到电路上,晶体管开始思考,将数以亿计的晶体管雕刻到集成电路CPU中,CPU的机器码指挥计算机工作。第3层编程语言,从枯燥难记的机器码里发展出来汇编语言,再到系统级的C语言,构建起来人类思考与机器逻辑之间桥梁。第4层操作系统,C语言不是凭空而来,是为了开发Unix操作系统而发明,而操作系统是计算机里最大的软件。第5层应用软件,日常所有的apps都运行在操作系统之上。仓颉编程语言是给鸿蒙系统开发应用程序的专属开发语言。第六层沟通互联,就是我们目前的互联网技术,在网络里看书、听音乐,点一份外卖等等。
这就是计算机科学六层架构,鸿蒙操作系统与仓颉编程语言各就各位。用架构去思考和看问题,不仅能心中有数,还能独具一双慧眼。
❸ 关于自研编程语言,华为传来好消息,或实现从根打破
开发一款操作系统,软件应用是需要用上编程语言的,要让计算机能够识别指令,才能实现功能的运行。市面上大部分的编程语言都来自国外,包括C++、Python、Java语言等等。有关的教科书,教材也是基于国外编程语言编写。
虽然有现成的编程语言可以用,可华为在建立全面自主的操作系统生态,编程语言又怎样可能落下呢?
华为传来了自研编程语言的好消息,或实现从根打破。除编程语言之外,还要在编译器、指令集、芯片等方面进行根源布局。
对此,华为在自研编程语言带来了怎样的好消息呢?华为从根打破,进展如何?
华为自研编程语言不是什么新鲜事,很早之前在网上就流传出华为自研编程语言的消息,并将其命名为“仓颉”。
从2022年8月份开始,华为申请了“仓颉语言”的商标,其中一项商标被驳回,但后来华为又再次申请。由此可见华为对这项“仓颉语言”的商标十分在意。
一开始外界并没有过多注意,只是觉得华为要开发某些项目,但随着时间的推移,有关“仓颉语言”是自研编程语言的消息越来越明确。
直到华为在2021全联接大会上表示,华为将在2022年正式推出自研的编程语言仓颉。这才真正看清了华为真的在努力开发自研编程语言。时至今日,进展如何呢?
6月16日,华为传来了自研编程语言的好消息,根据华为副总裁邓泰华表示,计划在下半年发布仓颉编程语言。
很多人都在等待这一刻,这一次华为瞄准编程语言或将从根打破。
编程语言准备了这么久,终于到了快要发布的时候了。尽管目前还没有具体的发布时间,究竟是下半年的几月几日还不确定,但这么多年都等过来了,还差这半年吗?
可以发现,只要是涉及到底层架构的根技术,华为几乎都有布局的身影。华为开发了鸿蒙,欧拉这两大国产操作系统,又推出了方舟编译器提高开发者效率,还有芯片平台的研发,让外界认识到华为不只是硬件实力强劲,软件技术的开发水平同样位居世界一流。
有人好奇这款华为自主研发的编程语言是不是使用中文,如果使用中文,岂不是意味着全球编程语言会迎来大洗牌?那么关于仓颉语言,究竟是怎样一个产品呢?
关于仓颉的消息华为并没有透露太多,但可以知道的是,仓颉将对应上层应用,支持多样化算力。
至于是否支持中文,基本上不太可能。计算机是国外发明的,二进制,指令集等一些技术架构的使用不会有太大的改变,在整个的编程环境中,大概率还是以英文为主。但也许华为真能独创中文编程语言也说不准,毕竟中文正逐渐走向世界。
华为全面转型软件产业,目前正在做的一些布局都和根技术有关,一旦成功,华为将掌握完全自主的软件生态环境。甚至改变国产信息技术产业的发展进程,让国产操作系统,编程语言等一系列根技术走向世界,建立属于中国的根技术开源社区。
华为或将从根打破,目前布局进展如何呢?先看操作系统。华为开发出鸿蒙,欧拉两大操作系统,一个是支持万物互联的物联网操作系统,另一个是面向数字基础设施的生态底座。截至目前鸿蒙系统拥有2.4亿用户,欧拉实现170万套的装机量。
开源系统已经建成,生态有序发展,华为开发的操作系统比想象中的还要好。
其次是编译器。华为对编译器的布局是推出了方舟编译器,主要功能是提供开发者统一的编译平台,让不同操作系统,应用程序能够适配统一识别的预言。华为在今年2月份发布了方舟编译器1.0版本。
芯片就不用多说了,大家都十分熟悉,不管是麒麟芯片还是面向数据中心的鲲鹏处理器,基本上在各大应用平台,终端市场都进行了系列芯片的开发。
还有就是编程语言了,这是华为掌握根技术的重点布局,为能够在下半年顺利发布,华为正努力开发,优化中,相信不会让大家等太久。
根技术远不止这些,国外花了几十年在计算机市场,信息技术体系建立起绝对的影响力。华为用了几年的时间就有了根技术自主可控的雏形,未来的前景不可限量。
华为正式官宣,自研的编程语言将在今年下半年发布。很多人没有意识到这件事的重要性,多少年以来编程语言一直被国外把持着,学习国外的知识的技术。现在华为独创编程语言,属于中国的信息技术时代终将到来。
对此,你有什么看法呢?