复活 80 年代的游戏代码,这些代码出自第一本售出百万册的计算机书籍
今儿我在 GitHub 看到了一个很眼熟的名字和头像,但是第一时间没想起来他是谁。算了先看看是个什么神仙开源项目,竟然能登上今天的 GitHub 趋势榜首。
该项目是把《BASIC Computer Games》一书中的 BASIC 代码,采用比如:Java、Python、C#、JavaScript 等 8 种流行的编程语言重写一遍。
随着对项目了解得深入,我发现这些游戏都是命令行文字游戏,没有任何好玩的地方,简直就是浪费时间!
搞不懂为什么这个创建仅一年的项目会有 100+ 多人贡献代码?他们为什么都想要“复活”这些一点也不好玩、还是 80 年代的古董游戏代码呢?
接下来就让我们一起来看看,这个开源项目的“前世今生”!
前世
开源项目 basic-computer-games 源于上个世纪 80 年代发行的《BASIC Computer Games》,这是一本记录了许多 BASIC 游戏完整代码的书,说到这里就不得不聊一下 BASIC 语言了。
BASIC(Beginners' All-purpose Symbolic Instruction Code)编程语言的首字母缩写恰好是“basic”(基础)单词,它是专为计算机初学者设计的高级编程语言。在 1964 年出生在大学校园,主要是为了让当时的大学生更容易使用计算机。
后来随着微型计算机的蓬勃发展,以及 1975 比尔·盖茨创立 Microsoft 把 BASIC 语言的编译器移植到 PC 上,许多微型计算机出厂自带 BASIC 语言,这也让 BASIC 语言走出了校园。
随着 BASIC 语言的热度提升,出现了一些刊登了用 BASIC 语言写的游戏完整代码的杂志,比如:《Creative Computing》。书中的游戏虽然只是文字类游戏,但完整且简单再加上运行 BASIC 代码十分简单,读者仅需花上几分钟就可以把代码抄完并运行起来。
而后面推出的《BASIC Computer Games》一书售出数量比当时的个人电脑都多,后来更是成为了第一本销售了百万册的计算机书籍!
买杂志抄代码的年代你经历过吗?是不是和如今用开源项目一个样。
今生
后来《BASIC Computer Games》这本书成为了许多人的编程启蒙读物,但随着编程技术的更新换代和层出不穷的高级编程语言,让 BASIC 逐渐退出了主流编程语言的舞台,成为了一代程序员的回忆。
今天介绍的 basic-computer-games 开源项目发起者杰夫·阿特伍德(Jeff Atwood)就是那一代程序员。我说看他的头像这么眼熟,原来那个是 Coding Horror 博客的 LOGO,我看过他的书。
他在博客中写道:做个项目是为了让更多人看到《BASIC Computer Games》书中的代码,但是 BASIC 语言比较古老,很难被现在的程序员接受。所以他征求完原书作者的同意后,想把这些代码用现在流行的编程语言重写,但一个人很难完成这些工作,所以他想借助开源的力量完成这件事情。
他想完成这件事情不是因为这些 BASIC 代码有多精妙或是游戏有多好玩,只是不想让这段历史、这本书被遗忘。 把代码变成老照片保存,而不是仅剩图书封面。
如果你也有关于 BASIC 的回忆,那就动动手指给 basic-computer-games 提个 PR 留下了你和 BASIC 最后的印记。
就像《泰坦尼克号》的故事开始于一张满是淤泥的素描画,或许多年以后双鬓泛白的你也会指着某个开源项目,给后辈讲述你的故事。
结尾
历史的车轮滚滚向前,时代的脚步永不停歇。我虽然没经历过 BASIC 语言的时代,但我在查资料写这篇文章时隐约看到了 BASIC 辉煌的光。
带领一代人进入编程领域的 BASIC 语言落下了帷幕,不知道这篇文章勾起了多少人关于 BASIC 的回忆,欢迎留言和我们分享你和 BASIC 的故事。
关注「HelloGitHub」公众号第一时间收到更新

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2022 年企业数据存储预测
对于想要跟上快速扩展的业务和客户数据创建的企业来说,数据存储至关重要。 数字工作、物联网 (IoT)、人工智能 (AI) 等的增长正在增加数据量。2022 年,企业将采用多种技术来更好地存储和分析数据。 数据存储专家的以下预测揭示了新一年市场的预期: 以下是针对2022年的10 个数据存储预测 优化数据湖 EDSFF 固态硬盘的增长 持续推送到云端 更可持续的数据中心 发挥Kubernetes的作用 网格和结构的可信数据 增强的网络犯罪能力 数据备份的更大风险 恢复时间目标证明 存储就业市场的可指导性 1. 优化数据湖 数据湖负责存储公司可以处理和分析的非结构化数据。数据管理提供商Komprise 的总裁兼联合创始人兼首席运营官 Krishna Subramanian 表示,到 2022 年,企业领导者将关注对更好维护的数据湖的需求。 Subramanian 说:“虽然向云计算发生了代际转移,但在自动驾驶和物联网 (IoT) 等趋势的推动下,边缘数据出现了显著增长。随着数据在边缘、数据中心和云中堆积,需要有一种方法来利用所有这些孤岛中的数据进行数据分析和 AI/ML。” 如果不维护数据...
- 下一篇
网易数帆基于 Envoy 的云原生网关实践
简介:Envoy 是由 Lyft 开源的高性能网络代理软件。相比于 Nginx、HAProxy 等经典代理软件,Envoy 具备丰富的可观察性和灵活的可扩展性,并且引入了基于 xDS API 的动态配置方案。目前,Envoy 被广泛应用于新兴微服务网关与服务网格之中作为核心数据面。而本次分享将从网易数帆实践出发,介绍网易数帆是如何基于开源 Envoy 构建高性能、易扩展、可观察的云原生微服务网关函谷(Hango)的。 函谷开源地址:github.com/hango-io/hango-gateway 1 云原生微服务网关 微服务网关是微服务架构中最为核心和关键的组件之一,负责微服务集群中服务 API 统一暴露和出入口流量管理。举一个具体的例子,在微服务集群中可能同时存在上百个微服务,其中有些是内部依赖,有些则需要对外暴露 API,为外部客户端提供服务。如果让各个微服务自身负责 API 的暴露,那一个微服务集群可能会同时有几十个流量出入口,大大提高流量安全和流量管理的成本,同时对客户端也非常不友好。所以引入一个集中组件来统一控制 API 暴露,并负责流量的均衡和分发就是一个自然而然的选择了...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范