我发货,所以我是

2021-03-12 12:57:55

在第一个Win32 Windows Professional开发人员会议(PDC)和沿途戴夫Cutler的会议(并遭到恐吓)。在导航真正的第一产品的争议之战时运送我的第一个产品。

截至1992年7月,似乎整个行业都在旧金山聚集在蒙古松中心的第一个Win32专业开发人员会议(PDC),该会议(PDC)被称为Win32 PDC,以32位Windows API命名被揭开了事件的基石。 Microsoft还提到了Windows 3.11的继承人的代码名称,这将成为Windows 95,即现在很快就会成为Windows 3.11的代码名称。超过5,000名开发人员参加了这一事件,巨大的数字,并被引入Windows NT 3.1初步发布Build 297,6月28日,并向与会者提供。我记得,像25,000名开发人员那样最终收到了第一个CDROM的东西。

Windows NT是一个下一代操作系统,旨在专业工作站和高端数据中心市场与UNIX和VMS竞争(来自Digital Equipment Corporation,Dec)。项目领导者和建筑师是传奇的Dave Cutler(DAVEC),包括来自DEC的一批经验丰富的行业工程师。 Windows NT是一个32位(很快的64位)操作系统,从开始运行的几个最新的微处理器,而不仅仅是英特尔。当它正在开发时,虽然项目总是在控制和管理的情况下,但始终计划很快发货,并以军事精确和纪律管理。建立NT的任务是巨大的。像每个项目一样,它只是比人们想象的要长,即使是最有经验的人。

在PDC,MOS由MOST称为β。不完全是测试版,正式标志着开发人员的初步发布。它是一个构建(基本上是最新的版本工作)。该团队对维护日常质量非常苛刻。每天都会创建一个可以对自我主持的团队可靠的建设。 NT日常构建与Microsoft当时正在做的任何事情一样扎实,并且它是一种从全新硬件上运行的划痕构建的新操作系统。即使在其早期阶段,它也令人印象深刻。

除了语言组中的编译器和工具以及一项重大努力,我们发布了我们整个MFC应用程序框架的Beta版本,最终成为2.0版本。这包括在MIPS上为NT创建Windows程序和'386芯片(此时行业正在调用Chips'386的能力,因为英特尔的I386在AMD AM386中有一个完全兼容的竞争对手)和Win32(以及Windows 3,现在称为Win16)。为了完整起见,我应该提及“Win32S”在Windows 3.1上执行Win32 API的实施。它被视为将Win32应用程序扩展到现有PC的潜在方法。最后,它听起来比它真的更好(我们甚至考虑使用它为C ++产品),而是当时它对认为它能够扩大新的Win32应用程序和经典的经典方法的开发人员来说,它舒适包括新策略中的现有硬件和代码。

我们的团队发货了我们的第一个产品!我发了一份产品!这是一个beta和所有,但仍然。这是一个cdrom和一切!

这也是我第一次在行业会议上发言。这是一个庞大的会议,轨道很多和各种开发人员。 C ++和OOP是极热的主题,所以我最终会谈谈我曾经参加过的最大房间,肯定大于Usenix宴会厅,比Microsoft校园的任何会议更大。到这时,我们有一个很好的故事,可以讲述被改革的oopaholics和“铁杆”,使用C ++作为一个更好的C,而且,重要的是,关于我们的类库是关于Windows的,而不是与Windows竞争或复制它。

Warning: Can only detect less than 5000 characters

尽管如此,发生了变化。我没有获得亲自录取正确视图的好处。而不是我回到建造17的路上(当我感觉到呕吐时),DAVEC向杰夫发了一封电子邮件,读,“精细”或类似的东西。杰夫为我感到骄傲,我被释放并觉得我已经完成了一些东西,但真的很奇怪。要诚实地,我觉得当时我这么高兴的人来说,我的想法是如此高兴的时候,“我听说你去了,用戴夫卡特勒[强调他的声音]在这种变化中赢得了。”

