Jak wygląda programowanie w języku japońskim? [Zamknięte]

28

Czy kod jest napisany w języku japońskim? Czy nazwy plików są w języku angielskim? Co powiesz na preprocesor C? Czy to wciąż po angielsku? Czy komentarze są po japońsku?

Przykłady też byłyby miłe.

Zeno
źródło
7
Podobnie jak programowanie w języku hiszpańskim / portugalskim / czymkolwiek, kod powinien być zawsze pisany w języku angielskim.
1
@ M28 Jest trochę inaczej, gdy trzeba użyć obcego alfabetu. Spróbuj napisać prostą aplikację hello world, używając greckiego alfabetu dla wszystkich słów kluczowych.
biziclop,
3
@ M28: Z ciekawości: czy istnieją języki programowania zaprojektowane dla znaków spoza alfabetu łacińskiego? A jeśli kompilatory pozwalają na kodowanie inne niż ASCII, myślę, że nawet Java mogłaby być napisana ze wszystkimi symbolami w języku japońskim, z wyjątkiem słów kluczowych w języku ...
FrustratedWithFormsDesigner
2
@Frustrated: [Whitespace] ( en.wikipedia.org/wiki/Whitespace_(programming_language) przychodzi mi na myśl
Josh K
3
@Frustrated: Wikipedia wie wszystko.

Odpowiedzi:

21

Jako ktoś, kto programował w Japonii. Mogę szczerze powiedzieć, że widziałem kod we wszystkich formach. Większość czystszego kodu, który widziałem i który miał być obsługiwany tylko przez japońskich programistów, zawierała wszystkie komentarze i dokumentację w języku japońskim.

Jeśli chodzi o niektóre przerażające kody, które widziałem, pamiętam, że widziałem Javę i (jak sądzę) kod VB, który faktycznie używał kanji lub katakana do nazw zmiennych.

Poza tym kod wygląda tak

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

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

    }

    ...
}

Jeśli chodzi o preprocesor C, nie mam pojęcia.

Eliasz
źródło
Preprocesor może być wykorzystywany do tłumaczenia słów kluczowych na inne języki.
FrustratedWithFormsDesigner
4
Czy więc „Foo” jest prawdziwym angielskim słowem, takim jak „BankClass”, czy też jest romanizowane?
Zeno
2
Czy zadzwoniliby FooClass BankClassczy GinkouKurasu?
Panzercrisis
1
Wiem, ale czy w prawdziwym świecie byliby bardziej skłonni do używania Banklub Ginkou?
Panzercrisis,
3
@Panzercrisis, który zależy od kaprysów i polityk dewelopera lub zespołu. Jak wspomniałem w mojej odpowiedzi, kod mojej żony ma tendencję do używania angielskich słów w deklaracjach, ale może używać tych słów inaczej niż zwykle je interpretuję. Nie wydaje mi się, żeby istniał jeden dominujący wzór. Ale założę się, że programista, który zna tylko japońskie słowo na pojęcie, użyłby tego zamiast uciekać się do słownika.
JasonTrue
9

W praktyce większość aktywnych języków programowania poza USA używa słów kluczowych podobnych do angielskiego, ale ważne jest, aby zdawać sobie sprawę, że w większości przypadków ci z nas, którzy piszą kod jako rodzimi użytkownicy języka angielskiego, tak naprawdę nie piszą po angielsku, .

Istnieje kilkadziesiąt języków, które faktycznie obsługują słowa kluczowe spoza zakresu ASCII, które często są zaprojektowane w celu zmniejszenia tarcia poznawczego u osób nieanglojęzycznych próbujących nauczyć się programowania.

Ponadto niektóre starsze implementacje języków, które tłumaczą kod na tokeny (nieprawidłowa kompilacja), mogą wyrzucać ten sam kod w edytorze przy użyciu, powiedzmy, niemieckiego odpowiednika; moje pierwsze doświadczenie z VBA Microsoft Office było takie, gdy byłem studentem w Niemczech.

Wiele anglojęzycznych języków programowania, w tym C #, Java i inne, teraz dopuszcza nazwy zmiennych i nazwy metod w języku japońskim, o ile kod źródłowy jest zakodowany w UTF-8 lub innym odpowiednim kodowaniu. Nie było jednak często komentowania w języku japońskim w języku C, chyba że używałeś kompilatora, który obsługiwał Shift-JIS lub Unicode. Literały łańcuchowe w C prawie zawsze były zastępowane za pomocą metody kodowania literalnego, chyba że masz format plików zasobów zewnętrznych do pracy, jak w Visual Studio.

W praktyce wiele programów napisanych przez japońskie zespoły, które nie wymagają konserwacji poza Japonią, są pisane z komentarzami lub javadoc / docstrings / itp. w języku japońskim. Moja żona zazwyczaj pisze kod z rodzajem japońskiego angielskiego, używając terminów, które niekoniecznie pasują do mojego własnego użycia lub rozumienia angielskiego („register” dla „post” lub „story”, register_date dla daty publikacji), i okazjonalnie komentarze w języku japońskim lub japońskim.

Większość programów, które mają wokół siebie społeczność międzynarodową, które pochodzą z Japonii, stosuje jakąś formę angielskiej konwencji nazewnictwa. Zobacz na przykład kod źródłowy Matza dla ruby.

JasonTrue
źródło
Co jeśli projekt nie wie, czy zamierzają wydać źródło poza Japonią? Jak gra wideo opracowana w Japonii. Czasami nie wiedzą, czy angielski wydawca będzie chciał wydać grę w USA.
Zeno
@Zeno - to internacjonalizacja ciągów znaków, które zobaczy użytkownik. Jest to ważne, nawet jeśli kod jest napisany przez i dla anglojęzycznych. Komentarze i nazwy zmiennych i język wewnętrzny nie są tak naprawdę skorelowane, chyba że kod zostanie wydany jako interfejs API.
G__
Nie bardzo często gry wideo publikowane poza Japonią będą zawierać więcej funkcji, więc kod również zostanie bezpośrednio zmieniony. Podobnie jak Final Fantasy VII, dołączono nowych bossów (Ruby WEAPON) w wersji amerykańskiej, ale nie japońskiej.
Zeno
Czy te nowe funkcje zależą od języka? Jaka jest różnica w porównaniu z marketingiem innego zestawu funkcji w Tokio niż w Nagoi?
G__
Podobnie jak w Stanach Zjednoczonych, ludzie czasami zakładają, że ich aplikacja nigdy nie będzie używana poza ich krajem, a czasami powoduje konieczność wprowadzenia zmian w kodzie w celu wydania ich na inne rynki. Jednak komentarze rzadko wymagają przepisania na potrzeby procesów lokalizacyjnych, jeśli stosowane są nowoczesne metody internacjonalizacji, ponieważ lokalizatory zwykle nie dotykają kodu.
JasonTrue