当前位置: 首页 > news >正文

代码之王(1) ——《观止》

 

 

 

 

 

图书内容:

 

      “ 微软创建Windows NT 这个计算机技术领域惊人突破背后的故事,揭示了成功创新的艰难和痛苦。集中表现了卡特勒的反复无常、激励和鞭策团队的能力,色彩鲜明地描述了这个巨大企业的人间戏剧,揭示了他们的压力、失望以及最终胜利。而胜利来自于战胜没完没了的最后期限,与对手的竞争,与不可避免又无处不在的程序缺陷的无休止的斗争——其中可能就包括致命的问题。”

 

 

 

 

 代码之王


    不管比尔.盖茨是多么的富有和强大,他母亲还是热衷于讲述她对儿子的教育失败——关于保持整洁。

盖茨是西雅图城的一个殷实之家的独子。他的母亲,玛丽,是西北银行巨头的后代,也是华盛顿大学的校务委员。而他的父亲,威廉II,是一位在市中心工作的事业有成的律师。


      聪明而任性的盖茨从小就喜欢和他的父母对着干。他出生于19551028日,他和其他婴儿潮出生的一代一样,特别懒散。他少年时代的房间简直就是——用一个词来说——肮脏不堪。他父母对此感到很担心,再三命令他打扫卫生。他却从来不听。

     玛丽只好惩罚盖茨,一旦她发现他房间里有乱扔在地上的东西,她就拿走。但盖茨似乎并不在意他的东西少了,即使是当玛丽开始拿走她在地上发现的衣服的时候。


     他的衣服很快就要被拿光了,可是盖茨看起来却一点反应都没有。


     玛丽后来觉得要采取专业措施了。她找来一个顾问,来调解这个僵局。这个顾问与盖茨,他的两个姐姐和他的父母先后进行面谈。然后,下了个处方:别管盖茨了。

玛丽照此做了。她让她的儿子糟蹋他自己的房间,只是要求他关上门。可就连这样小小的要求,他都不总能做到。 


      盖茨曾是个瘦瘦的小孩,皮肤苍白,脸颊有雀斑,头发是褐色的,眼睛是淡蓝的,他有一副歪歪的咧嘴笑容和一个对他的脸显得有些过大的鼻子。他的眼镜似乎从来没有扶正过,总是向一边倾斜,使得他看起来有些傻气。


     当大多数年轻小伙子把热情留给姑娘或者运动的时候,盖茨却拥抱电脑。他所在的贵族高级中学拥有给学生尽情使用的一流电脑。编程中的干脆的公正吸引着盖茨。坚固的逻辑,而不是主观意见,造成了编码间的矛盾也明确地解决了矛盾。“运行你的程序是一个绝对的考验,”盖茨回忆起他第一次付出努力的时候,曾说道,“你写一个程序,运行它,测试它是否能工作。”

      盖茨的笨拙只是表面现象,他真正具有善抓商机的天赋。差不多就在他学写程序的同时,他便开始尝试销售它们。他因此遭受了市场的严峻考验。这在七十年代早期对于一个十几岁的程序员来说是不平常的。他的大多数同龄人把他们自己看成是对抗社会的黑客,他们把计算机技术当成是摧毁建成物的工具。但盖茨并不这样。他设计了一个编有交通数据的小程序,把他的Traf-O-Data系统买给了当地的好几个城镇。他希望西雅图城也变成他的一个客户。但是当一位市政官员到他家里看他的演示时,这个程序却运行失败了。心痛的盖茨,想努力保留住官员的兴趣,央求道:“告诉他,妈妈——告诉他这真的有用!”


      在1973年的秋季,盖茨,这位数学高才生,成了哈佛大学的一名大一新生。在学校,他经常打扑克,不停地玩电脑游戏,而且看起来总是忙忙碌碌。他会经常坐在他的房间里设想他的未来,“像哲学家似的,一个抑郁的家伙,总在琢磨我应该怎样对待我的人生。”在197412月,他在保罗.艾伦那里得到了一个启发,艾伦是比他大三届的高中校友。那天,这个曾经帮助盖茨设计交通程序的艾伦,带着一本最新发行的《大众电子》来到了哈佛。这本杂志的1975年元月刊封面赫然登着一台名叫牛郎星的电脑。它是发烧友的梦想。不到2000美元的牛郎星电脑完全具有价值比它贵几十到上百倍的其他类型电脑的功能。这秘密是什么呢?微处理器。加利福尼亚州圣克拉拉的英特尔几年之前发明的微处理器把一个电脑的关键元件压制在一个指甲大小的硅片或者说芯片上。这个芯片于是变成了牛郎星的心脏。


      作为一场革新的先驱者,牛郎星成了第一批大量销售的个人电脑。这是第一种以人为本而不是以任务为本的电脑。计算机界的保守派们完全忽视了这种理念的重要性。大型计算机的痴迷者们总在炫耀着大型机处理大批工作的优势。但是大型计算机就如长龙巴士一样——只要所有人都想同时到达同一个目的地,效率的确不错。而个人电脑就像一辆小汽车;司机想到哪,它就能去哪。人们不需再按照大型计算机的时间计划表来安排工作,只要有一台微机,任何人就可在任何时间做电脑操作。


      个人电脑的推广者们看到了它强烈的号召力。这使效率不高的计算机变成一种消费品,就如《大众电子》的编辑介绍牛郎星时所称:“家家户户有电脑的时代……已经到来了!”

