微软开源早期编程语言 GW-BASIC,网友评论这门老语言太难懂了

智码先锋说
• 阅读 3636

微软开源早期编程语言 GW-BASIC,网友评论这门老语言太难懂了

技术编辑:宗恩丨发自 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年代的汇编代码。有人设法重建它吗?

微软官方博客文章:

https://devblogs.microsoft.co...

微软开源早期编程语言 GW-BASIC,网友评论这门老语言太难懂了

点赞
收藏
评论区
推荐文章
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
易娃 易娃
4年前
Go VS Java:一位资深程序员对两种语言的解读
导读:对于软件开发的编程语言,其实没有万能灵药。本文作者详细介绍了他使用Java和Go这两种编程语言,一个是传统语言,一个是新兴语言的工作方式。image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/0f0509de2420894d6c75e8678081e0cd.png)
可莉 可莉
3年前
2020 最新报告,Java 仍是最受欢迎的语言!
!(https://oscimg.oschina.net/oscnet/8d4c563cf3f14f228af0e1a83bf0779f.png)技术编辑:宗恩丨发自SiFouOfficeSegmentFault思否报道丨公众号:SegmentFault本报告介绍了由JetBrains进行的
Stella981 Stella981
3年前
2020 最新报告,Java 仍是最受欢迎的语言!
!(https://oscimg.oschina.net/oscnet/8d4c563cf3f14f228af0e1a83bf0779f.png)技术编辑:宗恩丨发自SiFouOfficeSegmentFault思否报道丨公众号:SegmentFault本报告介绍了由JetBrains进行的
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
Uber准备放弃自动驾驶,转手卖给前谷歌无人车CTO,估值曾被孙正义炒到72.5亿美元
!(https://oscimg.oschina.net/oscnet/0fe7cb00a0cf4872b022342d1e21d47e.png)杨净发自凹非寺量子位报道|公众号QbitAI最新消息,Uber要出售无人驾驶部门(ATG)了。据TechCrunch报道,Uber有意向出售,而也有人愿意买。
Wesley13 Wesley13
3年前
C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!
在上个月的TIOBE编程语言排名中,C语言和Java的差距只有0.01%。在近日TIOBE公布的2020年5月编程语言排行榜中,C语言成功超越了Java,重返第一的王者宝座!!(https://pic1.zhimg.com/v2b0ebb8d95506c0a43900550b0ccc2074_b.jpg)编程语言5
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
CRM从哪些方面进行了管理?
我们将CRM(https://www.sap.cn/products/crm.html!image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/17e2d96568a98f0
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(