一条推特里,用280个字符编程!全球首个云端8位计算机,树莓派创始人玩得很开心

简介: 一条推特里,用280个字符编程!全球首个云端8位计算机,树莓派创始人玩得很开心

用280个字符编写一个程序,你能写出什么?

也许你会说,我用Python调个包,啥功能都能给你实现了。

那可不行,你还得用BBC BASIC语言编写,在BBC Micro Model B上运行,是不是听着很陌生?

BASIC,一个有着56年历史的直译式编程语言,是许多程序员大佬的入门语言,BBC BASIC是由Acorn Computers为BBC编写的版本,相比原来的BASIC加入了许多额外的结构体关键字;BBC Micro Model B则是20世纪80年代的8位计算机,是当时风靡一时的微型电脑开发板,也是许多程序员大佬的入门神器。

我们先来看看大神用这两个古董加上280字符的程序能实现什么?

一个充满历史厚重感的Windows 95 logo,没错,这就是用280个字符写出来的BASIC程序的输出结果!当然,如果你也想亲手试一下,倒不用去淘一台BBC Micro Model B古董机,现在只要发条Twitter就可以一试!

首个云端的“8位机”,被各路大佬玩坏

Arduino业务开发副总裁Dominic Pajak创建了一个名为“@bbcmicrobot”的推特账户,又叫做BBC Micro Robot

你只要用编写一段BBC BASIC程序,然后发推特@bbcmicrobot,机器人就会接收推文并通过BBC Micro Model B的仿真器运行Basic程序来处理推文,再将结果推回仿真器输出三秒钟的动图。

这个功能一经推出,立马受到了关注,现在已经快被玩坏了。

据统计,这个机器人在最初的几周内获得了超过1000万次的浏览,并且每周要处理超过1000个Basic程序

许多大佬也爱上了这个机器人,包括喜剧演员达拉 · 布莱恩(Dara Ó Briain),科普作家本 · 戈达克(Ben Goldacre),当然,最著名的要数树莓派创始人埃本 · 厄普顿(Eben Upton)。

厄普顿编写的是一个Game of Life(生命的游戏)程序,我们先来看看输出结果。

你可能会很疑惑,这是个啥?其实,这是一个经典的细胞自动机,也可以说是一个零玩家游戏,它的演变是由它的初始状态决定的,不需要进行后续的输入,是最一种模拟包括自组织结构在内的复杂现象的一个强有力的方法。

大佬的炫技,我们看不懂。

也有人做了一些大佬做的是一看就知道很厉害的东西,比如这个三维的滚动的小球,作者是游戏巨头Activision的技术总监Paul Malin,他使用了一种特殊的编码将361个ASCII代码字符压缩成了280个Unicode字符推文。

据Pajak介绍,这款BBC Micro Robot原本部署在树莓派4上,但此后转移到了亚马逊云服务器上,大概是是世界上唯一一个云端的8位计算机了。

BBC Micro Robot是用Javascript编写的,运行环境是Node.js,具体来说,当机器人发现一条是Basic程序的推文时,它会进行过滤,再将文本输入模拟的BBC Micro缓冲区中,在30秒后使用ffmpeg创建一个3秒的视频。

发个Twitter缅怀40年前的极简编程岁月

之所以这个BBC Micro Robot会得到像树莓派创始人厄普顿这样的大佬的回应,这背后的原因主要还是情怀。

1988年,当埃本 · 厄普顿还是一个10岁的小孩时,他买了他人生中的第一台电脑——一台二手的BBC Micro,没错,就是BBC Micro Robot模拟的那个8位计算机!

电脑一到手,厄普顿就开始用BBC BASIC语言开始编写程序,很快便得心应手。

所以,当厄普顿发现了这个发个Twitter就能用BBC BASIC编写一个小程序的时候,他一定想起了30多年前的少年时代。

埃本 · 厄普顿和他的树莓派

其实作者的经历也是如此,Dominic Pajak也是成长于20世纪80年代的英国,在学校里学会了BBC Micro编程。

Pajak说:“BBC Basic主要由Sophie Wilson(就是后来设计ARM架构的那个大神)开发,而这是迄今为止最好的Basic实现语言,其中一些非常好的特征允许我们将代码最小化。”

受制于当时的技术,老一代的程序员大佬们对于用有限的代码实现更多的功能可谓是乐此不疲,也可以说是那一代人的情怀。

正如Ableton创始人罗伯特•亨克(Robert Henke)所说,“当技术在表达方面受到限制时,极简主义是必要的。

如果你也想试一试

如果你也想试一试,缅怀一下30多年前的编程岁月,很简单,只要发一个推特@bbcmicrobot就可以了。

当然,你的推文内容必须是BBC BASIC语言,BASIC(Beginner's All-purpose Symbolic Instruction Code),意思就是“初学者的全方位符式指令代码”,是一种设计给初学者使用的程序设计语言。BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续即可运行,但如果需要单独运行时仍然需要将其创建成可执行文件。

如果你还不熟悉BBC BASIC语言,没关系,作者也提供了很好的学习教程。

网站链接:https://www.dompajak.com/bbcmicrobot.html

入门教程肯定是从“Hello World”开始了。

如果想要进一步探索BBC BASIC,也可以看一些专门的博客,比如Paul Malin的Fun with BBC Micro Bot

博客地址:https://blog.mousefingers.com/post/bbc/bbc_bbcmicrobot/

“发推”编程,乐趣无穷,文摘菌推荐大家自己动手一试。

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
复旦开源首个「中国版ChatGPT」MOSS!全新插件系统,能上网,会鸡兔同笼(1)
复旦开源首个「中国版ChatGPT」MOSS!全新插件系统,能上网,会鸡兔同笼
200 0
|
机器学习/深度学习 人工智能 自然语言处理
复旦开源首个「中国版ChatGPT」MOSS!全新插件系统,能上网,会鸡兔同笼(2)
复旦开源首个「中国版ChatGPT」MOSS!全新插件系统,能上网,会鸡兔同笼
522 0
|
物联网
秘密开发一年多,解密奥运史上首个数字云徽章
2021年东京奥运会开幕了,这是一届特殊的奥运会,在几乎没有现场观众的情形下,全球观众首次以“云”的方式观看奥运,阿里云全程提供技术支撑与保障。而在开幕前,一枚小小的徽章,让全球媒体提前感受到云的魅力。
234 0
秘密开发一年多,解密奥运史上首个数字云徽章
|
SQL 安全 NoSQL
从摩托罗拉、诺基亚再到航空领域应用,这款开源数据库的成功如何成就天才程序员?
  如果说有什么事物能够使男程序员心中的父爱完全觉醒,那我想一定是投身于自己创建的开源项目中去了。在和熊谱翔、黄东旭等储多开源大神的接触中,我可以明显感到他们对于自身开源项目的那份执着与热爱。虽然说贝佐斯、盖茨等IT巨头创始人都能在公司走上正轨后卸任CEO,完成华丽转身,但是为了维护自己的开源项目,程序员们往往都是从一而终,从不始乱终弃。
181 0
|
人工智能 自然语言处理 安全
云栖科技评论第39期:谷歌正秘密开发Fuchsia操作系统
本周热点科技事件,是阿里云“ET”采用分布式爬虫收集全球海量互联网信息,利用文本挖掘和语义分析解析新闻关键词,使用深度神经网络将新闻分类,汇总而选择最新鲜的科技信息。点击收听人工智能·语音版 编辑制作:人民网研究院 内容提供:阿里云研究中心
1026 0