这是什么东西我一直在想,我能不能找到任何提及它的任何地方,在线。当一个商店,说日本,写代码,我能阅读英语吗?或做的语言,比如C,PHP,任何事情,日本的翻译,他们写什么?

我猜我要求的是每个单一的编码器在世界都知道足够的英语使用准确的相同保留的话,我做什么?

将这个代号:

If (i < size){
    switch
        case 1:
            print "hi there"
        default:
            print "no, thank you"
} else {
    print "yes, thank you"
}

显示完全相同的,因为我看到它现在在英语中,或者将其他一些非英语人看到的话"如果","开关","情况下","默认"、"打印",以及"其他"在他们的母语?

编辑-是的,这是严重的。我不知道如果不同版本的语言具有不同的关键词。或者,如果甚至有不同的版本。

有帮助吗?

解决方案

如果我理解的话,问题实际上是:<!>“世界上每一位编码人员都知道足够的英语使用与我完全相同的保留字吗?<!>

嗯..英语不是这里的主题,而是编程语言的保留词。我的意思是,当我大约10年前开始时,我没有任何英语线索,而且我仍然可以通过学习编程语言编写简单的东西,即使我不知道它们是什么意思(用英语)。事实上,这有助于我学习英语。

例如。我知道做一个<!>“; iteraci <!>#243; n <!> (迭代当然)我不得不写:

 for( i = 0 ; i < 100 ; i++ ) {}

给我<!>“;对于<!>”,<!>“; <!>”;和<!> quot; ++ <!> quot;简单的外来词或符号。后来我知道<!>“;对于<!>”;意思是<!> quot; para <!> quot;和<!> quot; while <!> quot;意为<!>“mientras <!>”;等等,但同时我不需要懂英语,但在我的情况下,我需要的是知道<!>“C <!>”。

当然,当我需要学习更多东西时,我必须学习英语,因为文档是用那种语言编写的。

所以答案是:不,我不会用我的母语来看,等等。我用英语看到它们,但它们对我来说并不意味着它们对编程语言的反过来。

就像bash中的switch语句:case .. esac。什么是<!>“; esac <!>”; ...对我来说是bash中switch语句的结束。

我猜这就是我们所说的<!> quot; abstraction <!> quot;

其他提示

我找不到参考资料,但我想起了三个故事。

Lisp黑客捍卫无意义的函数,如<!>“cdr <!>”;和<!>“car <!>”;通过将它们与您的非母语编程进行比较: http://people.csail.mit.edu/gregs /ll1-discuss-archive-html/msg01171.html

当Yukihiro Matsumoto(<!>“Matz <!>”)开始开发Ruby时,他使用英文关键字,即使他用日文编写所有文档!。几年来Ruby没有英文文档,很少有美国人使用这种语言。但现在它是一种世界级的语言,它诞生于日本的事实只是历史的兴趣。如果该语言一直在平假名中使用关键词,那么它将更难以获得普及。

我曾经读过一篇文章 - 也许其他人可以找到它,谷歌今天没有帮助 - 这表明翻译关键词是错误的,因为这些词实际上不是英语 - 它们是行话。不仅(使用上面的例子) para pour 不完全具有 for 在英语中对非程序员的确切含义短语<!> quot; for loop <!> quot;是乱七八糟的。甚至美国人也必须学习新的含义。因此,将词语的肤浅意义翻译成另一种语言更像是制作跨语言的双关语,而不是实际上有用。

在Java语言中,由于JavaBeans约定,必须使用英语命名(至少部分)某些方法。

此约定要求通过一对getX()和setX()方法建立属性X.在法国 - 加拿大,一些开发人员必须使用法语编写代码,这会导致以下讽刺:

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

我之前对日语编程真的没有太多考虑,但是我们继续使用问题的代码示例。

仅使用日语中的语言语句和英语变量:

// In Japanese, it makes more sense to put the keywords/modifiers as
// postfix expressions rather than prefix expressions.
(i < size)か {
     (l[i])は {
     1だ:
         「もしもし。」を書く;
     省略時値:
         「いいえ、いいですよ。」を書く;
     }
} ない {
     「はい、ありがとうございます。」を書く;
}

