这篇文章不仅语句优美,在谋篇布局遣词造句方面也体现了盖茨同学极强的文学功底,同时整篇文章观点鲜明、一气呵成,有理有据申诉了自己的观点,实为难得一见之佳作。
更为难得的是,文章中盖茨同学还破天荒的提出了一个观点:这样的盗版行为侵犯了劳动成果,让企业蒙受损失,最重要的一点是还限制了软件业的发展,因为这样一来,就没有企业愿意投入成本去研发或者去改善软件了。
但是呼吁归呼吁,呐喊归呐喊,发牢骚归发牢骚,盗版依然还在盗版。
日期:2014-08-06 09:58:42
微软也只能继续这样看着,毫无办法。这时候的盖茨估计也意识到了,如果按照这种搞法玩下去,即便撑到自己退休,微软也只能是一家上不得台面的小公司。
企业要发展,必须另谋出路!
其实盖茨和艾伦一开始选择的这条路,在某种程度而言,是一条创新之路。因为在当时那个年代,没有哪家公司是专门以卖软件为生的。当时比较流行的做法是,软件一般只能附属在硬件上,在销售硬件给用户时一起混搭出去,以方便客户更好的使用硬件产品。
但是盖茨他们在搞BASIC编译器的时候,却突发奇想能不能将软件也作为一种产品,独立的销售给用户?
事实证明,这个想法是十分可行的,但是在某种程度上而言可行性却不大。要弄清楚这点,首先要搞明白BASIC编译器究竟是个什么玩意。
日期:2014-08-06 09:59:22
编译器
在具体地深入探讨编译器之前,首先需要明确一个观点,不管是个人计算机还是非个人计算机,但凡只要能够进行计算的机器(包括计算器),编译器都是最为重要的软件。
其次我们还要明确一下,对编译器的进行探讨有何重要意义。
国人有个坏毛病,就是干个什么事都必须弄个师出有名。
清朝初期,一些具有黑社会性质的团伙在打家劫舍扰乱治安时不时组织民众挑衅一下政府的同时,还不忘喊一个“反清复明”的口号。等到了清朝末期,政府腐败无能,大伙儿又揭竿起义轰轰烈烈开始造反,不久之后“革命”这个词就开始传遍了大江南北。
所以按照古人这种玩法,在接下来对编译器进行探讨内容中,“普及民众科技知识,树立正确编译器观”这样的说法是一点都不为过的。
日期:2014-08-06 10:00:10
在我极为有限的短暂学术研究生涯中,一个非常简单的求解非线性方程组的问题就在很长一段时间内(三年研究生期间)把我折磨得死去活来,所以在面对像编译器这样的尖端问题时,我的心情十分复杂。
说句心里话,我一向都比较懒散,所以一直以来都十分不愿意去触碰这块硬骨头,很长一段时间都在犹豫是否将这节略去不提。但考虑到之后的一些内容势必要涉及到这玩意,如果现在不将此弄个清楚明白,将来碰到该部分内容时肯定会犯糊涂。
如果将来我不幸犯糊涂了,只恐怕大家会看得更加稀里糊涂。
日期:2014-08-06 10:00:52
本着不误人子弟的美好愿景,在一堆布满尘埃的书籍中,我提起十二分精神翻阅了《模拟电路》、《数字电路》、《操作系统原理》、《计算机组成原理》、《编译原理》、《微控制器和接口技术》等专业课本,并且在经过很长一段时间不分昼夜反复思量之后,终于有了提笔写下这一篇的勇气。
考虑到在座各位大多并非计算机专业科班出身,所以本人在接下来的内容中将尽量不涉及各种晦涩难懂的专业术语,请放心观摩。同时如果哪些地方说得不对的,也欢迎高手出来进行指正。
编译器是计算机中最为重要的软件,没有之一。在深入介绍之前我还必须要再次强调一遍!
日期:2014-08-06 10:01:34
这个时候马上就有人跳出来进行反驳,你在前面说过,操作系统是连接硬件和软件的桥梁,如果没有操作系统,计算机也就是一堆废铜烂铁而已。按照你之前的说法,操作系统才是计算机中最为重要没有之一的软件。这个编译器不知道是从哪里冒出来的,难不成比操作系统还重要?
首先我要纠正一下这个说法,编译器绝对不是莫名其妙从哪里蹦出来的,事实上,这么多年以来它伴随这计算机的不断成长,只是因为它一直位于操作系统底层,并不是太起眼,所以长久以来大家可能都忽略了它的存在。
其次我必须承认,操作系统肯定是很重要的。
如果没有操作系统,计算机硬件也就是一堆破铜烂铁!
但是还有一点不得不说,如果没有编译器,操作系统也只是一些不知所措的代码!
日期:2014-08-06 10:02:15
所以说到这里,相信大家已经梳理出这样一个逻辑了:硬件被操作系统控制,操作系统被编译器控制。操作系统是软件,编译器也是软件,只不过编译器是一种更为特殊的软件,它比操作系统还要更为接近硬件……
要彻底明白编译器究竟有何特殊,我们在这里需要搞明白两个问题:第一,编译器究竟有什么用处;第二,编译器和操作系统究竟是什么关系。
我们首先来看看第一个问题,编译器究竟有什么用处。
日期:2014-08-06 10:03:00
这个世界存在这么一条基本定律,人无法跟机器直接进行交流,当然一些身怀特殊能力的人(一些可以让机器悬空或者自动开启的特异功能者)除外。一则是机器并无生命迹象,缺乏与人类沟通交流的能力;二则是人类世界有自己的语言,而在机器世界也存在着它们能够理解的语言,即所谓的机器码,当然这两种语言不是统一的。
如果你有幸出生在上个世纪初,说不定有机会能够看到比较原生态的机器码的。但是要能获得这样的机会你必须物理成绩要足够拔尖,被保送至哈佛大学学习,然后你还要运气足够好,能够恰好师从艾肯博士,进行计算机的研发(如王安博士那样)。但你可能也明白,这样的机会比中福彩头奖的概率还低。
如果你还是不死心,非常想要亲眼目睹一下机器码究竟是怎么一回事。
那么,我必须要告诉你,机器码这玩意,长得又不好看,而且看了也不一定看得懂,所以还不如不看。
日期:2014-08-06 10:03:25
但你仍然执着的表示要看。那我只好勉为其难的随手展示一段机器码。
“10111000”。
我相信你一定会表示看不懂这是什么意思。其实说实话,我也看不懂这是什么意思。但这不打紧,因为只要计算机能懂就行了。自从几百年前那个叫莱布尼茨的人搞出二进制运算体系之后,这套体系就演化成了计算机的原生态语言。
日期:2014-08-06 10:04:16
上过高中物理的同学大概都会有这样的印象,在电路那部分内容中,我们可以通过线路的开关对一些机电设备进行控制。其实在机器们的世界里,它们对“开开关关”的控制命令极为敏感。如果将以上本人杜撰的那一段机器码“10111000”翻译成机器命令,那应该是“开关开开开关关关”。其中“0”表示关,“1”表示开。
计算机作为一种高端大气上档次的机器,它在控制硬件的方式上有了新的创新,可以使用电压的高低来进行发指令,指示各个部件的行为。这样一来机器码“10111000”就代表了“高低高高高低低低”,1代表高电压,0代表低电压。
【网站提示】 读者如发现作品内容与法律抵触之处,请向本站举报。 非常感谢您对易读的支持!
举报
© CopyRight 2011 yiread.com 易读所有作品由自动化设备收集于互联网.作品各种权益与责任归原作者所有.