日语编程是什么样的?[关闭]


28

代码是用日语写的吗?文件名是英文吗?像C预处理器一样呢?还是英文吗?用日语评论吗?

例子也很好。


7
就像使用西班牙语/葡萄牙语/其他语言进行编程一样,代码应始终以英语编写。

1
@ M28虽然必须使用外来字母,但还是有些不同。尝试为所有关键字使用希腊字母编写一个简单的hello world应用程序。
biziclop 2011年

3
@ M28:出于好奇:是否有专门为拉丁字母以外的字符设计的编程语言?而且,如果编译器允许使用除ASCII之外的其他编码,我想Java甚至可以用日语用语言符号编写所有符号,但语言关键字除外……
FrustratedWithFormsDesigner

2
@沮丧:[Whitespace](en.wikipedia.org/wiki/Whitespace_ (programming_language)浮现在脑海
Josh K

Answers:


21

作为在日本编程的人。老实说,我已经看过各种形式的代码。我见过的大多数更清洁的代码仅打算由日语程序员提供支持,所有注释和文档都是日语的。

至于我所看到的一些可怕的代码,我记得曾经看到过Java和(我相信)实际上使用汉字或片假名作为变量名的VB代码。

除此之外,代码往往看起来像这样

/**
 * これはクラスのコメント
 */
public class FooClass implements Fooable {

    /**
     * オブジェクトのインスタンスを作成する
     */
    public FooClass() {

    }

    ...
}

至于C预处理器,我不知道。


预处理程序可用于将语言关键字翻译为其他语言。
FrustratedWithFormsDesigner

4
那么“ Foo”是不是真正的英语单词,例如“ BankClass”,还是被罗马化了?
Zeno

2
他们会打电话给FooClass BankClass还是GinkouKurasu
Panzercrisis

1
我知道,但是在现实世界中,他们会更倾向于使用Bank还是Ginkou
Panzercrisis

3
@Panzercrisis,这取决于开发人员或团队的想法和政策。正如我在回答中提到的那样,我妻子的代码倾向于在声明中使用英语单词,但是她使用的单词可能与我通常解释它们时使用的单词有所不同。我认为没有任何一种模式占主导地位。但是我敢打赌,只熟悉日语单词的开发人员会使用它而不是借助字典。
JasonTrue

9

实际上,在美国境外活跃使用的大多数编程语言都使用类似于英语的关键字,但重要的是要认识到,在我们当中,大多数以英语为母语的人写代码的人实际上也并不是用“英语”写的, 。

实际上,有几十种语言支持非ASCII范围的关键字,这些语言通常旨在减少非英语使用者尝试学习编程的认知摩擦。

另外,一些较旧的语言实现将代码转换为标记(不是真正的编译),可以使用例如德语的等效语言在编辑器中吐出相同的代码。当我在德国留学时,我第一次使用Microsoft Office的VBA就是这样。

现在,只要源代码以UTF-8或其他合适的编码进行编码,包括C#,Java和其他语言在内的许多类似英语的编程语言都允许使用日语的变量名和方法名。但是,除非您使用的是支持Shift-JIS或Unicode的编译器,否则用C用日语甚至连注释都很少见。除非像Visual Studio中那样使用外部资源文件格式,否则几乎总是使用文字编码方法对C中的字符串文字进行转义。

实际上,许多由日本团队编写的,不需要在日本以外进行维护的程序都是用注释或javadoc / docstrings / etc编写的。用日语。我的妻子通常使用与日语类似的英语编写代码,但使用的术语不一定与我自己对英语的使用或理解相符(“ regist”表示“ post”或“ story”,regist_date表示发布日期),偶尔日文或Janglish评论。

起源于日本的大多数带有国际社会的程序都使用某种形式的英语命名约定。例如,参见Matz的ruby源代码。


如果项目不知道他们是否打算在日本以外的地方发布源代码,该怎么办?就像日本开发的电子游戏一样。他们有时不知道英语发行商是否愿意在美国发行游戏。
Zeno

@Zeno-这是国际化的用户看到的字符串。即使代码是由英语使用者编写的,这也是很重要的。除非代码将作为API发布,否则注释,变量名和内部语言之间并没有真正的关联。
G__

并非如此,通常在日本境外发行的视频游戏会包含更多功能,因此代码也将直接更改。像《最终幻想VII》一样,美版中包含了新老板(Ruby WEAPON),而日版中没有。
Zeno

这些新功能是否取决于语言?与仅在东京和名古屋推销不同的功能集相比,有什么区别?
G__

就像在美国一样,人们有时会假设自己的应用程序永远不会在国外使用,并且有时会导致必须进行代码更改才能发布到其他市场。但是,如果使用现代国际化方法,则很少需要为本地化过程重写注释,因为本地化人员通常不会触摸代码。
JasonTrue 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.