正如许多人已经指出的那样,在大多数编程语言中,你只需要学习一些关键词,所以如果它们是英语(或者不是你的语言,那就没那么重要)。它只是与某些构造相关联的符号。例如,在VB中,你有<!>“THEN <!>”,这在许多C风格的语言中都是<!>“{<!>”;并且它在可读性方面没有太大的区别(好吧,至少我是这样看的,是非英语母语人士)。

但是,事情有时会变得多毛,而且(自然)语言的选择在于命名标识符。如果变量,函数,类等的名称由于语言障碍而没有有意义的名称,那么即使是最简单的代码也可能具有相当大的挑战性。

我记得有人曾经从一些博客中摘录了一小段Actionscript。这些名字是用德语写的,因为我不会说那种语言,所以东西也可以被称为var_123,var_562或func_333(而且我可能更容易记住这些名字或至少有一个名字。在不复制和粘贴的情况下拼写正确的机会)。由于这是一个简短的,独立的片段,我使用在线翻译器以我的母语(西班牙语)为这些变量和函数提供有意义的名称,之后,一切都很清楚。关键是代码实际上很简单,但是当我克服语言障碍时,我只能在没有太多(不必要的)额外努力的情况下理解它。

从那以后,我转而使用英语来命名标识符。无论你喜欢与否,它都是<!>“koine <!>”;用于编程,工程和一般技术的东西。大多数API都是用英文编写的,因此大多数文档都是用英文写的(也可能是你能找到的最好的资源)。作为一个好的方面,它使您的代码与您可能与之交互的代码更加一致,并且我认为它比其他语言(如西班牙语(否则将是我的自然选择)更紧凑和简洁。) / p>

当然,如果你不能理解至少一些英语,问题仍然是一样的,所以这不是一个完美的解决方案。但是,鉴于来自许多不同国家的一些开发人员,很可能他们通过语言(通过代码,当然还有其他方式)进行沟通将是英语。因此,选择英语可能是最好的选择,即使它不是解决这个问题的完美解决方案。

编程语言定义了关键字和标准类名,最佳做法是给用户定义的类型,变量和函数以及英文名称(作为非本地人,我可以告诉他们; - )。

所以是的,如果一切顺利,你将能够阅读代码。

然而,像Java和Perl这样的语言允许为标识符设置完整的Unicode集,所以如果有人在汉字中写下他的类名,你可能会遇到问题。

更新:对于Perl,有一个笑话模块,可以让你用拉丁语写Perl。但它真的只是一个笑话。没有人认真对待这样的事情。

第二次更新:本地化编程语言的想法并不是那么荒谬。 Excel的宏语言是本地化的,但幸运的是它在文件中以一种规范语言(英语)存储,因此本地化只是正常事物之上的一层。这些事情只适用于小的<!>程序<!>“;对于<!>”真实的<!>“;程序很难维护。

实际上一些非基于英语的编程语言(维基百科)

我是挪威语,但除了输出之外,我总是使用英语代替所有代码(忽略学校的一些愚蠢的代码)。实际上我通常用英语写一切,然后使用gettext(或其他东西)翻译成我的母语。

我是英国人,我们经常遇到的问题是美国/英国的拼写冲突。这通常发生在与编程相关的术语,如Initialise()或Initialize(),Analyze()或Analyze()等。这可能(有)导致尝试覆盖方法的问题,有时很难发现。

由于框架(在我们的例子中是C#)是由美国人设计的,我们发现最好是保持一致并使用美国拼写。我们甚至采用了Color。

我们的开发团队中有各种国籍,大多数非英国人自然倾向于美国拼写。

AppleScript曾经有法语和日语方言。我不知道为什么它被撤回了。

我已经看到VBA被翻译成类似西班牙语的命令。这是有史以来最丑陋的事情之一。我会惭愧地在我的电脑上有这样的东西。

PD:我碰巧认为西班牙语比英语更好;但是翻译是错误的

嗯,正如其他人指出的那样,关键字和系统调用可能仍然是英文版。

然而,理解语言的关键词只是理解代码的一小部分。变量名称,函数名称和注释都存在于作者的本地语言中。

编辑:我刚刚回到我的青年时代,我进入了TRS-80内置BASIC的映射表,将关键字切换为法语。我可以更改所有关键字,但我无法将其中任何一个更大。为有趣的节目。

不要取笑这个。几年前,微软已经宣布G#(德国夏普) - C#与德国关键词和API。当然,这是一个愚人节的笑话,但整个网站看起来如此真实和专业(并在microsoft.com上)。吓人。

在工作中,我们使用两个现场总线系统,这两个系统都是在德语国家开发的,这些系统在标识符方面有可怕的德语和英语混合,包括一些可爱的虚假朋友。这是一团糟。

不,英文关键字和标识符都可以。虽然有些人可能会说它应该是颜色还是颜色:)

在我参与的几个VBA项目中(是的,在我的职业生涯的早期),我们必须检测安装在用户机器上的办公室版本,并相应地更改speradsheets中使用的公式。

因为我用葡萄牙语编程<!>“SUM <!>”;必须翻译成<!>“SOMA <!>”;等等等等。我无法想象用几种语言实现这一目标的必要工作。还有其他人遇到过这个问题吗?

我看到本地唯一的语言是Excel及其宏。如果您尝试使用意大利语版本的Office对列进行求和,则必须编写SOMMA(A1:A10)而不是SUM。真是太遗憾了。

顺便说一句,只是因为它很有趣,以下是使用意大利语关键字看起来的代码:

se (i < size){
    commuta
        caso 1:
            stampa "hi there"
        normalmente:
            stampa "no, thank you"
} altrimenti {
    stampa "yes, thank you"
}

有一些语言翻译的关键词。Excel的公式,例如。如果你写了一些计算的电子表格中,这将是在您的语言。

幸运的是,这不是一般做法,甚至是非英语的人像我一样感谢上帝,有一个标准语言,关键词:

  • 很容易分享你的工作。
  • 它防止文件,成为一个更大的噩梦,它已经是了。
  • 英文单词和句子,通常是短和语法上的务实。在文献中,拉丁语言都更加美好,但对于技术上的东西,英岩石。

并在那里停车?你能想象一个C在古希腊?

关键词必须留在一种语言,那么,它开始与英国,让它保持这种方式。这可能是最糟糕的(亚洲语言?).因此,我们必须编写方法和评论,用英语。好的,更多的工作对我们来说,但至少国际代码基呆一致。

但是,还有一个情况下使用当地语言的方法名称和注释可以是一个良好做法:在第三世界国家。我将为塞内加尔在一个月来管理一个Django项目。塞内加尔有一个巨大的analphabetization率,并为此它已经大,他们spead能源在改善他们编程的知识。法国是本地语言在这里,所以它将是低效率的强迫他们学习计算和一个新的舌头在同一时间。

顺便说一句,这将是你的代码与法国的关键词:

Si (i < taille) {
    cas par cas :
        cas 1:
            afficher "salut"
        défaut:
            afficher "non merci"
} sinon {
    afficher "oui, merci"
}

不是翻译的关键词什么都没有做翻译的字符串。当然,我们有"嗨,那里"翻译在我们的语言。欧洲编制甚至倾向于使用I18N更多的美国sot他们的服务可以达到一个更广泛的受众。

一般来说,大多数程序员都适应英语形式。 我在7岁的时候学会了编程,只讲了希伯来语(从右到左),没有英语,这使得它成为一种非常迷人的体验。

您通常会遇到的问题是文档,变量和函数名称。我用其他语言看过我使用英文字母的变量。

我熟悉的唯一一种实际翻译的语言是好的旧Logo(至今仍然令人惊叹)。

当我还是个孩子的时候,我们去了法国,在我们去过的博物馆里,我记得找到一个显示器,告诉你如何编写计算机程序。该语言是某种BASIC变体,我清楚地记得它使用POUR而不是FOR,依此类推。我7岁,刚刚学过BASIC,我觉得法国人有这样的方言,这对我来说似乎很自然!!

我想我可能已经 LSE

Filemaker的脚本语言已本地化。脚本(和数据!)存储在一个糟糕的<!> quot; sorta canonical <!>中;形式。

因此,如果您使用美国版本编写脚本,然后在法语版本中打开它,所有关键字和内置函数名称都将使用法语。但为什么它不会运行?!啊哈!法语版使用<!> quot;,<!> quot;作为小数点,因此为了避免歧义使用<!> quot ;; <!> quot;分隔函数参数 - 美国版本使用<!> quot;。<!> quot;和<!> quot;,<!> quot;分别。这种转换你必须自己做。

所以你通过令人难以置信的糟糕的脚本编辑界面(你不能把脚本写成文本文件)来解决所有这些问题。它运行!大!结果都错了!不好了!啊哈!您在美国版本中输入的Jan-7-2004日期将被解释为July-1-2004 - 显然日期不仅以区域设置相关的顺序显示,而且存储我在开玩笑吗?否。

[注意:Filemaker 8和9可能是理智的 - 我只使用过3-7。]

关于Perl,你的问题很有意思,因为它的语法设计遵循(英语)自然语言。我想知道这是否会让非英语人士更难......

当然,Perl和Perlers拒绝遵守传统规则。疯狂科学家Damian Conway撰写了 Lingua :: Romana :: Perligata 模块它使用了源过滤器的黑魔法,允许你在拉丁语中编写Perl!

在澳大利亚,我们仍然需要拼写颜色,例如颜色。 然而,当我在澳大利亚项目上工作的其他(澳大利亚)开发人员决定内部变量名称需要以美国方式拼写时,我觉得很烦人。

对于i18n语言语法来说,毫无意义。它会破坏任何可移植性。

唯一的例外是教育语言,例如LOGO。它们的设计便于学习,因此便携性不是问题。

我阅读了很多代码,但问题始终是变量/方法名称和注释,如果他们使用日语或西里尔语这样的语言特殊字符在他们自己的语言上评论他们的代码,我们就麻烦了!但关键字我认为它们会保留英文。

in Italian

se (i < dimensione){
    scegli
        caso 1:
            stampa "ciao"
        mancante:
            stampa "no, grazie"
} altrimenti {
    stampa "sì, grazie"
}

为了确认之前某些海报的后顾之忧,我看到一个带有宏的Fortran代码包括将所有关键词从英语翻译成法语。请允许我不要继续这样做。

我还必须使用包含意大利语,德语,英语和法语标识符的代码,不仅因为它是在许多不同的地方开发的,还因为主开发人员认为它很有趣并且帮助他不复制标识符名称(当然,常规的2000行......)

我认为WordBasic是本地化的。在使用VBA之前,WordBasic用于在Word中编写宏。

如果我没记错,只有英文版的WordBasic才能在所有本地化版本上执行。如果您要编写荷兰语版本,则只能在荷兰语单词上执行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top