Подтвердить что ты не робот

Кодирование на других (разговорных) языках

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

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

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

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

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

EDIT - да, это серьезно. Я не знал, имеют ли разные локализации языка разные ключевые слова. или если есть даже разные локализации вообще.

4b9b3361

Ответ 1

Если я правильно понял, на самом деле возникает вопрос: "действительно ли каждый кодер в мире знает достаточно английского языка для использования тех же самых зарезервированных слов, что и я?"

Ну.. Английский здесь не предмет, а язык программирования зарезервирован. Я имею в виду, что, когда я начал около 10 лет назад, у меня не было ни малейшего понятия английского языка, и все же я мог программировать простые вещи, изучая язык программирования, даже когда я не знал, что они имели в виду (на английском языке). По сути, это помогло мне выучить английский.

Например. Я знаю, что делать "iteración" (итерация, конечно) мне пришлось написать:

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

Мне "for", ";" и "++", где простые иностранные слова или символы. Позже я узнал, что "для" означало "пара" и "пока" означало "менторс" и т.д., Но в то же время мне не нужно было знать английский, но в моем случае мне нужно было знать "С".

Конечно, когда мне нужно было больше узнать, мне пришлось изучать английский язык, поскольку документация написана на этом языке.

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

Как оператор switch в bash: case.. esac. Что такое "esac"... для меня конец оператора switch в bash.

Я предполагаю, что то, что мы называем абстракцией

Ответ 2

У меня проблемы с поиском ссылок, но мне напоминают три истории.

A Lisp hacker защищает бессмысленные функции, такие как "cdr" и "car", сравнивая их с программированием на вашем родном языке: http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg01171.html

Когда Юкихиро Мацумото ( "Мац" ) начал разрабатывать Ruby, он использовал английские ключевые слова , хотя он писал всю документацию на японском языке!. В течение нескольких лет не было английской документации для Ruby, и очень немногие американцы использовали этот язык. Но теперь это язык мирового класса, и тот факт, что он родился в Японии, представляет только исторический интерес. Если бы язык использовал ключевые слова в хирагане, у него было бы гораздо более трудное время, чтобы получить популярность.

Я прочитал эссе один раз - может быть, кто-то еще может ее найти, Google сегодня не помогает, - это говорит о том, что перевод слов был ошибочным, потому что слова на самом деле не английски - они жаргон. Не только (для использования приведенных выше примеров) para и pour не совсем точный смысл, который для имеет на английском языке, для не-программистов фраза "for loop" является смехотворной. Даже американцы должны узнать новое значение. Поэтому для перевода слов поверхностный смысл на другой язык больше похож на использование перекрестного языка, а не на самом деле полезный.

Ответ 3

В языке Java некоторые методы должны быть названы (по крайней мере частично) с использованием английского языка из-за соглашения JavaBeans.

Это соглашение требует, чтобы свойство X было установлено через пару методов getX() и setX(). Здесь, во французском-канадском, где некоторые разработчики обязаны кодировать на французском языке, это приводит к следующей пародии:

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

Ответ 4

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

Использование только языковых операторов на японском языке с переменными на английском языке:

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

Ответ 5

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

Итак, да, если все будет хорошо, вы сможете прочитать код.

Однако такие языки, как Java и Perl, позволяют использовать полный набор Unicode для идентификаторов, поэтому, если кто-то пишет имена его классов в кандзи, у вас может возникнуть проблема.

Обновление: для Perl существует модуль шутки, который позволяет вам писать Perl на латыни. Но это действительно так, шутка. Никто не использует такие вещи серьезно.

Второе обновление: идея локализованных языков программирования не так уж и нелепо. Язык макросов Excel локализован, но, к счастью, он хранится на одном каноническом языке (английском) в файле, поэтому локализация - это всего лишь слой поверх обычной вещи. Такие вещи имеют смысл только для небольших "программ", для "реальных" программ ее трудно поддерживать.

Ответ 6

Как уже отмечалось многими людьми, на большинстве языков программирования вам просто нужно изучить несколько ключевых слов, так что это не имеет значения, если они на английском (или на другом языке, кроме вашего, если на то пошло). Это просто символ, который вы связываете с какой-то конструкцией. Например, в VB у вас есть "THEN", который на многих языках C-стиля будет "{", и это не имеет большого значения в читаемости (ну, по крайней мере, как я это вижу, будучи неанглийским носитель языка).

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

Я помню, как кто-то однажды дал мне короткий фрагмент ActionScript, взятый из какого-то блога. Имена были на немецком языке, и, поскольку я не говорю ни слова об этом языке, вещи можно было бы назвать var_123, var_562 или func_333 (и, вероятно, мне было бы легче запомнить имена или, по крайней мере, иметь вероятность их правописания без копирования и вставки). Поскольку это был короткий, самодостаточный фрагмент, я использовал онлайн-переводчика, чтобы дать эти вары и функции значимым именам на моем родном языке (испанский), и после этого все было ясно. Дело в том, что код был просто прост, но я мог только понять его без лишних лишних усилий, когда я преодолел языковой барьер.

С тех пор я перешел на использование английского языка для обозначения идентификаторов. Хотелось бы вам это или нет, это "koine" для программирования, инженерного и вообще технического материала. Большинство API-интерфейсов написаны на английском языке, поэтому большинство документации (и, вероятно, лучшие ресурсы, которые вы можете найти, также находятся на английском языке). Как хорошо в стороне, он держит ваш код более согласованным с кодом, с которым вы, вероятно, будете взаимодействовать, и я думаю, что он имеет тенденцию быть более компактным и кратким, чем другие языки, такие как испанский (что в противном случае было бы моим естественным выбором).

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

Ответ 7

