在 GitHub 復活 80 年代的遊戲程式碼,它們出自第一本售出百萬冊的計算機書籍

削微寒發表於2022-01-06

今兒我在 GitHub 看到了一個很眼熟的名字和頭像,但是第一時間沒想起來他是誰。算了先看看是個什麼神仙開源專案,竟然能登上今天的 GitHub 趨勢榜首。

該專案是把《BASIC Computer Games》一書中的 BASIC 程式碼,採用比如:Java、Python、C#、JavaScript 等 8 種流行的程式語言重寫一遍。

專案地址:https://github.com/coding-horror/basic-computer-games

隨著對專案瞭解得深入,我發現這些遊戲都是命令列文字遊戲,沒有任何好玩的地方,簡直就是浪費時間!

搞不懂為什麼這個建立僅一年的專案會有 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」公眾號第一時間收到更新

相關文章