数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 128|回复: 2

[科技] 比尔·盖茨48年前写的代码开源了!微软6502 BASIC重见天日

[复制链接]
发表于 昨天 18:14 | 显示全部楼层 |阅读模式
各位程序员朋友们注意了!今天有个重要消息要告诉大家:比尔·盖茨48年前写的Microsoft 6502 BASIC源代码终于开源了!这可是计算机发展史上的珍贵遗产,现在任何人都能在GitHub上自由获取、研究甚至基于这段具有历史意义的代码进行二次开发,而且还是采用宽松的MIT许可证,给予了开发者极大的使用自由度。

这个被命名为"BASIC for 6502 Microprocessor - Version 1.1"的项目有着相当悠久的历史渊源。虽然项目名称中包含了MOS Technology 6502 CPU的标识,但其最初版本实际上是为搭载Intel 8080处理器的Altair 8800微电脑开发的。直到1976年,比尔·盖茨和Ric Weiland这两位技术先驱才共同完成了向MOS 6502架构的移植工作,项目名称也由此确定。

有个特别有趣的细节:在GitHub仓库中,这个项目的提交记录显示日期为1978年7月27日——这甚至比Git版本控制系统问世的时间还要早很多年!当然啦,这个日期是后来手动改的,要不然1978年哪来的GitHub啊?

这段代码在计算机发展进程中扮演了关键角色,它曾是多个经典计算机系统的关键组件!从开创个人计算机先河的Apple II,到Commodore PET,再到有史以来最畅销的个人计算机Commodore 64,这些标志性设备都采用了这个BASIC解释器的衍生版本。说它是推动个人计算机普及的重要推动力一点都不为过。

这里还有个值得回味的历史插曲:当年康懋达公司仅以2.5万美元的价格就获得了这个版本的永久授权。以今天的眼光来看,这个价格简直低得惊人,但微软后来坦言,这笔交易为他们带来了数百万的潜在用户群体——因为无数编程爱好者都是通过下面这几行经典的代码开始了他们的编程之旅:

10 PRINT "HELLO"

20 GOTO 10

RUN

此次开源的1.1版本提供了对多个经典平台的兼容支持,包括Apple II、Commodore PET、Ohio Scientific(OSI)、MOS Technology KIM-1以及PDP-10模拟环境。微软特别指出,这个版本包含了1978年发现的垃圾回收机制的修复补丁,当时康懋达公司的工程师John Feagans还专程前往微软位于贝尔维尤的办公室,与比尔·盖茨携手解决了这个技术难题。

总共6955行汇编代码现在完整地向公众开放。微软将这个BASIC解释器称为早期个人计算机时代最具价值的软件遗产之一,这个评价确实中肯。试想一下,如果没有这个BASIC解释器,可能就不会有后来的Visual Basic,甚至整个.NET技术生态的发展轨迹都可能因此而改变。

这次开源行动既体现了微软对计算机历史的尊重,也为当代开发者提供了一个深入了解计算机发展历程的珍贵窗口。能够直接研读比尔·盖茨早年亲手编写的代码,这种机会实在难得。对技术历史研究者和复古计算爱好者来说,这无疑是一次难得的技术考古体验。

值得一提的是,现在的开发者可能很难想象,当年编写程序需要逐行输入BASIC代码,与如今借助GPT等工具自动生成代码的开发方式截然不同。但也许正是这种"原始"的编程实践,培养出了众多技术大师?建议大家不妨亲自下载体验,感受48年前代码的独特魅力,或许会有意想不到的启发和收获。这段代码不仅展示了技术演进的历史轨迹,更让我们体会到那个时代的开发者是如何在有限的资源条件下创造出无限可能的。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
发表于 昨天 19:14 | 显示全部楼层
汇编语言写的啊
回复 支持 1 反对 0

使用道具 举报

发表于 1 小时前 | 显示全部楼层
把comit日期改为1978年,虽然是为了见证历史,不怕某些系统造成时间问题么
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-9-6 02:24 , Processed in 0.078000 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表