其发展脉络是这样的:因为计算机只能识别二进制的机器码,所以,最开始的程序都是使用机器码来写的(打孔机就是证明),难度很大。
后来,使用机器码写了一个程序,该程序可以解释一些最简单字符指令,将这些字符指令转换成对应的机器码,然后在计算机上执行。
这个就是汇编器的初始版本,利用这些简单的字符指令,大大简化了代码的编写,不用像以前那样必须写大量的机器码了,仅仅需要找到这些机器码对应的字符指令码就可以了,这些指令再被汇编器翻译成大量的机器码。
利用这些简单的指令,可以做很多事情了,包括处理额外的一些字符指令,并将其转换成机器码这样的事情,这样一来,我们就可以使用这些简单的字符指令写一个处理额外字符指令的程序,利用初始版本的汇编器翻译成机器码,就得到了一个扩展版本的汇编器。
该版本的汇编器与初始版本的汇编器相比,能处理更多的额外字符指令,通过多次迭代,最终可以得到一个比较完备的汇编器(能处理所有的汇编指令)。这就是汇编器的来历。
有了汇编器,我们就可以使用汇编指令来编写各种汇编程序了。我们发现,汇编器本身的最初版本(只能处理简单的汇编指令)是使用二进制机器码编写的,剩下的大部分(能处理额外的大部分汇编指令)都是使用汇编语言本身编写的。
所以,我们看到,在所有的汇编程序的世界中,除了汇编器本身是由机器码和汇编码写的以外,汇编代码还可以用来实现很多的其它功能,例如很多系统级别的工具软件,其中就包括各种和硬件打交道的驱动程序等等,以及各种编译器,例如:C语言编译器。
类似的,C编译器的核心也是由汇编语言写成的,甚至还可以包括一些机器码,但是大部分还是通过迭代来使用C语言编写的,C编译器能处理的数据结构和语言规则比汇编语言更丰富,更高级了,更接近人的可读性了,这些数据结构和语言规则就是C语言标准了。
这样一来,就有了更多的选择,既可以选择机器码,汇编,也可以选择C语言来写程序了。
这样,使用C语言作为主要的语言,外加汇编语言作为各种底层驱动或者与硬件有关的部分的代码的编写,就可以写成很多系统管理的程序,慢慢地,把这些程序集成起来,就写成了各种操作系统的核心,包括windos,linux/unix等。windos,linux/unix等的核心都是由c语言,汇编语言来写成的。
有了操作系统的核心以后,我们就可以使用已有的语言来开发各种操作系统管理软件了,将这些合起来,就形成了操作系统。
赵浮生要做的就是用自己的gwall语言加上C语言汇编语言,编写出自己的洪荒系统(aOperatingSystem),然后在自己的COS系统里改进gwall语言以及编译器调试工具等开发环境,让更多的程序员可以在COS上开发出自己的程序应用。
系统研发是个浩瀚工程,之所以工程量巨大,那是因为大家都是在摸着石头过河,不断的尝试、不断的放弃、不断的改进、不断的改变方向。
就像一个人在原始大森林里,蒙头乱撞总是走不出去,当有人告诉你朝那个方向走,你就有了百分之五十的生还希望,这过程中,你可能遇到大山,有人告诉你翻越哪个山头更安全便捷,你又增加了百分之十的生还希望,当你遇到河流,有人告诉你怎么制作工具渡河,你又增加了百分之十的生还希望。
就像这样,有人像上帝一样指导你,你可能需要一年走出森林,现在也许只需要一个月两个月就能走出去。
赵浮生不是上帝,但是魏初阳是一个重生者,曾经参与研发操作系统十年,作为主程序师,他清楚的知道在什么地方干什么,他有信心在人员配备的情况下,两年内开发出一个可以商用的系统。逐渐的发展为苹果那样的霸主,建立起自己的生态系统。
就像有人分析道:竞争对手虽然可以构建更好的智能手机、更好的笔记本电脑,或者强于苹果的增强现实设备。
但是,苹果拥有体量超为庞大的粉丝群体,并且这些“果粉”在购买了苹果的第一个设备开始(很多人都是从iPod入坑)后便走上了一样的道路,这些苹果设备那么多年以来,一直都保持着令人惊叹的相关性,其品牌的光环和其生态系统的诱惑使苹果一直都处于强势地位。
无论对手公司的创新水平如何,想要吸引客户意味着需要强劲的营销,而苹果的生态系统还允许公司紧密整合产品和服务,使竞争对手处于明显的劣势。
并且苹果的服务业务规模与一家财富100强公司相当,这对于任何竞争者来说,都不是一时半会能够企及的。
赵浮生不是一个果粉,但是用过苹果的设备后就不想再用其他的设备,苹果的生态系统在每个环节默默影响着消费者,就拿最简单的Safari来说,数据同步。
无论是手机还是电脑,都能随时随地的随着环境的变化切换不同的设备,比如路上在手机上看到一篇文章,踏进家门,用电脑可以继续浏览刚才手机上看到文章。
本来赵浮生可以晚点做手机系统,可是微软的案例摆在那,不早点进去抢占市场,等对手都形成一个生态体系的时候,你拥有再多的钱也是干瞪眼,微软的Windowsphone后来连百分之一的市场都守不住了。
路漫漫其修远兮,吾将上下而求索。
赵浮生摒弃掉其他想法,安心的坐下来执行计划的第一步,编写Gwall语言介绍册子。