1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Программирование по-русски

Тема в разделе "Программирование", создана пользователем DirectX, 02.05.05.

Нужны ли русские языки программирования?

  1. Да

    14 голосов
    34,1%
  2. Нет

    27 голосов
    65,9%
  1. DirectX

    DirectX Активный участник

    1.880
    4
    Русский язык - великий и могучий! С этими словами не поспоришь. Я его люблю :) Досадно, конечно, что не ему де-факто отведена роль международного языка. Досадно... обидно, но ладно. Да этого, пожалуй, и не могло произойти, иначе бы он не был велик и могуч, если бы был слишком уж прост.

    Так или иначе, но всем понятно, что основу-основ в мире компьютеров составляет английский. Так уж сложилось исторически. Стоит ли упоминать, что всем национальным языкам после начала эры персональных компьютеров пришлось бороться за своё место под солнцем. А это было ой как непросто... Начиная с 7-битной english-only ASCII кодировки, продолжая фактическим отсутствием человеческой поддержки буквы ё на заре компьютеризации (чему мы обязаны практически её вымиранием) и заканчивая до сих пор не поборотой до конца свистопляске с кодировками ttf-шрифтов.

    Но вот уже почти прошли смутные времена. Почти подавлены последние робкие попытки сопротивления русификации со стороны разных там фотошопов. Win9X почти вымерли, уступив дорогу своим старшим unicode-братьям. True Type уступает дорогу Open Type... Казалось бы, остаётся лишь радоваться и русифицировать всё то, что ещё не русифицировано.

    Так вот вопрос: НУЖНО ЛИ русифицировать языки программирования?

    Выскажу моё личное ИМХО на этот вопрос: языки программирования на русском - вариант не лучший. И дело тут не в привычке. Формальные конструкции языка программирования гораздо лучше вписываются в систему правил английского языка. Падежные окончания русского языка слишком уж слабое место в этом вопросе. Небольшой пример:

    Код:
    int k = 0;
    for (int i = 0;...
    
    цело[u]е[/u] к = 0;
    для (цело[u]го[/u] к = 0;...
    Отсюда вывод: существующие языки не очень хорошо адаптируются для перевода. А сочинять новые, инвариантные к падежным формам, накладно и никому не нужно, поскольку кроме россиян никто этого не оценит...

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

    Однако, если дальше России исходники не пойдут, то, пожалуй, лучше уж вместо

    Код:
    int annual_salary;
    написать

    Код:
    int годовая_зарплата;
    , чем

    Код:
    int godovaya_zarplta;
    Впрочем, перегиб палки в этом направлении давно можно наблюдать в Visual Basic for Applications:

    Код:
    Лист1.Range("A1").Formula = "=СРЗНАЧ(B2:B4)"
    No comments, хотя некоторым нравится...

    А что вы думаете?
     
  2. AlTk

    AlTk Читатель

    10.692
    0
    дабы не плодить непрофессиональное обсуждение (а я очень сильно подозреваю что оно будет иметь место с переходом во флейм, типа "как на русском записать оператор goto"), я закрываю эту тему.
    всех интересующихся отправляю к книге
    Любарский Ю.Я. Интеллектуальные информационные системы. Серия: Проблемы искусственного интеллекта. М.: Наука 1990г. 232с. твердый переплет, увелич. формат.
    "В этой книге излагается методика построения интеллектуальных информационных систем, позволяющих решать многие практически важные задачи. Такие системы, используя декларативное представление знаний о проблемной области и процедурное представление умений решения задач из этой области, обеспечивают взаимодействие с пользователями на ограниченном естественном языке. приводятся примеры конкретных применений."

    AlTk добавил [date]1114980948[/date]:
    если желаете обсудить только именование переменных/таблиц/полей, то сделайте отдельную тему.
     
  3. AlTk

    AlTk Читатель

    10.692
    0
    по просьбам участников открываю тему.
    мой ответ - "Да".
     
  4. PoliceMan

    PoliceMan Активный участник

    3.443
    7
    Мое мнение - нет.
    Зачем? Текущее положение вещей устраивает. Есть уже устоявшиеся названия, а с падежами в русском можно свихнуться, вы только прикиньте, прога не компилируется, не потому что что-то не так, а потому что вместо "целого" вы написали "целое", бред. Хотя можно уйти от падежей, тогда это будет выглядеть не так красиво, и не далеко уйдет от "godovaya_zarplta". К тому же, в чем преимущества русского языка программирования? Неужели так сложно запомнить пару десятков слов на инглише? Если да, то может и не нужно вам оно? Программирование в смысле.

    PoliceMan добавил [date]1115140946[/date]:
    AlTk

    Чем мотивируешь?
     
  5. IvUs

    IvUs Активный участник

    13.204
    967
    Мне почему-то никогда не нравилась идея "локализации" языков программирования.
    Английский гораздо лаконичнее и как это не странно, английские конструкции легче запомнить, чем русские.
    На англоязычных языках программирования написано огромное количество готовых библиотек.
    Английские исходники можно продать кому угодно.
     
  6. AlTk

    AlTk Читатель

    10.692
    0
    "Английский гораздо лаконичнее и как это не странно, английские конструкции легче запомнить, чем русские."
    обучение программированию нельзя начать до тех пор, пока не начнется обучение именно английскому языку. вспоминая себя, могу сказать, что довольно долго привыкал к Бейсику на Агате именно из-за его нерусскости.

    ПС.
    "Английские исходники можно продать кому угодно. "
    хе-хе ;)
     
  7. IvUs

    IvUs Активный участник

    13.204
    967

    А ты в школе какой язык учил? ;)
    Я русские конструкции не могу запоминать. Сколько ковырял 1с ные конфиги - несколько лет, и обработки сам писал, а все равно, каждый раз приходится прыгать через некоторый внутренний барьер.
     
  8. AlTk

    AlTk Читатель

    10.692
    0
    да аглицкий я учил.

    "Я русские конструкции не могу запоминать. Сколько ковырял 1с ные конфиги "
    к сожалению, это просто язык 1С и конфигурация так построена. я сам это запомнить не могу.
    однако в Excel, я не испытываю дискомфорта при написании по-русски, так же как и при именовании БД, таблиц, столбцов, хранимых процедур я использую русский язык.

    "... некоторый внутренний барьер."
    по-сути вот она главная причина.

    ПС. ты так и не ответил.
    как учить информатике до изучения английского языка и, вроде, ты тоже должен был пройти школу "нц, кц и если.. то ... иначе".
     
  9. IvUs

    IvUs Активный участник

    13.204
    967

    А что отвечать-то? ;) Сейчас можно зарабатывать на оутсорсинге. Как можно зарабатывать на оутсорсинге с "русским" языком непонятно. Это ж никто не купит. :-)

    Помню урока два было с этой ботвой. :-)У нас информатика первый год была с программируемыми калькуляторами, а потом агаты - там basic уже был. Всякие там MGR=3 : plot 1,1 to 128,128 :glasses:
     
  10. AlTk

    AlTk Читатель

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

    IvUs Активный участник

    13.204
    967
    AlTk
    Я тут подумал-подумал, и мне теперь кажеться, что наоборот, хорошо, когда слова ничего не значат - возникают стойкие ассоциации именно с языком программирования. :)
     
  12. AlTk

    AlTk Читатель

    10.692
    0
  13. Rem

    Rem Активный

    4.704
    0
    1С-ный язык меня порадовал. Увидел как-то выход из тройного цикла:

    КОНЕЦ;
    КОНЕЦ;
    КОНЕЦ;

    Апокалипсис какой-то :-)
     
  14. DirectX

    DirectX Активный участник

    1.880
    4
    Rem:


    Вот за что не люблю Паскаль (из которого это позаимствовано) - много слов там, где можно промолчать
    Код:
          }
       }
    }
    
     
  15. Hermes

    Hermes Активный участник

    11.635
    2
    Мой ответ Нет.
    Проблемы, на мой взгляд, в таком случае возникнут не только в аутсорсинге. Для крупных проектов, в которых участвуют программисты из разных стран (взять тот же Линукс) он не подойдет. Либо придется транслировать код из русского в английский.

    Боюсь русский язык программирования, если он появится, ждет судьба эсперанто, если не хуже. Он будет интересен энтузиастам. На нем даже будут писать, но большой популярности он иметь не будет.
     
  16. AlTk

    AlTk Читатель

    10.692
    0
    DirectX,
    "Вот за что не люблю Паскаль - много слов там, где можно промолчать"
    а можно и так сказать:
    вот за что люблю Pascal - выразительность и ясность, а то бывает как в картину немого абстракциониста смотришь.

    Код:
          end;
       end;
    end;
    
    ПС. я же русским языком попросил, высказываться по делу.

    AlTk добавил [date]1115185106[/date]:
    "Либо придется транслировать код из русского в английский."
    в этом ничего страшного нет, да и сложного.

    "Боюсь русский язык программирования, если он появится, ждет судьба эсперанто, если не хуже."
    а может не надо придумывать, а просто дать возможность писать и так и так, например как в Excel.
     
  17. Hermes

    Hermes Активный участник

    11.635
    2
    AlTk

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


    Думать надо всегда ;)

    А вообще-то кто не дает так сделать?
    Можно сделать хидер типа:

    #define если if
    #define для for
    #define целое int
    ...

    как упоминалось в другой теме и писать себе по-русски.
     
  18. Bob

    Bob Активный

    21.795
    2
    VB позволял писать названия объектов и переменных на национальном языке. Но не операторы.
     
  19. Гость

    Гость Гость

    По сабжу, могу сказать, что имеет право на жизнь и более того будет развиваться. Мое отношение к этому - все это не более как баловство. Что дает это для программистов я даже не знаю (свободу выбора индентификаторов, переменных? более точная смысловая нагрузка в именовании?) В международных проектах - это вообще, на мой взгляд, непреемлемо. Эстетства в коде в моем понимании вообще нет, хотя это дело привычки :)
     
  20. AlTk

    AlTk Читатель

    10.692
    0
    "... более точная смысловая нагрузка в именовании?) ..." - уже одно это немаловажно.
    "как вы лодку назовете, так она и поплывет" (C) капитан Врунгель
     
  21. Dimitry

    Dimitry Участник

    1.314
    0
    Да что тут спорить. Английский самый простой, я бы сказал примитивный, язык. Поэтому его и используют так широко. Лично я к нему вообще отношусь как к чисто техническому (ридми прочитать, комментарий прописать или в чужой стране табличку прочитать). :biglaugh:

    Dimitry добавил [date]1115214850[/date]:

    Вот-вот. :) Я тоже люблю. Русский - для литературы, а удел английского - иструкции и код. :smokin:
     
  22. The Last Winged

    The Last Winged Активный участник

    12.552
    375
    интересно, как можно будет обойтись без скобочек [ ] { } и знаков | @ # $ ^ & < >
    иначе вечный [ctrl]+[shift]
     
  23. PoliceMan

    PoliceMan Активный участник

    3.443
    7
    The Last Winged
    Ну так замену придумают
    @ - "эт" или "собачка", < - "меньше", { - "фигурная скобка открывается".
    :gigi:

    PoliceMan добавил [date]1115233301[/date]:
    AlTk

    Зато, например, тот же FAR при наведении на } показывает где она открывается, причем учитывая порядок.
     
  24. Lover

    Lover Участник

    122
    0
    НЕТ конечно.
    Есть Переменная antiAlliasing.. Ну-ка Переведите её на русский!!!!
    Да еще куча примеров. Английский лаконичнее чем русский.

    Я уж 10 лет пишу проги и не приемлю русские названия даже переменных....

    Вроде даже под 1С есть что то англицкое, чтоб проще было....

    Хотя идея в принципе не нова... вот есть же ужо VBA в котором переменные можно по русски называть, да и процедуры тоже... Единственная проблемма с ними в том что русские навазния иногда..... теряются. Компилятор их просто не видит... вот так вот.
     
  25. Bob

    Bob Активный

    21.795
    2
    Dimitry
    Нуну! Пробовал читать художественную литературу хотя бы начала прошлого века? Или конца позапрошлого?
     
  26. Dimitry

    Dimitry Участник

    1.314
    0
    Bob
    Ха-ха. Я говорю про настоящее. Сейчас это примитив. Язык сильно упростился с того времени.
    Если следовать Вашей логике, то тогда давайте возьмем русский язык времен Ивана Грозного. ;)
     
  27. Bob

    Bob Активный

    21.795
    2
    Dimitry
    Сейчас на англиском литература тоже выпускается. Такой же полноценный язык как и русский. Вы случаем не шовинист?
     
  28. Dimitry

    Dimitry Участник

    1.314
    0
    Bob
    Полноценный? :) Вы, наверное, не учили никогда другие языки. Хотя бы французский или немецкий. Да хотя бы сравните с русским.
    В английском нет родов у существительных, спряжение глаголов сильно урезанное и т.д. и т.п. Можно долго продолжать.
     
  29. Bob

    Bob Активный

    21.795
    2
    Dimitry
    Учил немецкий. Отсутствие родов или спряжений слихвой компенсируется другими средствами не менее выразительными.
     
  30. Dimitry

    Dimitry Участник

    1.314
    0
    Bob
    :)