PDC后不久,Microsoft C / C ++ V7.0开发系统于1992年8月发布的Windows发布到制造。由于盒子重达22磅,并且包括23个软盘以及超过10,000页的印刷文件,所以需要时间。 24本书。该盒子如此之大,即微软自己的制造工厂无法处理它,最终在俄勒冈州的一家植物包装,处理体育设备。这是物理上最重的产品Microsoft Microsoft发货,最后一次开发商产品在软盘上发布。

C7运输MFC 1.0,PDC预释放产品的子集。这是一组“帮助者”类,可以用来制定C ++的某些方面。它不是构建应用程序的框架,而是简单地简单地是一些可重用的代码。重要的是,这是我们的团队运输,这就是重要的。在微软,航运等同于相关,加上真正的艺术家船。

MFC 1.0受到约束,杰夫(和斯科特拉)的一切都会发生,这是该产品帮助我们的团队弄清楚如何发货。新团队最大的课程可能会有关于发货的是,一旦你发货,它会在下次作为一个团队变得更容易。

我们几乎没有时间抓住我们的呼吸。虽然我们发运MFC 1.0,但大部分AFX团队,我们大约有15个,正在构建一个完全新的工具,用于创建Windows应用程序,使用代码名称作曲家,播放艺术和艺术家创造和运输的想法。

