2008-11-13 48 views
3

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

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

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

+0

有趣的你应该提到克林贡。实际上有一种叫做“var'aq”的语言(http://www.geocities.com/connorbd/varaq/),通常用克林贡语写成,但也支持英语。 – 2008-11-18 22:36:04

+0

这似乎是http://stackoverflow.com/questions/202723/coding-in-other-spoken-languages的一个骗局。尽管如此,我还没有完成,因为我不确定。 – 2008-11-19 21:12:55

回答

16

在大多数编程语言中,关键字被保留,所以它们不能用于变量名称等

现在假设关键字改变你改变文化的每一次 - 写在一种文化的代码无法移植到另一个没有改变标识符。伊克。而且,当任何人将他们的代码复制到这样的问题论坛上时,我们就不会再像以前那样说同一种语言。

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

+0

伟大的一点。我没有考虑过标识符问题。我想我应该认为自己幸运的是,编程是用我成长的同一种语言发明的。如果他们的关键字是无意义的字符串,那么学习编程将会是一个熊! – JohnFx 2008-11-13 20:09:15

+0

“我想我应该认为自己很幸运,编程是用我与之长大的同一种语言发明的”。 我并不重要,编程它不是英语,它是计算机语言,它只是使用英语单词。数学和逻辑是普遍的......编程也是如此。 – 2008-11-24 18:52:06

+0

@Pop:我明白你的观点,但它确实有助于能够非常清楚地进行交流,而且这需要掌握一定的语言。我希望SO的一些/许多用户是非英语母语的用户 - 而且这样做会使他们难以获得他们的观点。 – 2008-11-24 19:10:07

2

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

该代码应该是可移植的并且可以被所有人理解(如果可能的话),本地化将会消除这种可能性。

我会说俄语,意大利语和一点英语,但我的工作除了英语之外我已经用过其他任何东西。

17

这类事情不是计算机语言所特有的。音乐的所有控制字都是意大利语(andante,allegro,crescendo等)。这很长时间以来运作良好。

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

2

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

0

这与空中交通管制相同。这在英语中已经非常标准化。如果你的母语不是英语,那么这可能会使飞行变得稍微困难​​一点,但要学习完成工作所需的英语的特定子集并不难,但你能想象如果飞行员可以试试说出他们最熟悉的语言给控制器......并且控制器可以用他们最喜欢的任何语言作出回应。我当然不会再国际飞行了:)

1

在旧的(真正旧的)Word版本中,您会在WordBasic中编写您的宏。 WordBasic是本地化的。

4

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

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

VB(以及一些其他语言,如Lua)允许使用带有重音符号的标识符等等。我记得很久以前我在密集使用。它现在看起来很奇怪,再一次,它很难分享代码。
同样,我不放心,当我看到西班牙或中国注释代码...

为了记录在案,以8位计算机,计算机法(TO8)具有基本的法语版本的时间:代替WHILE ...... WEND,我们有FAIRE ...... JUSQUA(或类似的东西)。

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

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

0

不,实际上不可能。例如,如果您采用C编译器,并将关键字本地化为不同的语言,您将拥有完美可行的编程语言,但根据定义,它不再是C编译器。

C可能有类似iffor这样的关键词,这些关键词明显来自英文,但它们不是英文关键词,而是C关键词。这就是说,我经常想知道为什么我们没有看到基于其他人类语言的编程语言。他们只是不那么出名?

1

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

0

如果没有中文本地化的几种语言的开放版本的克隆,我会感到惊讶。尤其是gcc/g ++。它们足够大,可以拥有自己的生态系统,如果中英文标识符之间有任何碰撞,那么它们确实不会太多。

考虑到中文书写语言与西方语言的根本差异,如果没有纯中文语言,没有西方的语言来利用这些差异,我会更加惊讶。

0

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

我不想成为势利,但英语是程序员最擅长的一种Lingua Franca。

1

在某些情况下,关键字甚至没有英语(尽管他们可能隐约像英文单词):汽车CDR,并利弊从Lisp的; Perl中的elsif; printf,fgets,sscanf,还有更多来自C.我认为大多数语言至少有一些关键字,即使对于英语使用者来说也没有本地化。

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

1

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

0

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

虽然由于字母是写成RTL,数字和符号写成LTR,而旧的基于ASCII的PC /苹果不能真正处理这种殴打,所以这些使用太可怕了。

0

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

0

我发现一个!

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