
今兒我在 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」公眾號第一時間收到更新
