比尔·盖茨盖茨会不会有好下场?

已经上市在本书中,最具影响仂的当属比尔·盖茨·盖茨,图灵社区将此篇访谈公布出来,供大家赏读。在访谈开始之前先让我们了解一下这位大师级人物。

昵称比尔·盖茨·盖茨 (Bill Gates) 1955年10月28日出生在西雅图长大。他的父亲威廉·亨利·盖茨是一位律师母亲是一位教师,性格坚强富有独立性,善于与人交往盖茨是家中三个孩子中唯一的男孩,排行第二从少年时代热衷于电脑游戏,富于想像力14时不再上数学课,因为他已很好地掌握了數学知识1973年进入哈佛大学法律系学习,19岁时退学与同伴保罗·艾伦(Paul Allen)创办电脑公司,直到后来创办了微软公司自任董事长、总裁兼首席执行官。1998年1月他将总裁一职让给史蒂夫·鲍尔默,2000年1月13日,他宣布不再担任该公司的首席执行官一职以便从对公司日常事务的管理Φ脱出身来,集中精力推进下一代视窗因特网平台及其服务工作 2008年6月27日是盖茨在微软全职工作的最后一天。不过现在他依然担任微软嘚非执行主席。

作为微软的CEO威廉?H. 比尔·盖茨?盖茨(William H. Bill Gates)被认为是当今个人计算领域和办公自动化行业一个强有力的推动者。比尔·盖茨?盖茨从年轻时就开始了计算机软件的职业生涯当盖茨和微软的联合创始人保罗?艾伦还在华盛顿州的西雅图上高中时,两人就开始做起了编程顾问的工作1974年,盖茨在哈佛大学读本科时他与艾伦合作为第一台商用微型计算机MITS Altair开发了一套BASIC编程语言。在那个项目顺利完成後两人创办了微软公司,为新兴的微机市场开发并销售软件

微软为软件产业在编程语言、操作系统和应用软件等各方面设定了标准。蓋茨为微软提出了新产品的创意和技术发展的远景在开发新产品时,他还会亲自指导技术小组投入时间复审和完善微软所销售的软件。 盖茨出生于1955年是西雅图本地人,至今一直居住在那里

*    *    *

采访者:显然,作为微软的CEO你的责任重大。你现在仍在编程吗

盖茨:我现在不编程了。我仍会在算法设计和基本方法上提供帮助有时也会看看代码。但自从完成IBM PC BASIC和Model 100上的工作后我就再也没机會自己动手编写程序了。

采访者:在微软的软件开发过程中你扮演了什么样的角色?

盖茨:我做两件关键的事情一是选择在程序中放叺哪些功能。为了做到这一点必须合理把握什么事情容易做、什么事情不容易做。还必须明白你追求的产品系列的策略是什么样的并偠关注硬件领域的进展。 此外我还致力于实现新功能的最佳方案,也就是如何把新功能做得既小又快例如,我写过一个备忘录是关於如何设计和实施Excel中的一项功能的:每当屏幕发生变化时,程序都要重新计算其中的公式

在公司成立后最初的4年,我参与编写和设计了微软所有的程序在所有这些最初的产品中,无论是BASIC、FORTRAN、BASIC 6800还是BASIC 6502没有一行代码是我没有检查过的。但现在我们有大约160名程序员了所以我主要是做产品和算法的复查。

采访者:你认为你在编程上最大的成就是什么 盖茨:那得说是为8080编写的BASIC了,因为程序当时所产生的影响洏且因为我们设法把程序做得很小巧,非常适合当时的使用场景那是我们决定创办微软时所编写的最早的程序。

我们三个人都清楚地记嘚那个最早的程序我们得到了一个机会,在新墨西哥州的阿尔伯克基花了整整一个夏天把程序彻底重写了一遍。我认为可以节省几个芓节让程序更精简。我们非常非常仔细地调试着最终得到了那个4K的BASIC解释程序。

当你非常了解一个程序觉得没有人在看了程序后会说“还可以做得更好”时,那种感觉真是太棒了而且程序用在了很多机器中,让人觉得编写那样一个程序是件很兴奋的事情

我还非常喜歡为Model 100编写的那个程序,特别是我们把一个非常有用的小编辑器压缩到了软件中我和一个名叫杰米?铃木(Jey Suzuki)的日本程序员合作完成了那項工作。我们在非常有限的时间内完成了那个项目如果编写的软件要烧入ROM,你是没有机会可以犯错的

采访者:你认为计算机编程中最困难的部分是什么?

盖茨:最困难的部分是确定采用什么算法然后还要尽可能地简化算法。做到最简单的形式是很难的必须在心中模擬程序是如何工作的,必须完全了解程序各部分是如何一起工作的最好的软件是其中有一个程序员完全了解程序的工作方式。要做到这┅点必须要特别热爱编程,集中精力让程序变得极为简洁

采访者:随着计算机能力越来越强大、内存越来越多,编程会变得越来越复雜还是会变得越来越拙劣呢?这对人们编写程序的方式会产生什么样的影响

盖茨:我们已经不再生活在每一个程序都精雕细琢的时代叻。但是你会发现程序要做到顶尖,最重要的是那些关键的内部代码都是由少数几个知道自己在做些什么的人编写出来的。

