Last Updated:

只要你说英语,编码就适合所有人

银狐

今年是万维网成立30周年,因此有很多像素出现在“网络的最初承诺”上 – 其中一个是你可以在任何页面上选择“查看源”并轻松教授的想法你自己做了什么让它显示出来。这是第一个修补程序友好的编程网站Glitch为纪念周年纪念而复制的网页,指出您可以切换到源视图,看到某些部分标有<title>和<body>和< p>(你可以猜到它代表“段落”)。看起来很简单 – 但是你从英语网站的角度在英文网站上阅读。

现在,想象一下,这是你见过的第一个网页,你很高兴能够了解它是如何工作的。但是,除了标签是熟悉的单词之外,您还面对我创建的这个版本,除了源代码基于俄语而不是英语之外,它与原始版本完全相同。我不会说俄语,假设你不是俄语,<заголовок>和<заглавие>和<тело>和<п>仍然觉得你想要修补的东西?

从理论上讲,您可以使用任何符号制作编程语言。电脑不关心。计算机已经运行了一个不可见的程序(编译器)来将你的IF或<body>转换成它所运行的1和0,如果我们使用马铃薯表情符号来代表IF和它,它将起到同样有效的作用。晦涩的15世纪西里尔符号多目的 Oꙮ代表<body>。编程语言通常类似于英语单词,如body或者如果是一个方便的调节人类肉脑的事实,它们更好地记住看起来像我们已经知道的单词的命令。

但只有我们中的一些人已经知道这些命令的话:我们这些说英语的人。“网络的最初承诺”只是对其英语用户的一种承诺,无论是母语为英语还是能够获得精英教育,在非英语主导地区提供流利的第二语言英语。

确实,软件程序和社交媒体平台现在经常以大约30到100种语言提供 – 但是那些使我们成为计算工具创造者而不仅仅是消费者的工具呢?我甚至不问我们是否应该用小的,服务不足的语言编写编程语言(尽管这很酷)。即使是具有广泛文学传统并被用作区域贸易语言的大型语言,如普通话,西班牙语,印地语和阿拉伯语,仍然不像代码语言那样普遍。

我发现有四种编程语言可以在多语言版本中广泛使用。不是400.四(4)。

这四种语言中的两种专门用于教孩子如何编码:ScratchBlocklyScratch甚至做过一项研究该研究表明,学习使用基于母语的编程语言编写代码的孩子比那些学习其他语言的孩子学得更快。这些孩子长大后会发生什么?成年人并不熟悉他们喜欢学习语言的程度,他们还有另外两种很好的本地化编程语言可供选择:Excel公式和Wiki标记。

是的,您可以使用基于电子表格程序界面所使用的任何语言的公式来命令您的电子表格.Excel和Google表格都可以让您编写,例如,= IF(condition,value_if_true,value_if_false),还有西班牙语等价物,= SI(prueba_lógica,valor_si_es_verdadero,valor_si_es_falso)和其他几十种语言相同。当您考虑编码时,这可能不是您想到的第一件事,但电子表格在技术上可以制作成图灵机,它确实表明本地化版本有商业案例。

同样,您可以使用基于许多不同语言的Wiki标记实现来编辑Wikipedia和其他wiki 。Wiki标记的基本功能与语言无关(例如放置方括号[[链接]],但更高级的功能确实使用单词,而这些单词使用本地语言。例如,如果你制作一个关于某个人的信息框,它在英语维基百科上有“name =”和“birth_place =”之类的参数,在保加利亚语维基百科上是“име=”和“роден-място=”。

除了这四种广泛使用的多语言编程语言之外,还有几十种,也许一百种左右的编程语言,可以用一种语言或两种以外的英语提供,例如Qalb(阿拉伯语),中文Pythonfarsinet(波斯语) ),Hindawi编程系统(孟加拉语,古吉拉特语和印地语),甚至是拉丁文版的Perl。一些非英语编程语言甚至可以追溯到政府赞助的房间大小的计算机时代,例如基于俄语和多语言语言ALGOL 68(1960年代)的几种 苏联时代的编程语言。第四维(1980年代)。但是许多较新的语言,如Python,Ruby和Lua,来自非英语国家(荷兰,日本和巴西),仍然使用基于英语的关键词。对于许多人来说,网络的最初承诺是更多的威胁说英语或者被排除在网络之外。

