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

Compiler construction 是否存在具有编程语言本地化版本的编译器?,compiler-construction,programming-languages,Compiler Construction,Programming Languages,我经常想知道,为什么非英语程序员在编程时被迫使用不同的语言,而提供一个可以用本地化版本替换关键字的IDE似乎很容易。为什么德国人不能使用“während..macht”循环 日本、德国、法国、西班牙、博茨瓦纳的程序员是否只是广泛使用宏/定义语句来让生活变得更容易忍受,还是他们只是习惯了打印、if、then、while、Do、begin、end、var、double、function等的功能意义 也许框架(J2EE/.NET)的使用增加了这一过程的复杂性,但这似乎仍然是值得的。另一方面,如果克林贡

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

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


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

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

现在假设每次更改区域性时关键字都会更改—在一个区域性中编写的代码在不更改标识符的情况下无法移植到另一个区域性。哎呀。此外,当任何人把他们的代码复制到这样的问题论坛上时,我们就不再像以前那样说同一种语言了

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

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

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


我会说俄语、意大利语和一点英语,但在我的工作中除了英语我什么都用过。

这种事情并不是计算机语言所独有的。所有的音乐控制词都是意大利语(行板、快板、渐强等)。这在很长一段时间内一直行之有效


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

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

这与空中交通管制相同。它的英语已经相当标准化了。如果你的母语不是英语,这可能会让飞行稍微困难一些,但学习完成任务所需的特定英语子集并不难。。。但是你能想象如果飞行员能试着对管制员说他们最熟悉的语言会发生什么吗。。。控制器可以用他们最喜欢的任何语言响应?我肯定不会再坐国际航班了:)

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

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

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

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

记录在案,在8位计算机时代,一台法国计算机(TO8)有一个法文版的Basic:而不是WHILE。。。温德,我们有费尔。。。JUSQUA(或类似的东西)

不管怎么说,现在这种本地化的计算机语言非常稀少。。。不管好坏,英语是计算机科学的通用语言。至少它不是最难学的语言。而且大多数语言的词汇(至少是关键字集)都非常有限


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

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

C可能有一些关键字,如
if
for
,它们显然是从英语中派生出来的,但它们不是英语关键字,而是C关键字


尽管如此,我经常想知道为什么我们没有看到基于其他人类语言的编程语言。它们不是很有名吗?

本身不是一种编程语言,但Microsoft Excel以其函数名本地化而闻名。幸运的是,以不同语言版本打开Excel工作表并不会在翻译公式时破坏公式。

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


考虑到中国的书面语言与西方语言有着如此根本的不同,如果没有一种纯粹的汉语没有西方的对等语言来利用这些差异,我会更加惊讶。

创建Lua的巴西人使用了诸如if和while之类的英语关键词。从事ML工作的法国人也使用英语关键词。Stroustrup、Guido和Linus都来自非英语国家(尽管我相信他们都在很小的时候就学会了英语)。你不能忘记Matz在Ruby上的工作

我不想