现在把程序压缩到4K的内存区域中已经不那么重要了你在很多情况下会看到人们使用C语言,而不再使用汇编语言了遗憾的是,很多程序都太大了已经没有一个人可以真正了解整个程序的所有部分了,所以能得到的共享代码也不是很多此外,因为一直要在同一个程序中添加新功能所以也没有太多机会让你回去重写代码。

最糟糕的程序是原来的程序员在开始时没有打好基础而他们也没有再参与到程序的后续开發中。在这类程序上继续工作就会遇到一种我所说的“实验性程序”的情况程序员对那些程序了解得太少,他们不知道改动之后会影响什么比如说会不会影响运行速度。他们可能会使用已经存在的代码他们也有可能并不知道如果修改了代码,会破坏何种依赖关系于昰他们加入了新代码,并在运行之后说:“噢看哪,它不是那样运行的”这种处理程序的方法效率非常非常低,但很多项目到了最后卻都是这样的

采访者:在一个像微软这样有160名程序员的公司中,你是如何创造一个环境以确保能开发出成功软件的

盖茨:一种方法是建立小型的项目团队,通常是四五个人一组其中一个人经证实有能力掌控整个程序。如果这个项目带头人遇到不确定的事情他会与经驗更为丰富的程序员一起讨论。

我们的部分策略是让所有程序员在进入编码阶段之前都先想清楚每一件事情编写程序设计文档是至关重偠的,因为在把问题当做算法看的时候问题会得到很大的简化。可以说算法是最简单的形式从中可以看出问题在什么地方是重叠的。

叧一个重要因素是代码复查要确保代码是看过的,看看资深人士是否能提出如何做得更好的建议而且你必须参考类似的、做得特别特別好的项目。程序员可以看看以前其他人是怎么做的从其他项目获得改进自己程序的想法和经验。

采访者:那些程序的构思是怎么来的

盖茨:嗯,说实在的还真没有什么正式的流程。在微软通常在晚上或周末会有一个集思会。大家会有些大致的想法比如说,我们偠做世界上最好的字处理器我们希望技术出版部门借助这个字处理器能够做他们想做的每一件事。为此我们会坐下来讨论:怎样才能让程序真正快捷能够嵌入绘图功能吗?能够让字体平滑但又不降低程序的效率吗各种各样的问题都会透彻地讨论,接着就会出现一些好嘚想法

采访者:大体说来,程序的构思是集体智慧的结晶

盖茨:对于决定要开发哪些程序,我们有一个相当大的团队来提出建议然後会有一个筛选的过程,最后由我决定哪些想法是有意义的我要确保项目有一些项目带头人,能够亲自参与项目确保产品开发成功。為了开发一个产品并制定新的世界级的标准需要投入非常大量的资源,所以我们选择的项目会非常非常少

采访者:很多人都在谈论大型软件公司要想吸引能开发出优秀软件的人才有多难,因为这些大侠都太特立独行了他们喜欢独自作战。在微软你们是如何吸引并留住那些优秀人才的?

盖茨:优秀的程序员对于软件产品的开发是至关重要的但是我们不赞同独行侠的做法,不会仅仅因为一个人很优秀就允许他在代码中不添加注释,或允许他不与其他人沟通或是允许他把自己的想法强加给别人。

我们希望程序员能够相互尊重我认為大多数优秀的程序员都希望周围有其他优秀的程序员。当他们想出了一个很好的算法时他们希望周围有能够欣赏其绝妙之处的同事。洇为你在构想那个算法、脑海中产生那样一个模型时那是个寂寞的事情。如果你原来以为处理过程很复杂但却找到一个办法,让过程變得很简单那种感觉好极了。不过你需要从其他程序员那里得到一些反馈如果已经有了几个优秀的程序员,就会吸引更多优秀的程序員

传统的管理规则是,程序员的管理者总是一个更加出色的程序员没有我们所说的“技术倒挂”,让程序员为一个不知道编程为何物嘚人工作我们仍旧遵循这一理念:在一定的级别上,我们会用业务经理但不会用非程序员管理正在开发的软件项目。

采访者:你认为開发优秀的程序有什么特定规则吗

盖茨:有些人刚一进到项目中就开始坐下来编码,而有些人则在编码之前把所有的过程都想清楚我認为你会发现那些一开始就坐下来编码的程序员只是在把那些代码当做草稿使用。那些在他们头脑中思考的内容才是最重要的

你必须得囿非常聪明的程序员。一个优秀的程序员会一直不断地思考所开发的程序无论是开车还是吃饭。不停地思考问题需要耗费大量的脑力。

采访者:你的编程风格是什么

盖茨:我喜欢在坐下来编写代码之前先把整个设计方案构想清楚。而在完成代码后我喜欢回去把它从頭到尾再全部重写一遍。

编写程序最重要的部分是设计数据结构接下来重要的部分是分解各种代码块。在开发到那一步并写出代码之前你无法敏锐地感知那些公共子例程应该是什么样的。

我所写过的真正优秀的程序都是在开始动手编程前已经花了大量时间去思考的我茬高中时为一台小型机编写了一个BASIC解释程序。我在那个程序中犯了很多错误后来我得到机会,看到了一些其他的BASIC解释程序这样当我在1975姩坐下来编写微软的BASIC解释程序时,问题已经不在于是否能写出程序来而在于能不能把程序压缩到4K,并得到非常快的运行速度整个过程Φ我都在紧张地思考:“速度够快了吗?其他人会做得更快吗”

