万维网成立30周年,因此“网络的最初承诺”上散布了很多像素-其中一个想法是,您可以在任何页面上选择“查看源代码”,并轻松地自学使其像那样显示。您可以切换到源代码视图,并看到某些部分用<title>和<body>和< p>(您可能可以猜出它代表“段落”)。看起来非常简单-但是您是从讲英语的人的角度在英语网站上阅读的。
从理论上讲,您可以使用任何符号制成编程语言。电脑不在乎。计算机已经在运行一个不可见的程序(编译器),将您的IF或<body>转换为功能所在的1和0,如果我们使用马铃薯表情符号🥔代表IF和晦涩的15世纪西里尔字母多眼 Oꙮ代表<body>。编程语言通常类似于诸如body或if之类的英语单词,这对于我们微不足道的人类肉脑来说是一个方便的住宿条件,它更容易记住看起来像我们已经知道的单词的命令。
但是,只有我们当中的一些人已经知道这些命令的字眼:说英语的人。“网络的最初承诺”仅是对说英语的用户的承诺,无论是说英语的母语人士,还是能够接受这种英语教育的精英人士,都能在非英语为主的地区流利地说第二语言的英语。
的确,软件程序和社交媒体平台现在经常可以使用约30到100种语言,但是,使我们成为计算工具的创造者而不仅仅是消费者的工具又如何呢?我什至不问我们是否应该使用[服务不足的小型]语言来编写编程。即使是具有广泛文学传统并被用作区域性贸易语言的大型语言,如普通话,西班牙语,印地语和阿拉伯语,也仍未广泛用作代码语言。
同样,您可以使用基于许多不同语言的Wiki标记实现来编辑Wikipedia和其他Wiki 。Wiki标记的基本功能与语言无关(例如,在方括号中[[链接附近]]),但是更高级的功能确实使用单词,这些单词都是本地语言。例如,如果您创建一个关于某人的信息框,则该信息框在英语维基百科上具有“ name =”和“ birth_place =”之类的参数,在保加利亚语维基百科上具有“име=”和“роден-място=”。
存在这些语言是因为翻译编程语言并不难。编程语言之间有很多转换器-您可以在JavaScript中添加段落,在Python中获取版本,或者在Markdown中添加段落,并获取HTML版本。创建它们并不是特别困难。编程语言的词汇量有限且定义明确,没有任何歧义或文化细微之处会干扰自然语言的自动机器翻译。找出一百个左右的命令的等效项,就可以通过任何代码自动将一个映射到另一个。
确实,翻译编程语言非常可行,以至于人们出于艺术或幽默目的而定期进行翻译,这是一种令人愉悦的书呆子,被称为深奥编程语言。例如,LOLCODE是根据lolcats建模的,因此您从HAI开始一个程序,然后用KTHXBAI关闭它,并且人眼完全看不见Whitespace,它由不可见的字符空间,制表符和换行符组成。甚至还有皮卡丘(Pikachu),这是一种仅由pi,pika和pikachu单词组成的编程语言,因此,皮卡丘(可能非常假想)可以摆脱那些令人毛骨悚然的神奇宝贝 培训师,并以程序员的身份获得高薪工作。
当用Pokémon来翻译代码时,这听起来很荒谬。当您以世界上数十亿不会说英语的人的身份来翻译代码时,获得高薪工作以及使用自己的设备进行修补的能力不再是假设的好处。代码依赖英语这一事实使人们无法从中受益,因为在技术层面上这是完全不必要的。
但是,编程语言不仅是其技术实现,还是人类社区。到目前为止,四种广泛的多语言编程语言在培养社区方面都比单独的非英语编程语言要好运,但这仍然是一个关键的瓶颈。当您查看错误消息时,您需要找到有用的资源。哎呀,您需要弄清楚如何在计算机上启动并运行该语言。这就是为什么让第一个Web浏览器让您编辑(而不只是查看)网站如此重要的原因,Glitch提出了这样的观点:让您从浏览器窗口内编辑工作代码,并轻松地寻求帮助。但是哪里' 对于非英语国家的小故障?对于现在加入它的人(或者过去十年来一直将其用作消费者的人),我们如何使它成为最早的访问者呢?
这就是为什么我仍然有希望的原因。在中世纪的欧洲,如果您想使用写作技术,则必须同时学习一种新语言。写作是拉丁语。用乡土语言(用母语和人们已经说过的语言)写作是一种晦涩,边缘化的副业。您为什么还要学会用英语或法语写作?那里没有什么可阅读的,而拉丁语使您可以使用整个通用语言的知识传统。
我们倾向于回顾这个历史时代,想知道为什么人们只要用已经说过的语言写成拉丁语就困扰他们。当时,尽管现在我们知道,如果孩子们首先学会母语,他们学习拉丁文的速度就和学习英语以编写代码的逻辑一样,这已经成为当今的逻辑。我在诸如Stack Overflow之类的网站上看到的基于英语的代码的论点基本相同:为什么不只是学习英语呢?它使您可以使用整个技术传统。
我们知道拉丁文在写作上的统治地位已经结束。写作技术传播到其他语言。编码技术与英语之间的内在绑定不再像书写技术与拉丁语上的绑定那样。我建议我们首先调整当编程语言包含人类语言单词时谈论语言的方式。第一个网站不是用HTML编写的,而是用英语 HTML 编写的。出现在Glitch复制底部的代码片段?不是用JavaScript,而是用英语JavaScript。当我们命名为英语默认值时,我们可以质疑它变得更加明显-我们可以开始想象一个包含俄罗斯HTML或斯瓦希里语JavaScript的世界,如果母语发生,您在学习编码方面就不会有过分的优势是英语。