微软诞生50周年,比尔盖茨亲自公开微软起家的源代码:Altair Basic!

微软诞生50周年,比尔盖茨亲自公开微软起家的源代码:Altair Basic!

Datawhale分享

作者:比尔·盖茨,编辑:机器之心

1975 年 4 月 4 日,比尔・盖茨和保罗・艾伦在美国新墨西哥州阿尔伯克基市创立了微软公司。到今天,半个世纪过去了,微软早已成长为一家超级科技巨头。

近日,比尔・盖茨亲自撰文回忆了微软的诞生和他们的第一笔业务,同时还通过一份 157 页的 PDF 文件分享了他们为这项业务编写的 Altair BASIC 源代码。

顺带一提,比尔・盖茨这篇博客的风格相当炫酷,值得访问原文一观。

  • 博客地址:https://www.gatesnotes.com/meet-bill/source-code/reader/microsoft-original-source-code

1975 年,保罗・艾伦(Paul Allen)和我创造了微软,因为我们相信我们的愿景:每张办公桌和每个家庭都应该有一台计算机。

现在,已经过去了五十年,微软仍在继续创新,让生活更轻松、工作更高效。微软成立 50 周年是一个巨大的成就,而这一切都离不开史蒂夫・鲍尔默(Steve Ballmer)和萨蒂亚・纳德拉(Satya Nadella)等杰出的领导者,以及多年来在微软工作的许多人。虽然我很高兴庆祝这个周年纪念日,但达到这个里程碑却让人感到苦乐参半。我总是喜欢回顾微软的历史,梦想它的未来。但也很难相信,我生命中如此重要的一部分已经存在了半个世纪!

我和保罗在哈佛的计算机室里面弯腰操作 PDP-10 的场景还恍如昨日,那时候我们编写的代码成为了我们新公司的首款产品。

保罗和我还是学生时就已经爱上了计算机

直到今天,那些代码依然是我写过的最酷的代码。

微软的故事始于一本杂志:《大众电子(Popular Electronics)》1975 年 1 月刊。当时这本杂志的封面图展示了 Altair 8800。

这个杂志封面改变了我的生活

Altair 8800 来自一家名为 MITS 的小型电子设备公司,是一款开创性的个人电脑套件,目标是为计算机爱好者带来计算能力。当保罗和我看到那本杂志的封面时,我们明白了两个关键:个人计算机(PC)革命即将来临,我们要参与进去成为基础。

Altair 8800

当时,PC 几乎还不存在。保罗和我知道,如果创造可以让人们编程 Altair 的软件,就可以彻底改变人们与这些机器的交互方式。因此,我们联系了 MITS 的创始人 Ed Roberts,并告诉他我们有编程语言 BASIC 的一个版本可用于 Altair 8800 运行的『芯片』。

但事实是:我们当时还没有写出那个软件。是时候开始工作了。

BASIC 的基础

BASIC 由达特茅斯学院的两位教授于 1964 年发明,其目标是让没有计算机经验的人也能轻松学习。只需很少的学习或技术能力,人们就可以用 BASIC 编写自己的软件 —— 从支票核对程序到井字游戏。BASIC 是我和保罗学习的第一门语言(至今仍在使用)。

我一直是个数学很好的学生;我发现数学所需的逻辑和解题能力能帮助我学习计算机编程。

像 BASIC 这样的计算机语言与英语或任何其他语言具有相同的用途。就像你可以用英语在咖啡馆点咖啡一样,你可以用 BASIC 告诉计算机运行程序、解决数学问题或执行其他任务。

转译 BASIC

但有一个问题:计算机不会说 BASIC。而它们确实能用的语言又非常复杂且不直观,因此用它编程非常困难。为了填补这一空白,保罗和我开始着手创建一个 BASIC 解释器(interpreter),它可以在程序运行时逐行将代码翻译成计算机可以理解的指令。

我们考虑创建一个类似的工具,称为编译器(compiler),它可以先翻译整个程序,然后一次性运行。但我们认为解释器的逐行方法对新手程序员很有帮助,因为它会立即对代码提供反馈,让程序员能够随时修复任何错误。

当你发现你的方法有效时,那种感觉棒极了

保罗和我与 Ric Weiland 一起上学,他后来成为微软的第二名员工。

开始

保罗和我决定分头行动。