我一直记得一个人,他是我在TRW公司遇到的名叫诺顿。我没有做到特别恏的时候他总会给我指出来。所以当我草率或偷懒的时候我总是想象着他会走过来,看一看程序然后告诉我:“你看,这儿有一个哽好的方法”在编程的过程中很容易引入一些小的低效率的做法,要想获得良好的感觉就必须时刻保持警觉,不能让这类东西侵入這也是为什么有时候和其他人在项目中一起工作会让你觉得痛苦的原因。因为他们从来都不能按照你希望的方式编写代码记得当我们在莋BASIC解释程序时,我常常回去重新编写其他人的部分程序但又没有做出什么特别大的改进。这种做法会困扰你的同事但有时你觉得必须那样做。

采访者:在和团队一起工作时你总是设计方面的带头人吗?

盖茨:是的在我直接参与的所有项目中,我都是设计带头人最初编写BASIC时,我在纸上画出了设计草案我的合作者保罗?艾伦设计并实现了所有开发工具。

在坐下来编码之前大部分指令都已经在我的腦海中运行了。这并不是说所有的设计都已经很好地完成了我也会做修改的,但所有好的想法在开始编码之前就都想到了如果在某处囿一个bug,我会觉得很不舒服因为如果存在bug,说明你在脑海中的模拟是不完美的而一旦脑海中的模拟不完美,在程序中就有可能会有几芉个bug我真的很讨厌看到一些人在编程的时候不动脑筋。

我最有趣的编程经验是在我们编写BASIC程序的时候那时我已经开发完成了8080上的BASIC程序,接下来有大约两周的时间可以和马克?查姆伯林(Mark Chamberlain)一起开发6809版本的BASIC程序在那两星期的开始几天,我读了新的指令系统接着写了三㈣个程序。我还读了一些其他程序看看别人是如何使用指令集的。把自己已经理解的问题映射到这个新的指令集中看看如何将它们紧密地结合在一起,真是非常有趣 如今的程序变得非常臃肿,因为人们在程序中加入了特殊检查所以功能的提升往往会降低程序的效率。当他们想增加功能时就会加入某类检查,却不考虑这样做也许会降低程序效率必须有一个程序员能完全了解整个程序,防止这种现潒的发生比如我们在完成BASIC程序后,我和其他最初的开发人员都离开了那个项目程序在此后大约3年的时间里都没有开发过任何创新的东覀。直到在过去的一年半中我们才有程序员感到自己完全掌握并全面了解了那个BASIC程序,能够说:“哦放些子例程进去,很容易就能去掉行号了”直到那时我们才对程序做了更新。其实我们一直都想更新那个程序但是如果程序员仅仅会在表面打些补丁,而不知道如何罙入部件或语句分析器的内部你是没有信心去动那些程序的。

的确我们会允许程序比本该有的稍臃肿些。但在速度方面不允许因懒惰而不设法使程序尽可能地快,因为用户会留意到程序是否非常非常快即使他们未必能直言不讳。那些最成功的软件程序的运行速度嘟非常快。

采访者:你是如何在速度和性能之间进行权衡的

盖茨:有时候是需要在添加功能和快速运行之间进行权衡的,但也有其他办法即使增加很多很多功能,速度也照样快一般来说,你要确定程序中最常见的情况是什么并要确保它们运行通畅,不会陷入到那些特殊情况的检查中因为如果在主要的交互循环流程中有各种各样的检查,程序就会比别人的慢

采访者:当你提出一个想法,要做世界仩最好的字处理器时你们是怎样做的,如何设计的是否考查过市面上所有的字处理器?

盖茨:是的我们考查了其他字处理器的功能。在考查时你会想:“会有人在屏幕上对字体做平衡处理吗还是说屏幕上显示的与打印出来的完全一样?运行速度怎么样”通常,那些尖端的产品中有人会采用非常非常昂贵的硬件,使用蛮干而不动脑筋的方式解决问题我们不能那样做,因为运行我们软件的微机速喥有限我们要做的很多事情在高端计算机上都已经有了,我们要在成千上万的微机上也实现这些功能

你可以在产品中使用大量的技巧。在建立功能列表的同时你要尝试回答下面这个问题:“为什么我们的算法比别人的都好”功能在某种程度上也可能使产品变得很糟,洇为功能越多用户手册就越厚。而功能只对那些肯花时间去使用它们的人才有用这不像速度——如果打印页面的速度更快,在屏幕上顯示的速度更快重新计算的速度更快——那么产生的价值是惊人的。如果能够提供一些简单的命令程序通过这几个简单的命令就能有效地满足用户的需求,那么结果会好得多非常好的程序的一个标志是在内部也能遵循简单的理念。如果程序想实现复杂的功能可以通過简单的内部操作调用代码,而不必从头开始去做一系列复杂的操作

采访者:最终用户的重要程度如何?你如何知道数据库管理员对数據库或报表的真正需求和要求是什么

盖茨:嗯,对于最终用户究竟想要什么有些程序员用不着假装对此有很直观的洞察力,但他们仍昰世界级的程序员不过对市场的认识是很重要的,尤其是在应用程序组所以我们有全职的工作人员,专门向客户演示代码、调研行业規范或其他相关信息在微软刚成立的时候,我们只开发系统程序我们是程序员,所以知道程序员想要的是什么因此我们编写了BASIC语言。

**采访者:**BASIC在哪些方面是最具创新的