这些话语使盖茨和艾伦振奋起来,他们看到了牛郎星的缺陷:它没有软件。买家只能自己写,如果他们写不了,那从本质上说,买的机器就没用。这正是盖茨和艾伦可以解决的问题。


       牛郎星首先需要一种编程语言。盖茨和艾伦打电话给制造牛郎星的公司,该公司位于新墨西哥州阿尔伯克基城,向他们承诺将提供一种编程语言。他们选择了在20世纪60年代开发出的Basic,它主要是为DEC公司生产的微型计算机设计的。Basic(初学者通用符号指令代码)Fortran要更适用于短程序,也更容易学,因为它的指令比较简单。这种语言十分流行,它的原作者是两名达特茅斯学院的教授,他们宣称这组程序没有所有权,任何人都可以免费地使用或者修改它。

      不到六个星期里,盖茨和艾伦就为牛郎星完成了一套BASIC版本。他们俩达成了名叫“微软”的合作伙伴关系,以此兜售这个程序。艾伦乘飞机到新墨西哥州完成了这笔交易。很快,微软的BASIC卖得非常好,虽然它要卖到500美元一套。这样的好市场使盖茨离开了哈佛,并没再回去过。(译者注:2007年,比尔•盖茨辍学创业32年后,获得母校哈佛大学荣誉法学学位)


      牛郎星从微机舞台上退下了,但微软的BASIC语言仍是重要的编程工具。原因是盖茨和艾伦把它与英特尔的通用芯片线做了匹配,而英特尔的芯片是牛郎星和后来许多个人电脑的心脏。BASIC语言的价格占到一台小小电脑的整个成本的很大一部分,这引起了很多电脑爱好者不满。他们开始复制程序,免费地到处发送,声称软件应是一种公共资源。盖茨坚决反对这种把软件看作是电子世界中的“水”和“空气”的说法。他公然指责盗版者为窃贼。“大多数的编程爱好者应该注意到,你们当中的大部分用的是偷来的软件”,他在一本电脑杂志上写道。他讥讽地说,嘲笑他们这种共有理念,他刻薄地评论道:“硬件是要钱买的,但是软件却是用来共享的。有谁关心写软件的人是否得到报酬了呢?”

谁关心?比尔.盖茨。


     个人电脑极大地改变了人们工作和娱乐的方式。从70年代后期开始,不计其数的人们开始卖掉他们的打字机,更换成台式电脑。一切的一切,包括从图案设计到文字处理到档案管理,在电子技术的帮助下,都能更容易更快地完成了。1980年,IBM,世界上最大的计算机生产商决定开始生产个人电脑。IBM有自己生产一切部件的传统,但在当时的情势下,IBM得把个人电脑的两块最重要的部分外包出去,因为这要便捷得多。

 

未完...

 

相关文章:

  • 《正在爆发互联网革命》封面征集活动开始了
  • 沉寂十五年后,首次与中国读者见面,微软全球副总裁张亚勤推荐《观止》
  • Beautiful Data 诚征译者
  • 一个比尔盖茨都怕的人?他是谁?
  • 《观止》让我一夜未眠
  • 《观止》-观而不止
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 《观止》是一部关于人和感情的书
  • 《观止》占据了我整个周末时间
  • 《观止》不能错过的好书
  • 《观止》创销售纪录,上市一周2次印刷
  • 偷菜的革命——献给所有忙于偷菜、乐于偷菜和疲于偷菜的您!
  • 哥写的不是代码,是寂寞
  • 偷菜的革命 ——献给所有忙于偷菜、乐于偷菜和疲于偷菜的您!
  • 贾君鹏不回家吃饭的十个理由!
  • Angular数据绑定机制
  • CSS 专业技巧
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript 一些 DOM 的知识点
  • Javascript编码规范
  • Python利用正则抓取网页内容保存到本地
  • Python连接Oracle
  • rc-form之最单纯情况
  • SAP云平台里Global Account和Sub Account的关系
  • Yeoman_Bower_Grunt
  • 电商搜索引擎的架构设计和性能优化
  • 飞驰在Mesos的涡轮引擎上
  • 计算机常识 - 收藏集 - 掘金
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • postgresql行列转换函数
  • $GOPATH/go.mod exists but should not goland
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Java)【深基9.例1】选举学生会
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (六)c52学习之旅-独立按键
  • (四)Linux Shell编程——输入输出重定向
  • (算法)Game
  • (转)iOS字体
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .net6 webapi log4net完整配置使用流程
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • @Autowired注解的实现原理
  • [ JavaScript ] JSON方法
  • [20140403]查询是否产生日志
  • [2021 蓝帽杯] One Pointer PHP
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改