5

我经常想知道为什么非英语程序员在编程时被迫使用不同的语言,而提供一个可以用本地化版本替换关键字的 IDE 似乎很容易。为什么德国人不能使用“während..macht”循环?

日本、德国、法国、西班牙、博茨瓦纳的程序员是否只是广泛使用宏/定义语句来让生活更容易忍受,还是他们只是习惯了 print 的功能意义,if, then, while, do, begin, end , var, double, 函数等?

也许越来越多地使用框架(J2EE/.NET)使这变得更加复杂,但似乎仍然值得。另一方面,如果克林贡语成为美国事实上的编程语言,我可能会后悔提出这个建议。

4

18 回答 18

18

在大多数编程语言中,关键字是保留的,因此它们不能用于变量名等。

现在假设每次更改文化时关键字都会更改 - 以一种文化编写的代码无法在不更改标识符的情况下移植到另一种文化。伊克。此外,当任何人将他们的代码复制到这样的问题论坛上时,我们将不再使用同一种语言。

在编程语言本身中只有一种文化有明显的优势......

于 2008-11-13T20:06:04.600 回答
18

这种事情并不是计算机语言所独有的。音乐的所有控制词都是意大利语(andante、allegro、crescendo 等)。这在很长一段时间内运作良好。

此外,它允许更轻松地共享程序。假设您试图将芬兰程序员的功能集成到法语模块中,并希望将其发送给您的澳大利亚同事以进一步集成。

于 2008-11-13T20:11:47.180 回答
4

Office 的法语(以及 IIRC、德语和其他一些语言)版本曾经具有 VBA 的本地化版本。

他们成功了,因为这是一个非常糟糕的主意!对于普通用户来说,偶尔使用宏是可以的,但是一旦你开始在互联网上搜索信息,想要分享你的代码等,那就是一场噩梦。更不用说在西班牙语 Excel 中打开法语工作表......(虽然我想他们保存的是字节码,而不是文字 - 所以说运行在法语 Excel 上某处复制的德语宏)。

VB(以及其他一些语言,如 Lua)允许使用带有重音符号等的标识符。我记得我很久以前就大量使用过。现在看起来很奇怪,而且再一次地,共享代码变得非常困难。
同样,当我看到带有西班牙语或中文注释的代码时,我会感到不安……

根据记录,在 8 位计算机时代,一台法国计算机 (TO8) 有一个法语版本的 Basic:我们有 FAIRE ... JUSQUA(或类似的东西)而不是 WHILE ... WEND。

无论如何,这种本地化的计算机语言现在相当稀缺……无论好坏,英语都是计算机科学的通用语。至少它不是最难学的语言。而且大多数语言的词汇量(至少是关键字集)非常有限。

唯一的问题是当我们试图向不懂英语的年轻人教授编程时,他们学得很快。

于 2008-11-13T20:58:06.853 回答
2

不!永远不要为您的来源使用“本地化”。英语是编程的事实标准,它有很大帮助,让这个世界变得更好一点。

代码应该对每个人都是可移植和可理解的(如果可能的话),本地化会消除这种可能性。

我会说俄语、意大利语和一点点英语,但我在工作中使用过除英语以外的其他任何东西。

于 2008-11-13T20:09:20.133 回答
2

法国有一种开发语言叫做WinDev,其中所有的代码都是完全法语本地化的。

于 2008-11-13T20:12:09.253 回答
1

在旧的(非常旧的)Word 版本中,您将在 WordBasic 中编写宏。WordBasic 已本地化。

于 2008-11-13T20:17:38.133 回答
1

本身不是一种编程语言,但 Microsoft Excel 以其函数名称本地化而闻名。幸运的是,打开不同语言版本的 Excel 工作表不会破坏您的公式,因为它们已被翻译。

于 2008-11-18T22:04:24.577 回答
1

在某些情况下,关键字甚至不是英文的(尽管它们可能有点像英文单词):来自 Lisp 的carcdrcons ;Perl 中的elsifprintffgetssscanf以及来自 C 的更多内容。我认为大多数语言至少有一些关键字没有本地化,即使对于说英语的人也是如此。

关键字属于编程语言,而不是程序员的(口语)语言。

于 2008-11-19T21:07:24.850 回答
1

当我第一次做本地化的 Applescript 时,不知道它是否仍然正确。

于 2008-11-19T21:19:47.023 回答
1

还有 Citrine ( https://citrine-lang.org/ ) 支持多种语言,包括荷兰语和印地语。该项目旨在支持地球上的每种语言,以获得完整的本地化编程体验。

于 2020-02-01T10:59:02.363 回答
0

这与空中交通管制相同。它在英语中已经非常标准化了。虽然如果您的母语不是英语,这可能会使飞行稍微困难一些,但学习完成工作所需的特定英语子集并不太难……但是您能想象如果飞行员可以尝试并尝试会发生什么对控制器说他们最熟悉的任何语言......控制器可以用他们最喜欢的任何语言做出回应?我当然不会再飞国际了:)

于 2008-11-13T20:13:39.233 回答
0

不,而且真的不可能。例如,如果您使用 C 编译器并将关键字本地化为另一种语言,您将拥有一种完全可行的编程语言,但根据定义,它不再是 C 编译器。

C 中可能有类似ifand的关键字for,它们显然是从英文衍生而来的,但它们不是英文关键字,它们是 C 关键字。

话虽如此,我经常想知道为什么我们没有看到基于其他人类语言的编程语言。他们只是不那么出名吗?

于 2008-11-14T02:17:25.507 回答
0

如果没有几种语言的开放版本的中文本地化克隆,我会感到惊讶。特别是 gcc/g++。它们足够大,周围有自己的生态系统,如果中文和英文标识符之间有任何冲突,你真的不会有太多。

考虑到中文书面语言与西方语言有如此根本的不同,如果没有一种纯中文没有西方语言可以利用这些差异,我会更加惊讶。

于 2008-11-18T22:08:42.573 回答
0

创建 Lua 的巴西人使用 if 和 while 等英文关键字。从事 ML 工作的法国人也使用英语关键字。Stroustrup、Guido 和 Linus 都来自非英语国家(尽管我相信他们都在年轻时学习过英语)。你不能忘记 Matz 在 Ruby 上的工作。

我不想变得势利,但英语是程序员最接近通用语的东西。

于 2008-11-18T22:18:58.637 回答
0

当我还是个孩子的时候,有一个希伯来语版本的 Logo 编程语言(解释)。我隐约记得使用相同语言的仿 BASIC。

但是这些使用起来很糟糕,因为字母是 RTL 写的,数字和符号是 LTR 写的,而基于 ASCII 的旧 PC/Apple 无法真正处理这种殴打。

于 2008-11-20T18:40:54.427 回答
0

我祈祷我见过用 MS Visual Basic 5 或 6 编写的带有俄语关键字的程序!

于 2008-11-21T14:31:50.357 回答
0

在韩国,

c 编译器变体,使用韩语“Hangul”。

http://book.daum.net/detail/book.do?bookid=KOR2003872000039

视觉基本风格工具

http://cugz.sjworks.net//ver2/about_create.html

http://cugz.sjworks.net//ver2/images/create_intro.jpg
(来源:sjworks.net

于 2008-11-22T05:41:06.153 回答
0

我找到了一个!

Lexico.NET:Lexico是一种基于 .NET Framework 的西班牙语面向对象的教育编程语言。

此外,维基百科有一整页列出更多

于 2009-04-18T22:51:15.397 回答