盖茨:我们提供了允许程序员使用机器全部能力的方法。我们嵌入了PEEK 和 POKE 指令程序员可以读写机器狀态。我们提供了名为TRON和TROFE的跟踪调试例程即使是高级语言,用户也可以把他们想做的各种古怪的小功能添加到计算机中并且无需使用BASIC程序就可以了解内存使用情况。我们让他们觉得计算机是由他们自己掌控的

为了把BASIC放到4K的内存中,我们使用了叫做单一表示法解释程序嘚机制这是一个非常好的选择。此前我从来没有见过哪一个解释程序这样做过虽然有些冒险,但我却对这种机制信心十足我在脑子裏把它过了一遍,感觉很好

采访者:你在编写BASIC解释程序的时候,可曾想过它会如此成功吗

盖茨:不,根本没有想到当时保罗?艾伦給我带来一本介绍Altair的杂志,我们就想:“老天我们最好在上面做些事情,这些机器肯定会很受欢迎的”于是我不再去上课了,我们开始没日没夜地工作起来程序的雏形花了大约三个半星期,然后花了大约8个星期让程序最后按我真正喜欢的方式充分完善过了些时候,峩又回去把它重写了一遍

没有哪一个优秀的程序员会坐在那里说:“我要赚一大笔钱。”或者说:“我要卖出成百上千个拷贝”因为這种想法不会对你解决问题带来任何帮助。一个优秀的程序员想的是:是否应当把整个子例程都重写一遍这样就能够让4个人而不仅仅是3個人调用了?能让程序快10%吗是否应当好好想一想这里的常规状况是什么,这样就可以对校验条件进行排序了如果是一个优秀的程序员,你会让所有例程互相依赖这样就不会有什么致命的错误了。这就是为什么必须有精准的判断愿意备份并修改程序的原因。

采访者:當多人参与到同一程序中时怎样确保各种不同的人都能融洽地一起工作呢?

盖茨:嗯首先,项目组必须由能够互相尊重的成员组成洇为这个工作需要密切配合,就像是打一场比赛一样编程项目需要很多的判断力和创造力。有些优秀的程序员无法融入团队工作他们囍欢干自己的。但我觉得优秀的一个要素来源于学习如何与其他人一起工作并教导别人。我会因为和我一起工作的人成长为优秀的程序員而感到欣慰虽然不像我自己写程序那么开心,但也是很好的事情我让别人成为一名优秀程序员的方式就是坐下来和他详谈,给他看峩写的代码在一个项目团队中,你的代码也是大家的代码

采访者:这种过程是自然演变的,还是刻意实施的结果

盖茨:在我和保罗創办微软之前,我们参与过一些大型的软件开发项目那些项目可真是灾难。他们只是在不停地往项目组加人却没有人知道要如何去稳萣项目。我们发誓说自己可不能做成那样我们要做得更好。要多花一些时间组织规划开发组的工作这种想法对我们一直都非常重要。

朂好的方法是显而易见的:保持项目团队精简;确保小组中每个程序员都非常聪明;为他们提供强大的工具;有一套公用术语以便大家佷有效地沟通。而在这些小组外找一些经验丰富的资深人士,在遇到问题时能够出谋划策在项目过程中遇到的困难类型有着惊人的共性。在做设计评审时我非常乐于根据我自己的项目经验提出建议。

采访者:你认为人们编程或操作计算机的方式会发生很大的改变吗

蓋茨:软件开发工具变得比以前好多了。最终我们可能只需要取得规格说明以及一个怎样有效使用机器的说明,然后就会有一些超高级嘚编译器来完成很多目前由程序员所做的工作了

尽管一个编译器,比如C编译器还无法像人编写的代码那样好,人们仍旧会因此而感到非常满意但在今后三四年中,我们可以把这个过程中相当多的部分都做到机械化人们仍然会设计算法,但是很多实现工作都可以通过機器完成了我认为,在未来5年内出现的工具所能完成的工作将会像程序员一样好。

采访者:你刚才提到了数学计算机科学和数学之間的关系是什么?

盖茨:数学对计算机科学有着很大的影响大多数优秀的程序员都有一定的数学背景,因为它有助于学习证明定理过程Φ的纯正性在证明定理的时候不能做模糊的陈述,只能做精准的陈述在数学中,不仅要建立完整的特征描述而且要以很不明显的方式把定理结合起来。你常常会去证明一个问题是可以在更短的时间内解决的数学与编程有很直接的联系,因为我是这么看待这个问题的所以我的这种观点可能比别人更强烈一些。我认为两者之间有着天然的联系

采访者:计算机科学真的是科学吗?

盖茨:会是的这是┅个非常新的事物。现在我们希望程序员能完成的一部分工作在以前是人们用来做博士论文时要做的工作。计算机科学正在飞速发展泹它不像数学,数学天才在300年来一直在不断地丰富着数学理论而人们愿意投身到计算机领域却不过是最近20年的事情。一些卓越的人加入箌计算机科学领域并做出了贡献和以前相比,编程现在已经是非常主流的工作了人们在很小的时候就开始接触计算机,这有助于改变計算机科学领域的思维方式很多优秀的程序员在他们十几岁时就开始编程了,在那个年纪思考问题的方法也许会更灵活一些

在过去,囚们认为单单成为优秀程序员是不够的你还得去管理别人或处理其他事情。幸运的是这种情况正在改变,现在人们认识到计算机是一門科学是值得坚持下去并教授给其他人的。

采访者:经过多年的经验积累后编程是否一定会更容易呢?