存在这些语言是因为翻译编程语言并不困难。编程语言之间有很多转换器 – 你可以在JavaScript中输入一段文章并在Python中获取版本,或者在Markdown中输入一段文章并获得HTML版本。它们并不是特别难以创造。编程语言具有有限的,定义明确的词汇表,没有任何模糊性或文化差异,这些都会困扰自然语言的自动机器翻译。弄清楚大约一百个命令的等价物,你可以自动将一个命令映射到另一个命令代码。

实际上,翻译人们为了艺术或幽默目的而定期这样做的编程语言是如此可行,这是一种被称为深奥编程语言的令人愉快的神经。例如,LOLCODE以lolcats为模型,因此您使用HAI开始一个程序并使用KTHXBAI关闭它,并且人眼完全看不到Whitespace,由不可见的字符空间,制表符和换行符组成。甚至还有皮卡丘,包括编程语言的话只PI鼠兔,和皮卡丘让皮卡丘可以-非常那些该死的假设,割舍神奇宝贝 培训师,而不是作为程序员获得高薪工作。

当你用神奇宝贝来翻译代码时,这听起来很荒谬。当您根据世界上不会说英语的数十亿人提供翻译代码时,获得高薪工作和修补自己设备的能力不再是假设的好处。由于在技术层面上完全没有必要的原因,代码依赖于英语的事实阻碍了人们从这种益处中获益。

但是编程语言不仅仅是它的技术实现 – 它也是一个人类社区。到目前为止,四种广泛使用的多语言编程语言比单独的非基于英语的编程语言更能促进社区,但它仍然是一个关键的瓶颈。当您收到Google错误消息时,您需要找到有用的资源。哎呀,你需要弄清楚如何在你的计算机上运行语言。这就是为什么第一个网页浏览器让你编辑的重要性 – 而不仅仅是视图网站,为什么Glitch已经让你在浏览器窗口内编辑工作代码并让它易于寻求帮助。但是哪里’ 是非英语国家的故障吗?我们如何使网络对于现在加入它的人(或者过去十年一直用作消费者的人)对其最早到来的人来说是一个小修补程序?

这就是为什么我仍然有希望。在中世纪的欧洲,如果你想要获得写作技术,你必须同时获得一种新的语言。写作意味着拉丁文 用白话 – 母语用人们已经说过的语言写作 – 是一种模糊的,边缘化的副业。你为什么要学习用英语或法语写作?没有什么可读的,而拉丁语让你获得整个通用语的知识传统。

我们倾向于回顾这个历史时期,并想知道为什么人们在用他们已经讲过的语言写作时会为拉丁语所困扰。当时,学习拉丁语以学习如何写作与学习英语一样合乎逻辑,以便编码今天,即使我们现在知道如果孩子们先用母语教学,他们会更快地学习阅读。我在Stack Overflow等网站上看到的基于英语的代码的论点大致相同:为什么不学习英语呢?它让您获得整个技术传统。

我们知道拉丁语在写作方面的主导地位已经结束。写作技术传播到其他语言。编码技术不再与英语本质上相关,而是写作技术必然与拉丁语相关。我建议我们首先调整编程语言的方式,当它们包含来自人类语言的单词时。第一个网站不是用HTML编写的 – 它是用英文 HTML 编写的。在Glitch的复制底部出现的代码片段?它不是JavaScript,而是英文版JavaScript的。当我们命名英文默认值时,我们可以更加明显地提出质疑 – 我们可以开始想象一个也包含俄语HTML或斯瓦希里语JavaScript的世界,如果您的母语发生,您在学习编码时没有获得未经证实的优势英语。

这个世界还不存在。也许在未来30年,我们将成功。

摘自:https://www.wired.com/story/coding-is-for-everyoneas-long-as-you-speak-english/