Wie ist das Programmieren in der japanischen Sprache? [geschlossen]

28

Ist der Code in Japanisch geschrieben? Sind Dateinamen in Englisch? Was ist mit einem C-Präprozessor? Ist das noch auf englisch Sind Kommentare auf Japanisch?

Beispiele wären auch nett.

Zeno
quelle
7
Genau wie beim Programmieren in Spanisch / Portugiesisch / was auch immer, sollte der Code immer in Englisch geschrieben sein.
1
@ M28 Es ist allerdings etwas anders, wenn Sie ein fremdes Alphabet verwenden müssen. Versuchen Sie, eine einfache Hallo-Welt-App mit dem griechischen Alphabet für alle Schlüsselwörter zu schreiben.
biziclop
3
@ M28: Nur aus Neugier: Gibt es Programmiersprachen, die für Zeichen außerhalb des lateinischen Alphabets entwickelt wurden? Und wenn Compiler andere Codierungen als ASCII zulassen, könnte sogar Java mit allen Symbolen auf Japanisch geschrieben werden, mit Ausnahme der Sprachschlüsselwörter ...
FrustratedWithFormsDesigner
2
@Frustrated: [Whitespace] ( en.wikipedia.org/wiki/Whitespace_(programming_language) fällt mir ein.
Josh K
3
@Frustriert: Wikipedia weiß alles.

Antworten:

21

Als jemand, der in Japan programmiert hat. Ich kann ehrlich sagen, dass ich Code in allen Formen gesehen habe. Der größte Teil des saubereren Codes, den ich gesehen habe und der nur von japanischen Programmierern unterstützt werden sollte, enthielt alle Kommentare und Dokumentationen auf Japanisch.

Was den horrenden Code betrifft, den ich gesehen habe, erinnere ich mich an Java und (ich glaube) VB-Code, der tatsächlich Kanji oder Katakana für Variablennamen verwendet hat.

Abgesehen davon sieht Code normalerweise so aus

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

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

    }

    ...
}

Was einen C-Präprozessor betrifft, habe ich keine Ahnung.

Elijah
quelle
Ein Präprozessor könnte verwendet werden, um Sprachschlüsselwörter in andere Sprachen zu übersetzen.
FrustratedWithFormsDesigner
4
Ist "Foo" also ein aktuelles englisches Wort wie "BankClass" oder ist es romanisiert?
Zeno
2
Wie würden sie anrufen FooClass BankClassoder GinkouKurasu?
Panzercrisis
1
Ich weiß, aber in der realen Welt würden sie eher dazu neigen, Bankoder Ginkou?
Panzercrisis
3
@Panzercrisis, das hängt von den Launen und Richtlinien des Entwicklers oder Teams ab. Wie ich in meiner Antwort erwähnt habe, verwendet der Code meiner Frau in der Regel englische Wörter in Deklarationen, aber sie verwendet die Wörter möglicherweise anders, als ich sie normalerweise interpretieren würde. Ich glaube nicht, dass es ein Muster gibt, das vorherrscht. Aber ich wette, dass ein Entwickler, der nur mit dem japanischen Wort für ein Konzept vertraut ist, dies verwenden würde, anstatt auf ein Wörterbuch zurückzugreifen.
JasonTrue
9

In der Praxis verwenden die meisten Programmiersprachen, die außerhalb der USA aktiv sind, Schlüsselwörter, die Englisch ähneln, aber es ist wichtig zu wissen, dass die meisten von uns, die Code als englische Muttersprachler schreiben, auch nicht wirklich Englisch schreiben .

Es gibt ein paar Dutzend Sprachen, die tatsächlich Nicht-ASCII-Schlüsselwörter unterstützen, und diese sollen häufig die kognitive Reibung für Nicht-Englischsprachige verringern, die versuchen, Programmieren zu lernen.

Darüber hinaus können einige ältere Implementierungen von Sprachen, die Code in Token übersetzen (keine echte Kompilierung), denselben Code in einem Editor mit dem deutschen Äquivalent ausspucken. Meine erste Erfahrung mit Microsoft Office VBA war so, als ich in Deutschland studierte.

Viele englischsprachige Programmiersprachen, darunter C #, Java und andere, erlauben jetzt Variablennamen und Methodennamen in Japanisch, sofern der Quellcode in UTF-8 oder einer anderen geeigneten Codierung codiert ist. Es war jedoch nicht üblich, in C sogar japanische Kommentare zu verfassen, es sei denn, Sie verwendeten einen Compiler, der Shift-JIS oder Unicode unterstützt. Zeichenfolgenliterale in C wurden fast immer mit der Literalcodierungsmethode maskiert, es sei denn, Sie hatten ein externes Ressourcendateiformat, mit dem Sie wie in Visual Studio arbeiten konnten.

In der Praxis sind viele Programme, die von japanischen Teams geschrieben wurden und keine Wartung außerhalb Japans erwarten, mit Kommentaren oder javadoc / docstrings / etc. auf Japanisch. Meine Frau schreibt im Allgemeinen Code mit einer Art japanisch ähnlichem Englisch, wobei sie Begriffe verwendet, die nicht unbedingt meinem eigenen Gebrauch oder Verständnis von Englisch entsprechen ("regist" für "post" oder "story", regist_date für Veröffentlichungsdatum) und gelegentlich Kommentare auf Japanisch oder Janglish.

Die meisten Programme mit einer internationalen Community, die ihren Ursprung in Japan haben, verwenden eine Form der englischen Namenskonvention. Siehe zum Beispiel Matz 'Quellcode für Ruby.

JasonTrue
quelle
Was ist, wenn das Projekt nicht weiß, ob die Quelle außerhalb Japans veröffentlicht wird? Wie ein in Japan entwickeltes Videospiel. Sie wissen manchmal nicht, ob ein englischer Verlag das Spiel etwa in den USA veröffentlichen möchte.
Zeno
@Zeno - Das ist die Internationalisierung von Zeichenketten, die der Benutzer sehen wird. Dies ist auch dann wichtig, wenn der Code von und für englischsprachige Benutzer geschrieben wurde. Kommentare, Variablennamen und die interne Sprache sind nur dann wirklich korreliert, wenn der Code als API veröffentlicht wird.
G__
Nicht wirklich, oft enthalten Videospiele, die außerhalb Japans veröffentlicht wurden, mehr Funktionen, sodass auch der Code direkt geändert wird. Wie in Final Fantasy VII wurden neue Bosse (Ruby WEAPON) in die US-Version aufgenommen, nicht jedoch in die japanische Version.
Zeno
Sind diese neuen Funktionen sprachabhängig? Was ist der Unterschied gegenüber der Vermarktung eines anderen Feature-Sets in Tokio als in Nagoya?
G__
Wie in den USA gehen die Menschen manchmal davon aus, dass ihre App niemals außerhalb ihres Landes verwendet wird und dass manchmal Codeänderungen erforderlich sind, um sie für andere Märkte freizugeben. Für Lokalisierungsprozesse müssen Kommentare jedoch selten neu geschrieben werden, wenn moderne Ansätze zur Internationalisierung verwendet werden, da Code von Lokalisierern im Allgemeinen nicht berührt wird.
JasonTrue