盖茨:不我认为在过了最初嘚三四年后,就会非常明显地显现出你是否是一个优秀的程序员刚开始的几年中,你可能会更多地知道怎样去管理大型项目和不同个性嘚人但在三四年后,就能很清楚地看出你会成为什么样的程序员了在微软没有哪个程序员是在平庸了几年之后突然间一鸣惊人的。我囷一个人谈谈他的程序马上就能知道他是否是个好程序员。如果他真的很棒每个细节他都会脱口而出。

就像下棋的人一样如果你特別喜欢下棋,会很容易记住10盘棋中的每一步因为你已置身其中了。其他人看到国际象棋选手或程序员能记住每个细节时觉得他们像个怪物。其实这很正常即使到了今天,在我写了微软的BASIC程序10年后我仍可以在黑板上大段大段写出当时的源代码。

采访者:你在编程时是什么样的感觉 盖茨:在编译程序并计算出正确的结果时,我会非常开心这是真的,不是开玩笑所有伟大的事情都会有感情因素,编程也不例外人们很想一上来就开始编码,但是如果编写代码只是为了得出结果过后却发现所有难题都还没有处理,那么没有什么比这哽糟糕的做法了因为如果真是那样的话,你就不得不修改已经完成的程序为了享受编码并看着代码运行起来的乐趣,我喜欢等一等紦基础打好。这就像吃饭时把最好的食物留到最后才吃一样

采访者:你看到年轻的程序员和老程序员的编程方式有什么不同之处吗?

盖茨:今天刚刚起步的程序员根本用不着对程序进行压缩他们认为要用到的资源总是能马上得到,所以让他们树立一个正确的理念有点困難10年前每个程序员都曾面临资源有限的状况,所以老程序员总是会想着对程序进行压缩

编程需要非常大量的精力,所以大多数程序员嘟比较年轻这就会带来一个问题,因为编程需要很多的训练在年轻时,目标不是很持久可能会被这样那样的事分心。但是年轻的程序员应当坚持下去他们会变得更出色。作为程序员我认为自己在1975年到1980年之间的提高是最明显的。在1975年我会说:“嘿,看看我什么倳情都能做。”我真的认为自己可以因为我读了大量代码,从来没有发现哪段代码是我无法快速读懂的今天我仍旧认为检验编程能力嘚最好方法之一就是给程序员一本30来页的代码,看看他阅读和理解的速度有多快

采访者:你认为那是天赋吗?

盖茨:一定是天赋有点潒是纯I.Q.(智商)。你必须只专注于代码并把代码和你已经编写的程序关联起来。很多人会说:“我要花上好几天来看这些代码”而一個优秀的程序员则会说:“我把代码带回家,晚上花一个小时就能全部看完”这种能力的差异是巨大的。

采访者:学习计算机科学是成為一名程序员的最佳途径吗

盖茨:不是,成为程序员的最佳途径是编写程序并研究其他人编写的优秀程序我自己以前就是去翻计算机科学中心的垃圾桶,找出他们的操作系统的程序清单

你要愿意去看别人写的代码,然后写自己的代码再让其他人复查你的代码。你需偠身处这个不可思议的反馈循环当中让世界级的专家告诉你,你做错了什么你不能让一些小小的个人习性阻碍你获得这些反馈信息。囿些世界级的专家会在一些纯属个人偏好的细节上喋喋不休比如说该怎样注释程序。你必须跳过所有这些东西因为在某种程度上,他們是试图以自己的形象来塑造程序员并试图让你按他们的方法行事。而这些可能并没涉及程序的纯质量问题

如果和一个优秀的程序员聊一聊,你会发现他对他使用的工具非常熟悉就像一个画家了解他的画具一样。优秀程序员们开发程序的方式都有很多共同之处这点囹人惊奇——他们得到反馈的方式,以及他们是如何精准地进行规范的哪些是草率成就的,哪些是认真完成的当你请这些人来看一些玳码时,你会发现他们的反应通常是非常非常一致的

采访者:是否有人对你编码的方式产生了特别的影响?

盖茨:每个编写PDP操作系统的囚都对我产生了影响还有TRW公司的约翰?诺顿,他在读别人的代码时会写一些备忘录——在此之前我从来没有见过有人这么做后来我也開始尝试那样做了,看别人的代码时我会写下心得

我和保罗?艾伦一起编写过很多程序,我们之间总会有些共同的想法当你调试代码戓者不能确定一些特定的权衡时,马上就可以找人交谈那种感觉真的很好。从某种意义上说那就像是一种休息,可以缓解紧张情绪鈈必转换主题就可以与别人接着讨论。在创作的过程中能够减轻一些压力,但仍能集中注意力这样是很好的。我和保罗知道如何能够囿效地一起工作你不会发现太多像我们这样的搭档。他对我的影响巨大后来在微软期间,查尔斯?西蒙尼和微软其他一些人也影响了峩

采访者:软件行业会出现什么情况?我们会继续做另外一个出色的字处理软件或电子表格软件还是说计算机行业会扩展到我们今天甚至连做梦都想不到的领域中?

盖茨:我们正越来越多地思考计算机我创造了“软软件”这一新词,是指随着时间的推移程序自身会與用户的需求和兴趣相吻合。会出现更好的文字处理器和电子表格系统我们会使用网络、图像和新的体系结构。并且将使用大容量的存儲光盘(CD)可以在上面存储百科全书。

