是否存在具有本地化编程语言版本的编译器?

时间:2008-11-13 20:00:12

标签: compiler-construction programming-languages

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

日本,德国,法国,西班牙,博茨瓦纳的程序员是否只是广泛使用宏/定义语句来使生活更容易忍受,或者他们只是习惯了打印的功能意义,如果,然后,同时,做,开始,结束,变种,双重,功能等?

也许增加使用框架(J2EE / .NET)会使这更复杂,但它似乎仍然值得。另一方面,如果克林贡成为美国事实上的编程语言,我可能会后悔这样做。

18 个答案:

答案 0 :(得分:18)

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

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

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

答案 1 :(得分:17)

这种事情并非计算机语言所独有。音乐的所有控制词都是意大利语(andante,allegro,crescendo等)。这已经很好地运作了很长时间。

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

答案 2 :(得分:4)

Office的法语(和,IIRC,德语和其他语言)版本曾有VBA的本地化版本。

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

VB(以及其他一些语言,比如Lua)允许使用带有重音符号的标识符。我记得我很久以前就已经集中使用了。现在看起来很奇怪,而且,分享代码非常困难 同样,当我看到带有西班牙语或中文评论的代码时,我感到很不安......

为了记录,在8位计算机的时候,法国计算机(TO8)有法语版的Basic:而不是WHILE ... WEND,我们有FAIRE ...... JUSQUA(或类似的东西)。

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

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

答案 3 :(得分:2)

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

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

我说俄语,意大利语和一点英语,但我在工作中除了英语之外还用了其他任何东西。

答案 4 :(得分:2)

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

答案 5 :(得分:1)

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

答案 6 :(得分:1)

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

答案 7 :(得分:1)

在某些情况下,关键字甚至不是英文(尽管它们可能模糊地类似于英文单词):汽车 cdr 缺点来自Lisp; Perl中的 elsif ;来自C的 printf fgets sscanf 等等。我认为大多数语言至少有一些关键字甚至不是英文本地化的扬声器。

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

答案 8 :(得分:1)

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

答案 9 :(得分:0)

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

答案 10 :(得分:0)

我找到了一个!

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

此外,维基百科有一整页listing more

答案 11 :(得分: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

答案 12 :(得分:0)

我祈祷我已经看过用MS Visual Basic 5或6用俄语关键词编写的程序!

答案 13 :(得分:0)

当我还是个孩子的时候,希伯来语中有一个版本的Logo编程语言(解释)。我依稀记得用同一种语言写的一个虚假的BASIC。

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

答案 14 :(得分:0)

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

我不想成为势利者,但英语是程序员与Lingua Franca最接近的事情。

答案 15 :(得分:0)

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

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

答案 16 :(得分:0)

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

C可能包含iffor等关键字,这些关键字显然来自英语,但它们不是英文关键字,而是C关键字。

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

答案 17 :(得分:0)

这与空中交通管制相同。它几乎用英语标准化了。如果您的母语不是英语,这可能会使飞行变得更加困难,那么学习完成工作所必需的特定英语子集并不太难......但是你能想象如果飞行员可以尝试的话会发生什么说出他们对控制器最熟悉的语言......控制器可以用他们最喜欢的语言回应?我当然不会再去国际了:)