На самом деле есть некоторые языки, не связанные с английским языком (Wikipedia)

Я норвежский, но я всегда использовал английский для всего кода, кроме вывода (игнорируя какой-то глупый код из школы). На самом деле я обычно пишу все на английском языке, а затем переводил его на свой родной язык, используя gettext (или что-то еще).

Ответ 8

Я англичанин, и проблема, с которой мы часто сталкиваемся, - это американское/британское правонарушение. Это часто происходит с помощью связанных с программированием терминов, таких как Initialise() или Initialize(), Analyze() или Analyze() и т.д. Это может привести к проблемам, которые пытаются переопределить методы, и иногда их трудно обнаружить.

Поскольку рамки (в нашем случае С#) были разработаны американцами, мы обнаружили, что лучше всего быть последовательными и использовать американские слова. Мы даже принимаем цвет.

У нас есть смесь национальностей в наших командах развития, и большинство небританских людей, естественно, склонны к американским написаниям.

Ответ 9

Взяв это на следующий уровень, как насчет возможности заменить символы?

После просмотра таких языков, как Brainf ** k и Whitespace Я подумал о том, чтобы сделать такой язык: он был бы идентичен C, за исключением того, что вы открываете закрывающие фигурные скобки, открываете скобки для закрытия, меняете значения + и -, * и /,; и:, > и <, и т.д.

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

int foo)int i, char c( }
    int six = 2 / 3:
    int two = six + 4:
    if )i > 0( }
        printf)"i is negative"(:
    {
{

Ответ 10

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

PD: мне кажется, что испанский язык намного лучше, чем английский; но перевод WRONG

Ответ 11

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

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

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

Ответ 12

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

Ответ 13

Я во французской команде, разрабатывающей программную систему на С#. Несмотря на то, что ключевые слова на языке программирования являются якобы английскими, я полагаю, что вам будет сложно читать код, поскольку все имена функций, переменные, комментарии к коду, таблицы и столбцы базы данных, технические спецификации, протоколы и т.д. Французский, в том числе симпатичные акцентированные персонажи ç, é, è, ù и т.д. Я даже не уверен, что система будет работать в другом месте из-за ошибок локализации, например, полагаясь на запятую, чтобы быть декальным разделителем по умолчанию.

В противном случае WinDev является популярной платформой программирования во Франции, а ее язык программирования WLanguage имеет ключевые слова на французском или английском языках, см. здесь и пример: текст ссылки

Ответ 14

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

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

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

Ответ 15

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

В качестве программы на португальском языке "СУММ" нужно будет перевести на "СОМА" и т.д. и т.д. Я просто не могу представить необходимую работу, чтобы это произошло на нескольких языках. Кто-нибудь еще пострадал с этой проблемой?

Ответ 16

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

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

Единственный язык, с которым я знаком, фактически переводил старый добрый логотип (по-прежнему удивительный и по сей день).

Ответ 17

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

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

Ответ 18

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

Ответ 19

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

Ответ 20

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

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

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

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

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

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

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

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

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

Ответ 21

Было бы бессмысленно, ИМХО, использовать синтаксис языка. Это просто убило бы любую мобильность.

Единственным исключением являются образовательные языки, такие как LOGO. Они были разработаны для облегчения обучения, поэтому переносимость не является проблемой.

Ответ 22

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

Ответ 23

Когда я был ребенком, мы отправились во Францию, и в музей, куда мы пошли, я помню, что нашел дисплей, который показал вам, как писать компьютерные программы. Язык был своего рода вариантом BASIC, и я отчетливо помню его, используя POUR вместо FOR, и так далее. Мне было 7 лет, и я только что узнал Бейсика, и мне казалось совершенно естественным, что у французов будет свой диалект, подобный этому!!

Я предполагаю, что это, возможно, было LSE, которое я видел?

Ответ 24

Язык сценариев Filemaker локализован. Сценарии (и данные!) Хранятся в ужасной "сорта канонической" форме.

Итак, если вы напишете script в американской версии, затем откройте его во французской версии, все ключевые слова и встроенные имена функций будут на французском языке. Но почему это не сработает?! Ага! Французская версия использует "," как десятичную точку и поэтому для избежания двусмысленности использует ";" для разделения аргументов функции - где используется американская версия ". и "," соответственно. Это преобразование вы должны сделать сами.

Итак, вы работаете с невероятно плохим интерфейсом редактирования script (вы не можете писать сценарии в виде текстовых файлов), чтобы исправить все это. Он работает! Большой! Результаты все неправильные! о нет! Ага! Дата с января по 7 декабря 2004 года, введенная вами в американской версии, интерпретируется как июль-1-2004 года. По-видимому, даты не только отображаются, но и сохраняются в зависимости от языка. Я что, шучу? Нет.

[Примечание: Filemaker 8 и 9 могут быть нормальными - я только работал с 3 - 7.]

Ответ 25

на Итальянский язык

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

Чтобы подтвердить беспокойство по поводу какого-то предыдущего плаката, я видел, что код Fortran с макросом включает перевод всех ключевых слов с английского на французский. Позвольте мне не продолжать это.

Мне также пришлось работать с кодом, одновременно содержащим идентификаторы на итальянском, немецком, английском и французском языках, а не только потому, что он был разработан во многих разных местах, но также потому, что главный разработчик считал это забавным и помог ему не дублировать имена идентификаторов (конечно, с обычной длиной 2000 строк....)

Ответ 26

Я думаю, что WordBasic был локализован. WordBasic использовался для записи макроса в Word перед использованием VBA.

Если я правильно помню, только WordBasic, написанный на английском языке, будет исполняться во всех локализованных версиях. Если вы напишете голландскую версию, вы можете выполнить ее только в голландском Word.