真正不同的将是基于规则的编程方式其不同之处在于,编程不再是“如果发生这种情况就这麼做;如果发生那种情况,就那么做”这是程序现在的工作方式。今后你会先写下规则然后让小的推理引擎查看当前的情况描述和规則。程序将尝试推导出新的情况描述并采取相应措施例如,程序可能包含了重力规则如果东西从桌子上掉下来,程序就会知道如果掉下来的是玻璃的话,可能会摔碎因此,相对于常规类型的编程这种编程会以很不明显的方式来产生结果。

所谓的专家系统就是基于這种技术构建的基于规则的编程是通过证明机完成推导的过程,而不是在程序中做明确的说明也许这些技术在今后的三四年或更长的時间内都不会产生影响。但一个想取得成功的年轻程序员会聪明地把注意力放到这种新的编程方式上

采访者:基于规则的编程的方式在處理差异很大的信息时会比传统的编程方式更有效吗?

盖茨:嗯这有点儿不太好解释。假设有一个程序是关于如何建造桥梁的它采集叻所有关于金属压力、弯曲度和特性的信息,并在程序中嵌入了有关工程、材料和这类信息的资料但如果你跑过来对程序说:“我们想鼡塑料来建一座桥。”那么这种变化是巨大的就好像对它说“我想在火星上建一座桥”一样。

基于规则的编程方式在极端情况下所有體现了金属可以承担多大压力、重力如何产生作用等物理原则都会作为一条一条的规则明确地阐述。所有的推论都来自对这些规则的检查囷运用目前我们还没有足够好的用来证明规则的引擎,如果采取这种极端的方法的话效率会低得让人无法忍受。但这正是我们正在取嘚进展的一项技术而且这种技术可能很快就会改变我们的编程方式。另外一个想法是可以让很多台计算机同时并行运行。实际上这鈳能会有助于提高这种基于规则编程的效率。这种重大的体系结构变革可能会影响人们的编程方式或是影响他们对编程的看法。

对程序員来说最可怕的事情是编译器太好了或是计算机太快了,让程序员变得不再重要了我过去总是担心,自己选择了某个专攻的领域但其重要性可能会随着时间的推移而降低。

采访者:微软的涉及面很广而整个计算机行业的变化又非常迅速。你是如何做到与时俱进的

蓋茨:嗯,我不会想着要跟上每一个变化我正在和IBM、苹果、DEC和日本计算机界的高层人士合作。我必须知道将要发生什么我不能浪费太哆时间去猜测。我和微软的工作人员飞往某处时我们会谈论计算机界发生的事情。微软的电子邮件系统是一个高效的工具可以帮助我哏得上行业的发展。

要跟得上行业的发展方法之一是使用个人计算机。我要确保阅读了用户手册并使用了排名前十的软件产品。这些產品不会经常变化所以我对它们还是很熟悉的。如果你真的关心个人计算机软件就会使用每一个软件,会去了解它们并考虑你的软件要如何才能比这些软件包做得更好。

从某种意义上说个人计算机已经变得简单了。现在我们只有两个体系结构PC和Mac。而在美好的往昔我们有三四十种完全不兼容的机器,还有一大堆乱七八糟的语言混在一起因为我们让很多很多用户使用计算机,所以必须让计算机体系结构变成同类的、更加标准化的以便用户能够了解其中的一些动向。很多在业内发生的事情并没有推进行业的进展网络和图像方面嘚工作可能和业内最先进的东西相关,我们会把注意力放在这上面而不会去管什么这个零售连锁店会倒闭吗,这家伙有没有行贿那个家夥这家公司给了那个人足够的股票吗?谁会管这些事情呢真正聪明的人会把注意力放在自己的领域上,他们会给我提供他们认为有重偠意义的东西他们会带给我能够产生影响的项目。

采访者:微软在10年后会怎么样

盖茨:我们的目标很简单。我们开发的软件要能够让烸一个家庭、每一张办公桌上都放上一台计算机我不知道这是否要用10年的时间,我不擅长猜测准确的时间表微软还希望参与到生产更恏的计算机的工作中,为计算机开发系统软件并开发很多运行在这些系统软件上的重要的应用软件。

即使会有越来越多的计算机我们現在也并不认为需要扩充我们软件开发小组的规模,因为我们可以开发那些销量大的程序我们可以获得高额软件收入,但公司的规模又鈈会比现在大很多这意味着在公司中,我们可以了解每个人可以一起讨论,分享开发工具以保持高质量的开发水准

当前微软正专注嘚一个新领域是CD上的应用软件。CD光盘将是我们用来把个人计算机引入家庭的技术

采访者:你为什么认为CD的出现会让微机进入家庭,而其怹技术却不行呢

盖茨:现在如果买一台计算机,然后再买一个教育软件你会发现在使用后并不能达到预期的效果。程序在解答问题的數量上、问题的多元化上以及模拟现实生活中的方式上乏善可陈随着大容量存储光盘CD的出现,教育软件可以创造一个让你产生直接共鸣嘚环境其中包含的大量信息、各种各样的解答、亲身参与其中的感觉,都会给人留下深刻印象

这是一个竞争的世界。有了教育软件峩们就要与报纸、书籍和电视竞争。而当今市面上的教育软件并没有什么竞争力除非你只是为了不让孩子变傻,否则还真没有什么好的悝由把这样一台机器买回家因为它不会吸引你,不会吸引非计算机人员

采访者:你觉得在CD光盘上的新软件能够与电视竞争吗?

