一条推特里,用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/

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

相关文章
|
存储 供应链 安全
下一代龙蜥操作系统 Anolis OS 23 公测版正式发布|2022云栖龙蜥实录
Anolis OS 23 公测版正式发布,点击文末链接下载体验。
下一代龙蜥操作系统 Anolis OS 23 公测版正式发布|2022云栖龙蜥实录
|
存储 SQL Cloud Native
神秘的“阿里星”是一群怎么样的人
有一群人虽然是应届毕业生,但手里项目不少,经验不浅,出身名校,未来可期。属于经常出现在新闻里的“别人家的孩子”遥远而神秘。为了消除这种神秘,我们采访了一位理工科学霸。当时他加入阿里的时候,就拿到了阿里的“最强offer”—— “阿里星”。他就是阿里云数据库技术专家谢小龙。
4079 0
神秘的“阿里星”是一群怎么样的人
|
4月前
|
人工智能 IDE JavaScript
通义灵码深度评测-企业内部使用实战
通义灵码深度评测-企业内部使用实战 ,根据企业内部使用实战,建设了微信公众号、视频号、csdn专栏,持续更新了通义灵码企业级实践教程,从入门->精通,从基本功能->高阶功能全面详尽的实战,持续更新中
779 0
|
传感器 网络协议 Ubuntu
MQTT协议与EMQ
MQTT协议与EMQ
677 0
|
9月前
|
边缘计算 运维 监控
边缘计算场景实践
《边缘计算场景实践指南》系统阐述了边缘计算在5G、物联网与AI背景下的应用路径。涵盖云边端协同架构、ENS核心产品、CDN、视频分析与物联网等典型场景,详解部署流程、网络优化、安全防护与监控体系,并结合智慧工厂案例与成本分析,展望5G+边缘计算融合趋势,为企业落地边缘计算提供全面参考。(238字)
558 0
|
人工智能 文字识别 API
moonshot-v1-vision-preview:月之暗面Kimi推出多模态视觉理解模型,支持图像识别、OCR文字识别、数据提取
moonshot-v1-vision-preview 是月之暗面推出的多模态图片理解模型,具备强大的图像识别、OCR文字识别和数据提取能力,支持API调用,适用于多种应用场景。
3184 6
moonshot-v1-vision-preview:月之暗面Kimi推出多模态视觉理解模型,支持图像识别、OCR文字识别、数据提取
|
安全 Java 开发者
开发者必看!@Resource与private final的较量,Spring Boot注入技巧大揭秘,你不可不知的细节!
【8月更文挑战第29天】Spring Boot作为热门Java框架,其依赖注入机制备受关注。本文通过对比@Resource(JSR-250规范)和@Autowired(Spring特有),并结合private final声明的字段注入,详细探讨了两者的区别与应用场景。通过示例代码展示了@Resource按名称注入及@Autowired按类型注入的特点,并分析了它们在注入时机、依赖性、线程安全性和单一职责原则方面的差异,帮助开发者根据具体需求选择最合适的注入策略。
1055 0
|
Linux API 开发者
元象大模型开源30款量化版本 加速低成本部署丨附教程
元象大模型一次性发布30款量化版本,全开源,无条件免费商用。
|
存储 缓存 并行计算
Electronic Design Automation (EDA) 数据上云解决方案
基于文件存储 CPFS 的 EDA 解决方案可大大加速 EDA 工作流,提高效能。 CPFS 提供高性能文件处理,缩短芯片上市周期;其云端的弹性扩展,使得业务快速上线;并行计算共享存储,加速工作流效率;同时提供简单易用的特性简化数据管理。本文详细剖析了 EDA 行业背景、EDA 芯片设计流程及 EDA 工具、EDA 工作流的存储需求和 IO 模型以及EDA 工作流的数据挑战。详细阐述了 EDA 数据上云整体解决方案以及基于 CPFS 的 EDA 解决方案、最佳实践及案例。
4314 0
Electronic Design Automation (EDA) 数据上云解决方案
|
Python
Python 金融量化 随机指标交易策略(上)
Python 金融量化 随机指标交易策略(上)
1109 0
Python 金融量化 随机指标交易策略(上)

热门文章

最新文章