技术编辑:宗恩丨发自 SiFou Office
SegmentFault 思否报道丨公众号:SegmentFault
近日微软通过一篇博客文章宣布开放 GW-BASIC 的源代码。
微软官方人员表示,自从 MS-DOS 1.25 和 2.0 开源后,社区中要求同样开源 BASIC 语言的呼声颇高。
因此微软选择将 1983 年以来的 8088 汇编语言开源出来,但仅作历史参考和教育用途,不再接收任何修改源码的拉取请求。
GW-BASIC 的历史
GW-BASIC 是从IBM Advanced BASIC / BASICA派生而来的 BASIC 解释器,它本身是 Microsoft BASIC 的端口。
微软的各种 BASIC 实现可以追溯到比尔·盖茨和保罗·艾伦对微软第一款产品的实现—— Altair 8800 的 BASIC 解释器。
在 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 以外的处理器的实现也能够开源,不过微软表示,目前无法提供这些资源。
网友评价
里克·桑切斯(Rick Sanchez):
当Microsoft发布MS-DOS 2.0和GWBASIC时,它使IBM克隆运行的软件与IBM的PC-DOS和BASICA相同。它开始了PC克隆时代。
亚历克斯·贝索戈诺夫(Alex Besogonov) :
在导入到Github之前保存文件的时间戳(「38年前」)真是太好了!
戴维·康奈森 :
有机会打开Professional Basic 7.0吗?我无法想象它是用汇编编写的。更有可能是在C ++中。
塞巴斯蒂安·巴西(Sebastian Bassi):
我不知道MS在发布这种古老软件时面临哪些法律障碍(如果有)。
安德烈·坦波罗隆 :
我不熟悉80年代的汇编代码。有人设法重建它吗?
微软官方博客文章:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。