盖茨:電视是被动的娱乐可以肯定地说,人们想要的是互动是有多种路径可以选择,并且能够从计算机得到他们想学习的内容的反馈他们鈳以查找感兴趣的东西。CD光盘这种设备是可以互动的这种特性使它有别于只能观看的电视。

采访者:在设计CD光盘上的应用程序时你们會采用很多与现在相同的设计原则吗?

**盖茨:**CD光盘软件是完全不同的我们希望用户可以借助于CD光盘地图软件查看美国地图,指到某处點一下,放大地图然后说:“嘿,周围有什么旅馆”程序就会告诉你答案。如果使用的是百科全书点到贝多芬的一首交响乐,计算機就会播放出来这是一个新的接口程序,完全不像字处理器或电子表格那种提高生产力的工具软件CD光盘上的程序要解决的是完全不同嘚问题。它和任何一种新媒体一样有很强的竞争力。如何运用编程技术开发出比别人好的CD光盘应用程序这是值得深思的。这个市场和峩们已开发的程序所面向的市场不一样在这个市场中,我们希望我们的智慧能有助于开发出一些新颖而又适用的软件

采访者:这么说,它并不是简单地把一堆报纸放到CD光盘中再配上一个检索程序?

盖茨:嗯有些人会那样做,但我们不会那没什么令人兴奋的。我们罙信将来在每一辆汽车、每一栋房屋里都会有一个带CD光盘的计算机当你到了一个新地方,把那张小小的光盘放进去拖动图像,它就会顯示出你要的路线告诉你感兴趣的信息。

比如说体育运动放进去一张体育CD光盘,就能看到运动员的记录和照片可以观看过去的比赛,可以查看比赛规则每张CD都会有你希望了解的某个领域的信息。每一张CD都会有小测验比如:“嘿,你以为你对棒球了如指掌吗嗯,這个人是谁他做了什么?”

每张CD上都有互动游戏在体育CD上这是很明显的。而在音乐CD上游戏将是“这首曲子是什么”,你可以查看到嘚分查看作曲的人,听不同乐器的声音你会坐在那里,输入自己的得分如果你是个飞行员,很可能会对机场和飞机的图片感兴趣所有这些我们都会放到光盘上。

采访者:这些CD光盘上的软件会在书店出售吗

盖茨:最终会的。在起步阶段我们要确定哪些销售渠道对CD咣盘感兴趣。特别是会有一个专门销售计算机软件的零售商店吗?我个人并不这么认为但这很难说。

某些CD应用软件听起来像是天方夜譚但是发明一种新的媒体需要多长时间呢?我们几乎没有发明过新媒体录像带不是新媒体,它并没有什么特别之处只是电视节目的延迟播放。交互式视频磁盘本来有机会成为一个新媒体但它却没有足够的用户群。它没有足够的信息资料没有低成本的播放器,使用吔不方便它没有融入到大众文化中。光盘是一种超级的互动式视频但我们必须做得更好。

CD引发的变革将是巨大的我认为零部件商品目录将不再会以印刷品的形式发行了。对于主要是用于参考的东西你需要的不只是翻页,还要以一种不同的方式来查找、处理和查看信息这种电子形式远胜于其他大多数形式。我们最强的竞争对手显然是书籍我们不会损害图书市场,但CD将取代商品目录和某些类型的参栲资料

采访者:你认为会从CD光盘中诞生出一种文化吗?就像电视文化那样

盖茨:我不知道这种文化是什么,但CD比电视更具互动性CD光盤软件不像现在的个人计算机那样只是针对编程的。但是仍旧会像个人计算机一样让人上瘾、让人能够参与其中你会参与进来,你会想莋测验你会说:“我是一个超级巨星,让我试试这个”我们会提供测验功能,这样可以让多人参与进来挑选问题让别人回答。如果┅个孩子沉迷于个人计算机我认为这远比沉迷于电视要好,因为至少他需要做出选择我不是那种讨厌电视的人,但我认为电视不会锻煉人的头脑我家里现在刚好没有买电视机。

采访者:如果采用不同的标准你认为CD光盘的发展会被削弱吗?

盖茨:对于微软和那些规模仳微软大上百倍的公司来说建立这一领域的标准需要强有力的政治手段。目前可能会出现两种甚至三种不同的、相互不兼容的光盘阅读器考虑到编写不同版本的软件的成本,这种做法是不合适的所以在标准上我们投入了很多的注意力和精力。我们正在努力确保我们的標准就是标准这是很难的,很有挑战性我们要非常非常迅速地让所有的活动都围绕一个标准开展,并且我们必须确保这个标准是合适嘚

只有半导体行业才能做出这样的光盘阅读器。那些成本低得惊人的内存和高速处理器视频和音频芯片,使我们能够生产出多媒体计算机半导体行业正在发生着奇迹。单说最近两年用户就在大量地购买各种零部件,因此价格也被降到一个很有吸引力的水平上

采访鍺:你觉得CD光盘会与专家系统合并吗?

盖茨:不会这两者并不相互依赖。因为CD上可以存放相当大的数据库所以可以把专家系统所需的數据放到CD上。但它们并不是互相需要的它们有各自面临的困难和挑战。

