Кодирование на других (разговорных) языках - PullRequest
103 голосов
/ 15 октября 2008

Это то, что мне всегда было интересно, и я нигде не могу найти упоминаний об этом в Интернете. Когда магазин, скажем, из Японии, напишет код, смогу ли я прочитать его на английском? Или языки, такие как C, PHP, что-нибудь, имеют японские переводы, которые они пишут?

Полагаю, я спрашиваю: знает ли каждый программист в мире достаточно английского, чтобы использовать те же слова, что и я?

Будет ли этот код:

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

отобразить точно так же, как я вижу это сейчас на английском языке, или какой-нибудь другой не говорящий по-английски человек увидит слова «if», «switch», «case», «default», «print» и "еще" на родном языке?

РЕДАКТИРОВАТЬ - да, это серьезно. Я не знал, если разные локализации языка имеют разные ключевые слова. или если вообще есть разные локализации.

Ответы [ 26 ]

4 голосов
/ 15 октября 2008

AppleScript когда-то был доступен на французском и японском диалектах. Я не знаю, почему это было снято.

3 голосов
/ 15 октября 2008

В нескольких проектах VBA, над которыми я работал (да, в самом начале моей карьеры), мы должны были определить версию офиса, установленную на компьютере пользователя, и соответственно изменить формулы, используемые в таблицах.

Поскольку я программирую на португальском языке, «SUM» должен быть переведен в «SOMA» и так далее, и так далее. Я просто не могу представить необходимую работу, чтобы это произошло на нескольких языках. Кто-нибудь еще страдал с этой проблемой?

3 голосов
/ 16 августа 2009

Единственный язык , который я видел локализованным, - это 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"
}
3 голосов
/ 15 октября 2008

Не смейся над этим. Несколько лет назад Microsoft анонсировала G # (German Sharp) - C # с немецкими ключевыми словами и API. Конечно, это была первоапрельская шутка, но весь сайт об этом выглядел таким реальным и профессиональным (и был на microsoft.com). Страшно.

На работе мы используем две системы полевых шин, обе из которых разработаны в немецкоязычных странах, в которых для идентификаторов используется пугающее сочетание немецкого и английского языков, в том числе прекрасных ложных друзей. Это беспорядок.

Нет, английские ключевые слова и идентификаторы в порядке. Хотя некоторые могут поспорить, если это будет цвет или цвет :) 1005 *

3 голосов
/ 15 октября 2008

Ну, как уже отмечали другие, ключевые слова и системные вызовы, скорее всего, останутся на английском языке.

Однако понимание ключевых слов языка - лишь малая часть в понимании кода. Имена переменных, имена функций и комментарии могут быть на родном языке автора.

Редактировать : Я просто вспомнил свою молодость, когда я вошел в таблицы сопоставлений моего встроенного бейсика TRS-80, чтобы переключить ключевые слова на французский. Я мог бы изменить все ключевые слова, но не смог сделать ни одно из них больше. Сделано для забавных программ.

3 голосов
/ 16 августа 2009

В некоторых языках переведены ключевые слова. Формулы Excel, например. Если вы напишите некоторые расчеты в электронной таблице, это будет на вашем языке.

К счастью, это не обычная практика, и даже не говорящие по-английски, такие как я, слава Богу, что для ключевых слов существует стандартный язык:

  • легче поделиться своей работой.
  • это предотвращает превращение документации в более страшный кошмар, чем он есть.
  • Английские слова и предложения обычно короткие и синтаксически прагматичные. В литературе латинские языки намного красивее, но для технических вещей - английский.

А где остановиться? Можете ли вы представить C на древнегреческом?

Ключевые слова должны оставаться на одном языке, и все началось с английского, пусть так и останется. Это могло бы быть хуже (азиатский язык?). И поэтому мы должны написать методы и комментарии на английском языке. Хорошо, у нас еще много работы, но, по крайней мере, международная кодовая база остается неизменной.

Однако есть один случай, когда использование имен и комментариев методов на родном языке может быть хорошей практикой: в странах третьего мира. Я собираюсь в Сенегал через несколько месяцев, чтобы управлять проектом Django. Сенегал обладает огромным уровнем анфабетизации, и поэтому уже здорово, что они тратят энергию на улучшение своих знаний в области программирования. Французский язык здесь является родным, поэтому было бы неэффективно заставлять их одновременно изучать компьютерные технологии и новый язык.

Кстати, это будет ваш код с французскими ключевыми словами:

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

Не то чтобы перевод ключевых слов не имел ничего общего с переводом строк. Конечно, у нас есть "привет, там" переведено на наш язык. Европейские кодеры даже склонны использовать I18N гораздо больше, чем американские, так что их сервис может охватить более широкую аудиторию.

3 голосов
/ 15 октября 2008

Я видел перевод VBA в испанские команды. это одна из самых уродливых вещей, которые когда-либо видели. мне было бы стыдно иметь что-то подобное на моем компьютере.

PD: мне кажется, что испанский язык намного лучше, чем английский; но перевод НЕПРАВИЛЬНЫЙ

2 голосов
/ 20 ноября 2008

Ваш вопрос интересен в отношении Perl, поскольку его синтаксис разработан с учетом (английского) естественного языка. Интересно, не затруднит ли это не говорящих по-английски ...

Конечно, Perl и Perlers отказываются играть по обычным правилам. Безумный ученый Дамиан Конуэй написал модуль Lingua :: Romana :: Perligata , который использует черную магию фильтров источников, чтобы позволить вам писать Perl на латинице!

2 голосов
/ 15 октября 2008

Вообще говоря, большинство программистов адаптируются к английской форме. Я научился программировать, когда мне было 7 лет, и говорил только на иврите (справа налево) и без английского, что делало его довольно увлекательным.

Обычно вы сталкиваетесь с документацией, переменными и именами функций. Я видел свою долю переменных на других языках, используя английский алфавит.

Единственный язык, с которым я знаком, который на самом деле был переведен, это старый добрый логотип (все еще потрясающий по сей день).

2 голосов
/ 27 ноября 2008

Здесь, в Австралии, нам все еще нужно написать цвет как цвет . Однако меня раздражает, когда другие (австралийские) разработчики, работающие над австралийским проектом, решают, что имена внутренних переменных должны быть написаны по-американски.

...