我们没有 Intel 8080 『芯片』 —— 这正是 Altair 计算机运行的『芯片』,所以保罗开始编写一个在哈佛的 PDP-10 主机上模拟 8080 的程序。这样我们不需要真正的 Altair,也能测试我们的软件。

与此同时,我则专注于编写程序的主要代码,而另一位朋友 Monte Davidoff 则负责编写一个称为数学包(math package)的部分。我们日夜不停地编程了两个月,才创造出我们之前扬言已经写好了的软件。

哈佛的 PDP-10

克服困难

那时候,计算机内存很贵。给 Altair 加内存的话,很可能内存会比这台计算机本身更贵,所以每个字节都很重要。我们认为,如果我们能将我们的 BASIC 代码压缩到仅 4 kB,那么使用 BASIC 的 Altair 用户仍然会有足够的内存来运行他们编写的程序(而不必再花更多钱)。

为了满足这一限制,我使用了多种技术来优化内存使用,比如紧凑的数据结构和高效的算法。这是一次有趣的挑战,尽管保罗和我觉得将 Altair BASIC 尽快交付给 MITS 的压力很大,但我也非常开心地想出了让一切都顺利进行的方法。

微软的诞生

最终,许多个不眠之夜之后,我们准备好了,向 MITS 的总裁 Ed Roberts 展示了我们的 BASIC 解释器。

我们的演示非常成功,MITS 同意购买该软件的授权。这对保罗和我来说是一个关键时刻。Altair BASIC 成为我们新公司的第一个产品,而我们决定将公司命名为 Micro-Soft。(我们后来去掉了连字符。)

特别声明:[微软诞生50周年,比尔盖茨亲自公开微软起家的源代码:Altair Basic!] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

PMJ05J支路绝缘监测单元:精准监测,为电源系统绝缘安全筑牢防线》(绝缘支杆型号)

通过对每一路支路的绝缘状况进行实时监测,可以及时发现潜在的绝缘故障,为系统的安全运行提供有力保障。同时,它具备隔离RS485通讯接口,能够将检测到的信息准确、稳定地传送给主监控,为电源系统的管理和故障告警处理…

《<strong>PMJ05J支路绝缘监测单元:精准监测,为电源系统绝缘安全筑牢防线</strong>》(绝缘支杆型号)

中餐厅9『丁禹兮』哭了,送摄影师沙琪玛,『黄晓明』夸他像十年前的自己(中餐厅9『丁禹兮』生病了)

节目组流传的&quot;沙琪玛事件&quot;堪称当代职场剧的绝佳素材:当所有人都在追逐主镜头时,『丁禹兮』却把特写给了饥肠辘辘的幕后团队。他的泪不是剧本里的标点符号,而是对&quot;真人秀&quot;三个字的

中餐厅9『丁禹兮』哭了,送摄影师沙琪玛,『黄晓明』夸他像十年前的自己(中餐厅9『丁禹兮』生病了)

羽毛球篮球场地预约小程序怎么选?海之心定制开发全解析(羽毛球篮球场地材料)

想高效预约羽毛球或篮球场地?市面上的场馆预约系统五花八门,如何选对靠谱方案?本文深度科普“场馆预约系统”核心功能与技术逻辑,详解“海之心”小程序定制开发优势,帮你避开踩坑陷阱。从预约流程、支付对接、数据统计到多场馆管理,一文说透真实使用场景

羽毛球篮球场地预约小程序怎么选?海之心定制开发全解析(羽毛球篮球场地材料)

水牛奶产业观察:60余品牌“分食”赛道,网红产品进军线下(水牛奶产量高吗)

消费者崔先生近期在北京、沈阳两地注意到,“百菲酪”“隔壁刘奶奶”“乐纯万里挑一”“爷爷的农场”等水牛奶产品现身超市货架。在此之前,他主要通过线上平台下单购买,“现在感觉水牛奶的露出频率高了,以前在线下几乎看不到这类产品”。据业内人士证实,自

水牛奶产业观察:60余品牌“分食”赛道,网红产品进军线下(水牛奶产量高吗)

黄斑前膜术后视力能恢复正常吗(黄斑前膜术后视物变形)

黄斑前膜术后的视力恢复情况因人而异,取决于多种因素,包括黄斑前膜的严重程度、手术时机以及术后护理等。早期手术干预可以减少对视网膜的损伤,提高视力恢复的可能性。病程越短,恢复效果越好。 黄斑前膜的严重程度直接影响视力恢复

黄斑前膜术后视力能恢复正常吗(黄斑前膜术后视物变形)