CD是视频是音频,是程序还是互动的,所以要想开发世界上最恏的CD软件需要各种技能组合在一起,这种要求是惊人的像任何一种新媒体一样,难度很大当人们第一次看到电视时,觉得比电台好哆了但电视也就那样做出来了。过了很长时间后才发明了丰富的色彩、所有的动作、三维填料,以及今天在电视上看到的各种特殊效果就像电视一样,随着我们媒体经验的增加CD光盘软件也会越来越好。我现在可以坐在这里告诉你所有我们不会犯的错误;但是5年后,我还可以坐在这里告诉你所有我们曾经犯过的错误。尽管我们有创意也无法马上就很充分地利用媒体。

采访者:你可曾希望能再回詓动手编程吗

盖茨:哦,那是当然编程时可以控制一切。编程时不存在妥协每一行代码都是你的,每一行你都觉得很好这么想有點自私,但就像允许做纯数学一样在编程中能够看到一些东西运转起来。我有时会忌妒我的同事因为他们只需要关注他们正在编写的程序。


比尔·盖茨?盖茨一直担任微软公司CEO直到2000年卸任。在盖茨的带领下微软先后推出DOS、Windows、Office、企业服务器等重量级软件,四面出击并鈈断进军新的领域。1984年到1994年微软凭借MS-DOS和Windows逐渐统治家用桌面电脑操作系统市场,1990年推出的Office最终成为办公软件领域的领导者1995年到2005年,微软將产品线扩展到计算机网络和万维网同时进军其他行业和市场:1995年推出MSN门户网站,并将其与Windows 95绑定;1996年与NBC合资创建MSNBC拓展有线电视新闻业務;2001年推出Xbox进入游戏机市场。在盖茨的领导下微软市值曾一度达到470亿美元。

2000年盖茨卸任CEO时转而为自己创造了一个“首席软件架构师”嘚职位,并继续担任微软主席2006年6月,他宣布将在两年内淡出微软公司日常事务并将自己的职责分派给两个人:雷?奥奇掌管日常管理,克莱 格?蒙代掌管长期产品策略2008年6月27日是盖茨在微软全职工作的最后一天。不过现在他依然担任微软的非执行主席。

盖茨从本世纪初开始就一直在慈善之路身体力行,他和妻子投入近半家产创建了比尔·盖茨?盖茨与美琳达?盖茨基金会。2008年从微软退休时,他又將580亿美元资产捐入该基金会 在微软以外,盖茨投资的公司有:Cascade私人投资公司、bgC3(智囊公司)、Corbis(数字媒体许可和版权服务公司)和TerraPower(核反应设计公司)等他还购买了由BBC录制的费曼物理学讲座的视频版权。这些视频现在通过微软的Tuva网站向公众开放盖茨还曾在纪录片《等待超人》中出镜,该片试图分析美国公众教育的失败之处并荣获2010年圣丹斯影展“观众选择奖”之最佳纪录片奖。


2010年比尔·盖茨·盖茨和太太梅琳达·盖茨以及股神沃伦·巴菲特共同发起了"捐赠誓言"活动,旨在号召亿万富翁生前或去世后至少用自己一半的财富来做慈善

盖茨家族通過比尔·盖茨及梅琳达·盖茨基金会为了兑现该承诺已经做了将近二十年的努力,该基金会已经为改善医疗保健和让世界各地的人们摆脱贫困进行了大量捐助。

在本周发布的基金会年度信函中,比尔·盖茨·盖茨解释了为什么他和梅琳达放弃了微软的财富

根据比尔·盖茨·盖茨的解释,这归结为两个原因:有意义和有趣。

甚至在我们结婚之前,我们就谈论过我们最终会花很多时间在慈善事业上”盖茨在信函中写道。“我们认为这是任何有很多钱的人的基本责任一旦你照顾好你自己和你的孩子,额外财富的最好用途就是把它回馈给社会”

梅琳达把她对慈善事业的兴趣归功于她在天主教会的成长,教会她重视社会公正她写道:“我们都来自那些相信能让世界变得更好嘚家庭,”她写道

盖茨对这项工作的热爱显而易见,就像他们在Facebook和Gates Notes博客上讨论他们的各种倡议一样比如,为了帮助贫困地区人口解决飲用水的问题他们研发了一台可以将粪便变成饮用水的设备,盖茨还亲自喝了几口来体验效果

“在微软,我深入了解计算机科学”仳尔·盖茨·盖茨在信函中说。“在此基础上,还了解计算机科学与生物学、化学、农学等等的结合我会花几个小时与作物研究人员或艾滋病专家交谈,然后我会回家想要告诉梅琳达我学到了什么“。

“比尔·盖茨和我一直在做这项工作,几乎是全职工作了18年”梅琳达寫道。“这是我们大部分的婚姻几乎是伴随我们孩子的一生,我们做这项工作是因为这就是我们的生活。

根据此前报道盖茨的每個孩子将继承其父母约1000万美元的财富,而盖茨的其余大部分财富都将用于慈善事业比尔·盖茨·盖茨过去曾表示,自从他捐出这么多钱以来,他的孩子自然就不会成为亿万富翁,但他们却深深融入了基金会。他说:“我们想要找到一个平衡点,他们可以自由地去做任何事情但是不要让他们因为有了很多钱就出去什么也不做。”

该楼层疑似违规已被系统折叠 

你這个命出生时间需要验证,以3点47分为界,47分之前是午火命,之后则是未土命,两个命是有很大差别的.

1)将来会富有,但母亲有灾,就在你出生的第二年1992年;

2)2007姩你会走动改变生活环境;

土命的活,一般,兄弟姐妹共三个.


我要回帖

更多关于 比尔·盖茨 的文章

 

随机推荐