2012年,在纽约Eyebeam艺术与科技中心的一次驻留期间,一位阿拉伯裔开发者开始思考一个被主流编程界长期忽视的问题:为什么所有编程语言都基于英文?
这个疑问源于一个显而易见却少有人深究的事实——当今使用的每一套编程语言,其关键词和标点符号都取自英语。这意味着,使用任何现代编程工具,都需要一定的英语知识;而要高效使用这些工具,熟练的英语能力几乎不可避免。
被忽视的“英文偏见”
这种现状天然偏向母语为英语的程序员,使得真正平等的编程体验无从谈起。然而,这个问题在1972年Alan Kay那篇开创性的论文《A Personal Computer For Children Of All Ages》中并未被提及,在当代的编程语言设计讨论中也鲜有人关注。
Alan Kay在那篇论文中描述了Dynabook——一台可编程的移动个人电脑,其形态直接启发了现代笔记本电脑和平板电脑的设计。他主张计算机编程不仅是工程工具,更是“做中学”的手段,能够赋能年轻创意者。这一理念后来直接或间接启发了Smalltalk、Scratch、Squeak、Processing、Arduino等项目,以及Brett Victor的工作。
用阿拉伯语编程的尝试
为了探索非英语编程体验的可能性,这位开发者制作了一门名为[ARABIC]的编程语言。这是一门基于Scheme解释器的语言,用阿拉伯语单词替代英语单词,设计上刻意保持“无聊”——目的是让学习者专注于编程逻辑本身,而非语言障碍。
从截图中的REPL会话可以看到,他正在用这门语言实现并学习计算斐波那契数列的算法——这是创造一门编程语言时的“必修课”。
这次尝试的真正目的,是理解为什么这样的非英语编程体验此前并不存在。正如他在演讲中所说:“我想探索非英语编程体验可能是什么样子,也想真正理解为什么这样的东西还没有出现。”
热门跟贴