Composer是使用鼠标和GUI的开发人员安排对话框和应用程序的对话框和菜单的工具。 Composer还将成为使用MFC的C ++编写的第一个大型Microsoft应用程序。我们是自主主办的,或者,随着Windows NT团队叫做它,吃自己的狗饲料(植根于20世纪70年代的表达,为Alpo Dogfood的商用 - "喜欢吃的狗喜欢“ - 后来在电子邮件中使用保罗马宣传我们自己使用预发布软件的优点)。 Composer正在使用我们在PDC中发货的完整类库。

我们仍然需要魔法。作曲家已经有一个最近被Borland运输的竞争对手与他们的C ++。 Borland Resource Workshop(BRW)成为开发商的最爱。还有一个名为Object Windows库(OWL)的Borland类库。对我来说,猫头鹰似乎很像旧的afx(臃肿和不同于窗户)。然而,通过这些工具,Borland正在与专业人士进行显着进展。

斯科特拉是魔术师。 Windows编程的主要挑战是它是Finnicky和冗长的。有很多簿记和死记硬背且易于错误的代码。做简单的事情,就像把一个对话框放在一个对话框中做出一些选择并在那些选择上作出作用,是数百行代码,都是有充足的错误机会。对于大多数专业的程序员,他们在角色模式和MS-DOS中磨练他们的技能,这件事就是疯狂的。

Visual Basic开创了使其易于编码GUI程序的概念。问题是,它没有被视为专业工具,并且更适合商业应用程序开发商而不是商业C程序员。在使用中,近天看起来像Visual Basic,但使用了被认为是更专业的(虽然模糊的)语言。

斯科特拉先前曾在应用于SDM,标准对话经理的应用(Word和Excel)中使用的大型运输产品中使用的东西。它使用户界面易于设计,并从最终用户获取信息。他巧妙地拍摄了相同的技术,并为MFC建立了一种方法来完成同样的任务。通过在编辑器中键入文本,而不是在编辑器中键入文本,而是使用Composer将Windows,按钮和复选框(控件)连接到MFC C ++类。程序员添加了任何额外的所需代码,例如如果输入所需的输入是有效的电话号码。更好的是,如果开发人员需要添加另一个控件,那么可以在没有任何关于打破那里的担忧的情况下进行。

我们认为我们为C ++编程创建了第一个图形工具,允许创建和修改代码,然后在不破坏它的情况下更改。创建代码的编程工具很常见,但它们通常仅限于创建代码一次或创建非常脆弱的代码,程序员难以修改或结合到大规模项目中。

作曲家是光滑的。超级光滑。由于来自Clifs和Bradch艺术性的程序管理,应用程序本身是在整个行业中尽快看到Windows的用户界面技术。最喜欢的示例是漂浮在顶部的小属性检查窗口,始终显示正在进行的内容的详细信息。它有一个很酷的小缩略图,以保持它锁定位置。

这不是一个理论。它正在实践中使用。作曲家被用来构建作曲家,它本身就是用MFC构建的。我们正在使用GUI框架构建GUI工具。话虽如此,有一个挑战。我们没有GUI代码编辑器或调试器。这些工具仍然是旧的C 7字符模式工具。它根本并不清楚我们可以让工具在Windows 3.0上运行良好,Windows NT仍然没有通过广泛使用的商业产品一段时间。另一方面,下一个C ++产品不会准备好一段时间。这是,两个大团队与自己的议程之间的经典安排鸡。

语言团队以前发货了快速的C编译器,但它是来自专业编译器的不同代码库。编辑器和调试器,统称为集成开发环境(IDE),与字符模式较差并不是与特性工具的差距。挑战是,如果我们作为一个大型团队可以将IDE与Composer和MFC一起带来,为Windows创建专业的开发环境。然后我们会有一些与下一个竞争的东西。

它相当有争议。在Windows 3上的想法在技术上是有问题的,因为Windows对发展不够强大。如果程序在被写入时崩溃,则编程工具也崩溃,可能会失去工作。由于程序在构建时始终崩溃,因此窗口非常无用作为编程主机。虽然没有阻止贝尔兰。许多专业人士都在OS / 2上,焦急地等待(或搬到)Windows NT。无论好坏,C6和C7字符模式工具有很多粉丝。虽然需要和愿望是显而易见的,但技术限制很丰富。

安排鸡永远不会​​有趣,一般在微软演变的工程师文化中,每个人都错了他们的日期。我认为很多关于AFX的人认为语言团队过于保守借鉴GUI。许多人的语言团队认为AFX团队是天真的,如果我们在Windows上抓住了很长时间没有发货,那么对Borland失去的风险并没有务实。关于性能的所有方面都有深刻的关切,例如速度编制一个程序,这些评论者在详尽的多页评论中测量。有紧张和挫折感,我们仍然落后于Borland和NextStep。语言团队更加关注Borland,特别是在微软继续对Borland产生关于性能的噪音。我们同样关注下一步,因为这是我们集团的章程。没有先前的产品经验,没有与现有客户的联系,建立GUI工具的选择似乎很清楚我。实际上,我缺乏向我的意见的同情和经验。

我们需要在团队中进行决定,因此杰夫计划与Mikemap会面,现在,目前在全球产品集团的执行副总裁庞大的角色领先于微软的所有产品开发。

这是我的第一届高级行政会议,虽然我相信Mikemap已经在与各种领导人讨论中已经听过的所有方面,但应该是这种情况。我是坐在椅子外圈的新铅 - 观察者座位。很多人都在会议上,这开始概述了概述了大决定的幻灯片。该决定是在NT上的Windows / GUI集成开发环境中是否对我们所知道的高端专业人士(特别是应用程序)的最爱进行了大量的飞跃,这是一个字符模式IDE,或者我们可以在Windows 3上做一些工作(以及如何)。有日程提问(和鸡)以及技术问题。

营销和工程跨越疯狂细节的巨大甲板。在开始时,第一张幻灯片被标记为“决定”,并指示团队正在寻找迈克引领方式。

Mikemap有一个贤哲和娱乐方式,可以同时解除任何房间并赋予智慧,他即将这样做。他在房间周围看着,在他的Oklahoman口音中说:“这里有很多。 。 。远远超过我可以在一小时内吸收。你会在这些箔上努力多久,这个问题?“

房间看起来很困惑。 Mikemap对大多数人,尤其是语言来说仍然相当新。每个人都以自己的方式种类,这是一个基本上这就是我们在几周或更长时间工作的迹象。

迈克然后说,“你们一直在努力比我更长,而且知道更多,而不是我所知道的。 你为什么不告诉我你决定做什么,然后我们可以向前移动项目?“ 这是一个令人难以置信的时刻,坦率地说,我在文化上准备听到的一切。 我们所有设想的高管随着我们去过答案,特别是Billg和大型建筑师。 这是公司最新但最有经验的高级人士,告诉我们我们自己决定。 经典迈克,因为它会结果。 单一的互动是一种深刻的印象,这是迈克在同一精神中的许多教训中的第一个。 尽管如此,我们在迈克(一个错误)面前很大争辩。 在一个点,从画廊,我超越了我的界限,推动了太辛苦了 ......