微軟開源其上古程式語言GW-BASIC
微軟透過一篇部落格文章宣佈開放 GW-BASIC 的原始碼。並表示,自從 MS-DOS 1.25 和 2.0 開源後,社群中要求同樣開源 BASIC 語言的呼聲頗高。因此微軟選擇將 1983 年以來的 8088 組合語言開源出來,但僅作歷史參考和教育用途,不再接收任何修改原始碼的拉取請求。
GW-BASIC 是 BASIC 的一個方言版本,誕生於 1983 年 2 月 10 日,作為 MS-DOS 的一個組成部分而問世。根據微軟的介紹,它是從 IBM Advanced BASIC/BASICA 衍生而來的 BASIC 直譯器,本身也是 Microsoft BASIC 的埠。
GW-BASIC 和微軟提供給 IBM PC 的 BASICA 完全相容,不同的是,後者依賴於 ROM 中的 BASIC 直譯器,而前者並不需要。所以,GW-BASIC 能在眾多 IBM PC 相容機器上執行。在 70 和 80 年代後期,BASIC 被移植到許多 OEM 平臺上,並適應了當時流行的幾種處理器,包括 8088、6502、6809,Z80 等。
就像那個年代的所有其他軟體(例如 MS-DOS)一樣,GW-BASIC 的原始碼 100% 由組合語言編寫而成 。微軟解釋,當時也可以選擇 FORTRAN、LISP、COBOL、RPG、CPL/BCPL 和 C 等高階語言,然而這類語言的編譯器比較昂貴,程式碼生成效率也不高,還受空間和效能限制,不適合家用或個人計算機。並且在早期編寫 PC 軟體時,每個位元組、每條指令都需要為記憶體做考慮,組合語言是不二之選。
迄今為止,微軟已經發布了各種 BASIC 實現方案,其歷史可以追溯到比爾·蓋茨和保羅·艾倫在微軟釋出的第一款產品,即用於 Altair 8800 的 BASIC 直譯器。
不少人希望 808x 以外的處理器的實現也能夠開源,不過微軟表示,目前無法提供這些資源。