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

Русский язык и программирование

Использование русского языка в программировании нередко становится темой дискуссий. И вправду, насколько русский язык применим в этой специфичной сфере деятельности? В средние века просвещенные умы задавались вопросом: «А можно ли петь оперу на чем-то еще, кроме итальянского?».
Русский язык и программирование
Ответ нашелся. В нашем отечестве стихи и прозу долго писали на французском. Лишь свет наш Александр Сергеевич переломил эту тенденцию. О применимости русского языка в программировании вполне убедительно ответил Язык Бухгалтерский Универсальный (1С). Бывало, что в общем перечне вакансий в разделе «ИТ» разыскиваемый «программист 1С» требовался чуть ли не в половине случаев! Однако, язык 1С – строго нишевый, на универсальность он не претендует и, судя по всему, претендовать не намерен.

А нужен ли вообще русский язык в программировании?

            «...Существует тесная связь между способностью ясно выражать свои мысли и способностью составлять программы для ЭВМ. Характерно в связи с этим заявление руководителей японских программистов, сделанное на одной из конференций: «Наиболее важным языком, который необходимо знать программисту, является не JCL или PL/I, а японский язык». (Р.Лингер, Х.Миллс, Б. Уитт. «Теория и практика структурного программирования», стр. 28. Пер. с англ.- .:Мир,1982.-406с.,ил.). Что японцу хорошо, то и русскому не смерть.

            Почему, собственно возник такой вопрос? Программирование имеет много общего с математикой. Так почему в школе на уроках нам хватало «x,y,z», а в программировании нет? Да потому, что школьные задачи были достаточно просты: в задачах имелось лишь несколько переменных. Для решения таких задач хватало 45-ти минут. В программировании реализация большинства функций тоже весьма проста, локальным переменным можно по школьному давать однобуквенные идентификаторы (или использовать идентификаторы типа «src» и «dst»). Но этих функций (а так же классов и их членов) может иметься тысячи: так, сервис Jadeite обеспечивает поиск среди 35 000 методов и 4 100 классов, которые сейчас входят в библиотеку документированных интерфейсов Javadoc. Чтобы не затеряться в таком лесу, надо давать идентификаторам такие имена, которые бы исчерпывающе описывали сущность именуемого объекта. Чем длиннее становится программа, тем больше становится идентификаторов, тем тщательнее их необходимо именовать во избежание путаницы.

            Т.к. родной язык априори лучше передает смысловые оттенки речи, то именовать все сущности программы желательно на родном языке. «На родном ли?» – возразят многие и будут по-своему правы. Английский язык в программировании – своего рода эсперанто, который дает ощутить себя членом многомиллионного сообщества программистов. Для понимания употребленных идентификаторов часто достаточно иметь весьма средний уровень знаний.

Русский язык в программировании: «за» и «против»

            Преимущества программирования на русском очевидны: думаешь только над решаемой задачей, не отвлекаясь на перевод туда и обратно. Комментариев нужно значительно меньше, ибо идентификаторы и так много о себе говорят. Родной язык позволит выражаться четко и глубоко. Чтобы так выражаться на неродном, необходимо его глубоко знать, а это все-таки редкость. Кто может в нашей стране похвастать опытом общения с носителями английского языка? Наверное, доли процента населения. Даже у постоянно программирующих словарный запас английских слов достаточно ограничен. Автору этих строк однажды довелось услышать от своих коллег такие слова: «пуршасе» и «инвоице». Это было произнесено в ситуации, когда один русский программист называл другому русскому программисту идентификаторы в русской же программе, написанной для русского рынка. Но поскольку программа была написана на сами знаете каком языке, а с программой были проблемы, опытный программист диктовал своему коллеге побуквенно (а как иначе? ведь можно перепутать) на что надо обратить внимание.

            Нередко именуемому объекту программы легко подобрать соответствующее английское слово или фразу. Но не всегда. Как перевести на английский слова «сторно», «ИНН», «ОКПО» или обросшее легендами слово «крыжить»? Если «сальдо» – это «balance», а «торговый баланс» – это «trade balance», то «сальдо торгового баланса» – это «balance of trade balance»? Чувствуете, какое масло масляное?

            Но это не вся проблема. Написанную программу потом надо будет читать, т.е. сделать обратный перевод. Русское предложение «сквозь трамвай проходил оголенный провод», будучи правильно переведено на английский, а затем правильно переведено обратно, может потом звучать так: «Через трамвай шествовал голый кондуктор». Конечно, если вы читаете в подлиннике «Гамлета» и понимаете юмор фразы «Two beer or not two beer? That is the question», то вас не испугают эти трудности. Но неплохо помнить, что за программирование (абстрактное мышление) и знание иностранных языков(образное мышление) отвечают разные полушария головного мозга.

Ложка дегтя

            Все аргументы в пользу «русского программирования» многочисленны и обоснованы, но все они хороши «в теории». На практике же – сплошное разочарование. Поддержку идентификаторов на кириллице имеют очень малое число языков/сред разработки (сразу оговорюсь: здесь не имеется в виду 1С и разработки энтузиастов-одиночек типа языка «Глагол», «Валентина», ПРОФТ и т.п.). Даже если такие идентификаторы возможны, то все равно придется постоянно переключаться с русского регистра на латинский: имена функций, классов – на латинице. При всем том, что в Visual Studio 2008 русифицирован, сей факт нисколько не отменяет необходимости переключаться с одного регистра на другой. Есть такое мнение, что «язык – ничто, а библиотеки – это все». Это «наше все» – это сплошная латиница. Рискнувшего писать по-русски ожидают постоянные нажатия «Alt+Shift». Не получается отделить зерна от плевел, агнцев от козлищ, мух от коктейлей.

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

            Отмечу только, что «в центр» такой системы логично поместить язык, обеспечивающий «ортогональность» семантики и лишенный неоднозначностей. В теории, наилучший кандидат на эру роль – эсперанто. На практике этим языком опять окажется английский с его омонимами и неоднозначностями. Возможно, отечественное ИТ-сообщество дозреет до создания «русского языка программирования».

            Будет, на мой взгляд, большой ошибкой, если такой язык будет ориентирован исключительно на русскоязычную аудиторию. Искусственное ограничение ареала обитания снизит шансы на популярность «языка светлого завтра». Ведь ему будут закрыты многие двери: он не заменит Javascript в браузерах, на нем не будут проводиться международные олимпиады по программированию. На нем не напишут Linux, Windows или MacOS. Его не будут изучать в Гарварде и Кембридже, о нем не напишет книгу Питер Нортон с в соавторстве с Василием Пупкиным. Но, самое главное, он не обрастет той инфраструктурой, которая есть вокруг всех мировых языков типа С или Java. Инфраструктурой, которая включает в себя не только компилятор с IDE и библиотеками, но и миллионы людей, готовых этот язык учить и использовать, популяризировать и развивать.

Какой язык программирования самый популярный?

            C, C++, Java, C#, Python, Ruby? Ошибаетесь. Самый популярный язык в программировании – это английский. Какая разница, за какими названиями он прячется, Pascal или С, все равно все типы, функции, классы – это английские фразы, слова или сокращения.

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

            Между тем, по оценкам экспертов производительность труда программистов в России примерно на 30% ниже такого же показателя программистов в США (не в деньгах, в строках написанного кода). Одна из возможных причин в том, что американские программисты работают только с родным языком. Нам же приходится сочетать русский в комментариях и английский в остальном при относительно невысокой роли комментариев (хорошая программа должна быть понятна без комментариев). Конечно, для умного и образованного человека выучить английский язык – задача посильная. Но он все равно будет не родной язык.
Русский язык и программирование
Из книги В.М. Пентковского об автокоде «Эльбрус».
В советское время не стеснялись программировать на русском.

Эргономика

            Использование русского языка в программировании влечет за собой проблемы в эргономике из-за постоянных переключений с русской раскладки на латинскую и наоборот. Причин две:
1) имена функций, классов в тех же С/С++ никто не собирался переводить на русский: "fopen" или "printf" все равно надо писать латиницей; проблема постоянных переключений рус/лат решается полной русификацией всех имён функций, типов и т.д.
2) половина служебных символов отсутствует в русской раскладке клавиатуры: ` ~ @ # $ ^ & [ ] { } | \ ' < >.

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

            Что делать? IDE для потенциального «русского языка программирования» должна быть эффективно решать эргономические проблемы. В клавиатуре, которую мы имеем, нет переключателя «рус/лат». «Alt-Shift» или «Ctrl-Shift» неуклюжи. Для переключения должна использоваться одна клавиша, допустим, это будет «Ctrl». При этом надо оставить возможность временного переключения на латиницу. Например, печатаем по-русски, но необходимо набрать «[]», которых нет в русской раскладке. Нажимаем «Ctrl» и «хъ» – и получаем «[]». Отпускаем «Ctrl» и продолжаем печатать по-русски.

Безопасность

            В преддверии запуска доменной зоны «.рф» при обсуждении проблем безопасности пришли к мнению, что одинаковые по начертанию буквы русского и латинского алфавитов могут при смешанном использовании вводить в заблуждение. Это открывает лазейки злоумышленникам. Было решено, что смешения букв из разных алфавитов в доменных именах быть не должно. Фокус с подменой букв одного алфавита на похожие по начертанию буквы другого может быть использован и в программировании, например:
int a;     // a — латинская
{   int а; // а — русская
    а = 0; // какой переменной присвоен 0?
}

            Тут есть большой простор для фантазии, каким образом можно замаскировать свои замыслы и в каких целях это использовать. Между прочим, латиница тоже не защищена от такого рода проблем, буква «O» похожа на цифру «0», буква «l» — на цифру «1». Просто с началом использования кириллицы в программировании таких вариантов становится значительно больше. Возможно, трюки с подменами букв не применялись мошенниками. По крайней мере, это не получило широкую огласку. Но ведь были попытки внедрения «лазеек», хотя и не таким способом. И где гарантии, что все они стали известны? О безопасности надо думать заранее, а не в момент латания уже имеющихся дыр.

            Что делать? Первый путь: запретить, как в домене «.рф», одновременное употребление в одном идентификаторе кириллицы и латиницы. Однако в вышеприведенном примере и это не поможет. Второй путь: ничего не запрещать, просто латинские буквы должны показываться в IDE одним цветом или шрифтом, а русские – другим. Третий путь: компилятор должен выдавать список идентификаторов, у которых графическое начертание одинаковое, а коды символов разные. А лучше всего, наверное, объединить второй и третий подходы. И баба с возу, и волки сыты.

Попытки приблизиться к естественному языку

            На заре компьютерной эры, при появлении первых языков программирования считалось, что совсем скоро будут программировать если не на естественном языке, то на языке программирования, к нему близкому. Создатели языков старались сделать свои детища похожими на естественную речь. Вот пример из Кобола (в переводе на русский): «ПЕРЕМЕННОЙ X ПРИСВОИТЬ Y». Пресловутые «BEGIN» и «END» возникли в Алголе как раз в это время. Надо признать, что попытки приблизить искусственные языки, изобретенные для программирования, к языкам естественным провалились. Слишком сложны человеческие языки, а русский в особенности. Уместно вспомнить анекдот про суперкомпьютер, который сломался на диалоге: «– Ты будешь встречать старый Новый год? – Да нет, наверное».

            «Я не удивлюсь, если программирование станет еще более формализованным и отодвинется от обычной человеческой речи еще дальше» – ответил Б. Страуструп на вопрос о будущих языках программирования. Можно так же вспомнить высказывание Дейкстры: «Проекты, предлагающие программирование на естественном языке, гибельны по своей сути».

            Простота языка может быть самостоятельной ценностью. Это справедливо как для потенциального «русского языка программирования», так и для любого другого. Попытки же привнести в язык программирования особенности нашей речи приведут к чрезмерному усложнению языка. Во-первых, наш язык просто соткан из противоречий, зачем они нужны еще и в программировании? Во-вторых, результат будет все равно половинчатый: получившийся язык так и не станет похож на наш родной, однако от остальных языков программирования его будет отличать излишняя синтаксическая сложность.

            Например, в языке «Кумир» частица «не» может вставляться вовнутрь идентификатора. Если объект «дверь открыта» имеет значение «ложь», то можно записать «дверь НЕ открыта», и это будет читаться значительно лучше, чем «НЕ дверь открыта», хотя последнее более «математично». Но как авторы языка учли двойные отрицания? Никак: если из объекта «никто НЕ закрыл дверь» удалить частицу «НЕ», то получится «никто закрыл дверь». Вывод: учесть все нюансы русского языка не только трудно, но и не нужно. Фраза «! дверь открыта» будет выглядеть как исковерканная речь. Но ведь англичане привыкли к «copy file», хотя правильнее было бы «to copy the file». И мы привыкнем и не будем в обычной речи сыпать фразами «если истинно затем учтем это конец если».

            В языке «Валентина» есть слова-связки «далее», «затем», которые не генерируют кода и эквивалентны межлексемным пробелам и прочим разделителям. Такое подражание обычной речи тоже не принесет пользы. Когда текст течет слева направо и сверху вниз, то всегда ясно, где начало, а где бывает «далее» и «затем».

            Зачем нам русский Кобол? Чем лаконичнее язык, чем ближе к математической записи, тем проще разобраться с написанной программой. А вот возможность использовать пробелы в идентификаторах (в «Кумире» и русификаторе С++) следует приветствовать. Традиция разделять слова пробелами существует почти во всех языках, это делает текст удобочитаемым. Согласитесь, что идентификатор «длина входной строки» выглядит предпочтительнее, чем «ДлинаВходнойСтроки» или «длина_входной_строки». Одиночные пробелы внутри идентификаторов сделали бы идентификаторы более естественными. Но в таком случае мы теряем право использовать одиночный пробел в качестве разделителя лексем (теоретически это все-таки возможно, но на практике приведет к усложнению синтаксиса и компилятора). Можно использовать обходной маневр: использовать не пробел с кодом 32, а пробел с кодом 160. Но второго пробела нет на клавиатуре. На помощь могла бы прийти IDE.

            Например, при нажатии «Ctrl» + «пробел» формировать символ с кодом 160. Но лучше не стоит этого делать. По своему опыту скажу, что делать два пробела там, где раньше хватало одного – дело привычки. А IDE могла бы графическим образом подсказать, что воспринято в качестве идентификатора. При наличии синтаксической раскраски, особенно хорошей и заточенной под синтаксис конкретного языка программирования, эта проблема вообще уходит. Зато сколько появляется плюсов...

Постскриптум

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

Как вы относитесь к использованию русского языка в программировании?

   Только «за»
        ██████████████████████████████████ 576 (79.6%)

   Хотелось бы, но нет серьёзных языков программирования
        ██ 31 (4.28%)

   Проблема надумана; в Visual Studio и PHP можно записывать имена по-русски
        █ 2 (0.27%)

   Мне без разницы, лишь бы язык программирования был хорош
        █ 11 (1.52%)

   Меня всё устраивает, английский для меня удобнее
        █████ 71 (9.82%)

   Русский язык оправдан лишь при освоении азов программирования
        ██ 32 (4.42%)


            


            На странице Все голосования можно отдать свой голос в других опросах.

Что ещё почитать на эту тему

Последняя правка: 2016-06-08    16:20

ОценитеОценки посетителей
   ████████████████████████████████████ 69 (84.1%)
   ████ 6 (7.31%)
   ██ 3 (3.65%)
   ███ 4 (4.87%)

Отзывы

     2012/10/24 18:05, Сергей

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

     2012/10/25 15:40, Автор сайта

Спасибо за предложение, добавлено.

     2012/10/27 08:48, Сергей

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

     2013/08/09 14:54, 95.143.23.242

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

     2013/09/02 23:45, Автор сайта

Если брать только те языки программирования, на которых можно программировать на кириллице, то, к сожалению, в них мало что можно почерпнуть. Они уступают широко распространённым (и не нашим) языкам. Если к ним добавить наши (но англоязычные) языки Kotlin и Пифагор, то идей, на которые стоило бы обратить внимание, будет больше. Но всё равно их сумма уступит «их» языкам, которые на слуху.

Надо искать идеи во всех языках и добавлять в них свои. И привнести в итоговый язык кириллицу.

     2013/10/04 12:32, Лев

Здравствуйте.

Пожалуйста, те у кого есть желание не просто поговорить, а совместно придумать, как воплотить в жизнь идею создания языка программирования, полностью используя кириллицу, напишите мне на info [at] lionss.ru

     2013/10/12 11:14, Noname

Самый простой способ программирования в терминах русского языка - это использование Форт (Forth) языка. Сделать можно всё как угодно!

     2013/10/14 15:45, Автор сайта

Форт не используется не по незнанию, что на нём можно программировать по-русски, а потому что он непривычен, непопулярен со всеми вытекающими из этого последствиями. А ещё вам ответил в статье про Форт.

     2013/10/18 10:26, 46.211.183.247, 82.145.217.24

Попытки сделать толковый русский язык программирования увенчались провалом. Если даже такой появится - им никто, кроме кучки быдлокодеров пользоваться не будет. Ибо кроме языка нужно написать и компилятор, оптимизатор и т.д.
Все слышали шутку про переведенный ПРОМТом визуал бейсик? Кривущий 1С...
Люди, пользуйтесь тем, что хорошо работает и дает правильный результат. Не выпендривайтесь. Если вы не можете выучить на ОЧЕНЬ низком уровне английский язык - то в ИТ вам нечего делать... Сожалею...

     2013/10/18 18:55, Автор сайта

Вообще-то у 1С попытка сделать язык программирования с кириллицей закончилась вполне себе успехом. Каждая третья вакансия в рубрике «программист» - это «программист 1С». Не ахти какой язык, но факт, что он в России популярнее Си или Джава. Это не провал, это как раз таки успех.

Английский мы уже давно выучили. На хорошем уровне. Читаем без словаря. Да вот беда – всё как-то тянет на родную речь. Да и наука кибернетика нигде не утверждает, что язык Пушкина и Толстого неприменим в программировании. Коли так – работаем над тем, чтобы восполнить недостающее.

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

Ещё больше сожалею.

     2013/12/26 20:05, Александр

Здравствуйте! В поисках ответа на вопрос "возможно ли программирование на русском", попал сюда. И узнал, что возможно. Я не программист, весьма далёк от этого. Конечно, хотелось бы, иметь всё что вздумается на русском. Мысль о компьютеризации и всё что было до этого, идёт со штатов как я понимаю и думаю что не ошибаюсь. Без господдержки, ничего у них не получилось бы. Это ясно и понятно, и к гадалке не ходи. Нашему государству русификация ни как не нужна. Прекрасно обходятся на ломаном английском. Наше русское слово имеет суть одну, и никаких других вариаций. Например, все мы знаем, что имеется всего лишь 7 цветов "Каждый Охотник Желает Знать Где Сидит Фазан" - всё остальное оттенки. А почему то пишут о каких то 256 цветах, а то и более. Я хочу сказать, что англоамериканский язык не точен. Слово оттенок по англо  shade, tone,  tint,  tincture, hue, color, tinge, touch, hint, cast, cast, nuance. Ну это же невозможно перевести. И так со многими текстами. Я не понимаю, почему обязательно нужно писать слова типа "сальдо" его чёткое значение - долг. Было бы государственное желание и программы были бы написаны. Да, ещё беда, мы не то что чужой - родной язык, русский, знаем через пень колоду.

     2014/01/22 05:34, Сергей

Я сделал себе раскладку, в которой служебные знаки, которые отсутствуют в русской раскладке обычной IBM-клавиатуры, набираются сочетанием клавиши Alt и клавиши нужного знака из латинской раскладки. Вполне себе удобно. Хотя по-хорошему нужно заказать изготовление полноценных русских клавиатур (например, которые были у советских ПЭВМ) у какого-нибудь производителя. Можно в том же Китае, раз у нас нет таких производств.

     2014/01/22 05:37, Сергей

Для Александра.

Александр, я полностью с Вами согласен!
Присоединяйтесь к нашему сообществу! Вместе, уверен, сможем создать и русский язык программирования, и свою собственную словесность (терминологию).
Загляните в наш словарь замен иностранных слов.
И как с Вами можно связаться?

     2014/01/22 05:44, Сергей

Считаю, что русский язык программирования вполне может быть создан. И пользоваться им будут не только т.н. "быдлокодеры", как выразился выше один товарищ, а те, кому такой язык будет удобнее.
Что касается языка 1С, то здесь я согласен с Юрием (автором) — это полный успех. Хотя нельзя не признать, что их язык мог бы быть и получше. Так что если кто-нибудь сумеет сделать более качественный русский язык программирования, то его может ожидать ещё больший успех.

     2014/01/23 03:44, др.Ноубади

Зачем что-то выдумывать и корячиться? ведь есть же Лисп! В нём можно придумывать новые языки программирования каждый день и пачками. Гуглите "dsl". Есть даже такая парадигма разработки: ЯОП (языково-ориентированное программирование) - там под каждый проект, под каждую задачу разрабатывается уникальный язык программирования, и проект уже создается на нём. Это путь профи.

     2014/01/23 03:49, др.Ноубади

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

(опфун пузырь-сорт (век старт конец)
  (опред (тип фиксчис старт конец)         
          (тип (простой-массив б8 (*)) век))
  (цикл :для обменяный :типа булев = нуль
        :делать (цикл :для и фиксчис :от старт :вниз (1- конец)
                  :делать (когда (> (поссыл век и) (поссыл век (1+ и)))
                        (повернутьф (поссыл век и) (поссыл век (1+ и)))
                        (установф обменяный т)))
        :пока обменяный))

     2014/01/25 03:06, Сергей с Урала

Доброго Вам здравия люди!
Рассуждая о использовании Русского языка в программировании мы хотим подчинить многообразие мыслей выражаемых через Русский язык строгости и однозначности алгоритмов, допускаю, что это было правильно на начальных этапах и будет правильно на каком то этапе развития. Для использования родного естественного языка в программировании возможно надо перейти к не четким (или  автономно уточняемым ) алгоритмам,  только так мы сможем учесть разнообразие мыслей передаваемых через язык.
( неопределенность - это и есть разнообразие природы уточняемое для каждого случая соприкосновения с ней)

     2014/01/28 20:29, Сергей

Русский язык програмирования это было бы круто)

     2014/03/01 16:36, Дмитрий

Очень близкая тема. Размышляю на нее более 20 лет)) Считаю, что интерфейсы, написанные на естественном языке совершили бы революцию в сайтостроении, и не только. Компилятор?... Что ж... В теме упоминался язык Форт. Язык в котором любое слово определяется через последовательность других. Для тех кто в курсе: представьте себе объектный Форт, обрабатывающий суперпозиции слов (предложение в целом) где каждое слово имеет стек запросов и стек результатов. Все слова выполняются параллельно. Неизвестные кладут запрос в стек определений и выполняются в следующем цикле. Например: предложение "НАРИСУЙ ЗЕЛЕНЫЙ КУБ" запускает одновременно три метода-слова, слово "НАРИСУЙ" кладет на стек запрос на объект "ЧТО?"; слово "КУБ" генерирует произвольное множество точек, зависимых по функции куба, слово "ЗЕЛЕНЫЙ" - множество значений (длина волны, сочетание RGB, сочетание CMYK...) соответствующих зеленому цвету; "НАРИСУЙ" получает совокупность значений и обрабатывает в соответствии с достаточностью данных... Ну и так далее.. Представили? Именно так работает наш ум))) Весь вопрос состоит в написании "языкового ядра" достаточного для того, чтобы цикл обработки "закрутился" без ежеминутного "Неизвестное слово, требуется определение". Это как раз порядка 5000-10000 слов...  (Из дневника 17.06.1991)
jimury@yandex.ru
vk.com/jimury

     2014/05/20 10:26, Олег

Добрый день, братья по разуму. Я тоже дошел до уровня, когда желание создать что-то русское заставило меня пойти в Интернет и спросить у Гугла, есть ли уже такие форумы.
Пока рано говорить, что лично я могу что-то внести в эту ветку, однако скажу одно: русский язык – лучший язык, чем английский. Наши мысли более полно выражают суть происходящих событий. Английский язык – очень простой и ограниченный, выше приводили пример про описание одного слова «оттенок», десятью значения в английском, но задумайтесь вот о чем: Наш язык – полный язык, описывает истинные вещи своими словами, полно и четко.
Например, зеленая зелень зеленит зеленую зелень, по-английски это будет green green green green grenn&
Ну как тут можно вообще говорить о полноценности языка, и таких примеров тысячи, У нас полный язык, который в тысячи раз лучше позволит описать любое явление, и мы не используем наш язык в программировании, только потому что изначально это пошло из Америки, и она просто завоевала абсолютно доминирующую роль в мире.

Поэтому никто не учит и не считает нормальным учить другое, если есть что-то настолько популярное.

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

Я бы очень хотел, чтобы таким языком стал русский и я верю в то, что это возможно.

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

Жаль что пока не могу внести свой вклад, но я очень этого хочу. Как известно, желание – это все, что нужно :)

     2014/05/24 11:55, Автор сайта

В Ваше повествование я внёс правки – многовато оно содержало ошибок.

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

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

     2014/09/28 19:42, 31.134.85.63

Программирую 5 лет и вот что скажу: запись типа процедура Алг = функция() просто убивает, потому что русский язык нельзя сокращать – это кощунство. Русский язык создан для полноты раскрытия слова, это язык для СЛОВА, которое полным своим ЗВУЧАНИЕМ передаёт смысл. А английский язык – это как раз то, что надо. Его можно хоть через одну букву сокращать. И ещё одно: почему японцы не делают язык программирования на японском? Правильно, потому что понимают, что для этого лучше английского нету.

     2014/09/29 13:32, Автор сайта

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

В списке языков, основанных не на английском, Вы можете увидеть японские языки программирования Dolittle, Himawari, Kotodama on Squeak, Mind, Nadeshiko, Produire, TTSneo.

     2014/10/30 15:54, Сергей

Автор статьи забыл добавить ещё ведро дёгтя в ложку мёда:
Использование национальных символов влечёт за собой проблемы с кодировками. Мало того, что компилятор должен будет распознавать, в какой кодировке дан исходный текст, но ещё и определять разрядность кодового пространства - одно- двух- или четырёхбайтовая кодировка (Unicode) (при отсутствии Byte Order Mark). Добавьте к этому проблему порядка байт в двух- или четырёхбайтовой кодировке и проблему NUXI для четырёхбайтовой, и присыпьте сверху геморроем переноса исходников между little-endian и big-endian платформами. Этого вполне хватит компилятору, чтобы повеситься, и программисту чтобы застрелиться.
Идея использования национальных символов в идентификаторах и ключевых словах бесперспективна.

     2014/10/31 15:01, Автор сайта

Если язык программирования будет сопровождаться своей интегрированной средой разработки, то проблема значительно упрощается: IDE знает, что нужно компилятору на входе, соответственно текст формируется такой, какой трубуется. Отсутствие IDE усложняет задачу, но не делает её неразрешимой. В конце концов, в html пишут, к примеру, «charset=utf-8». Вот оно, простейшее решение «в лоб». Но возможны и другие.

     2014/11/02 14:12, Юрий

Я за русский язык в программировании, но я против этих безумных сокращений вроде: Алг, Бег, КЦ, Прц и Пока.
Возможность использования русскоязычных "токенов" не главное. Таким образом, подкласс синтаксисов для языка ограничен. Это должно быть что-то вроде: smalltalk или self.
Придется использовать существующую инфраструктуру. На ум приходит Java.
Почему?
Потому что smalltalk хоть и ООП язык, но он не статичный, а значит нужен будет JIT и желательно сразу.
Почему существующую?
Потому что свои библиотеки это дороговато, тем более на первом этапе.
Но в первую очередь нужна IDE. Одной подсветкой синтаксиса сыт не будешь. Нужна грамотная автоподстановка, справка и "механизм локализации сторонних библиотек".
А то смотришь как в 1С приходится работать с XML или там знаменитый еслиNULL и в голове только матерные слова остаются.

P.S. Да, в таком деле стоило бы поучаствовать.

     2014/11/02 17:48, Автор сайта

я против этих безумных сокращений вроде: Алг, Бег, КЦ, Прц и Пока

Мне такое тоже очень не нравится. Уж лучше синтаксис Python. Или придуманный мной синтаксис: см. Стиль языка программирования и Продолжение цикла и выход из него

Возможность использования русскоязычных "токенов" не главное.

Ну почему же не главное? Это очень удобно – пользоваться родным языком для программирования.

Если язык делать совместимым, допустим, с C, то можно использовать библиотеки последнего. Возможно, дав всем идентификаторам из библиотек русские соответствия. Сняв, таким образом, остроту проблемы. Язык D, к примеру, совместим с C. А вот с IDE сложнее. Ведь она должна быть заточена на конкретный язык, на его синтаксис. Вы бы взялись за IDE, если бы собственно компилятор был бы готов? Это я насчёт Вашей фразы «в таком деле стоило бы поучаствовать» :)

     2014/11/02 15:32, Юрий

Ну почему же не главное? Это очень удобно

Не отрицаю.

Я пытался сказать, что "тривиальным переводом" сыт не будешь. Мы хоть и можем высказать ту же мысль короче чем на английском, но вот средняя длина слова у нас все же больше. То есть язык более "насыщенный", но... Так как длина ключевых слов и переменных все же имеет значение: рождаются жутковатые сокращения и разного рода сомнительные компромиссы.
В общем l10n и i18n в полный рост.

Вы бы взялись за IDE, если бы собственно компилятор был бы готов?

Взялся бы. Но сразу вынужден дополнить свой ответ.

1. У меня довольно своеобразное представление об IDE.
2. Ограничение в технологиях.
Все же я web-разработчик. И хоть создать на web инструментах IDE тоже можно и это не единожды доказано и даже для десктопа... Это видимо не совсем то что, вы ожидаете.

     2014/11/02 15:49, Автор сайта

Набор ключевых слов невелик, для них можно найти и короткие, и понятные обозначения. Например так: «if» - «если» - «?», «for» - «цикл» - «@» (последнее – единственный круглый символ вне буквенного ряда). Заканчивать блоки можно не «end», «конец», «КЦ», а в стиле Python или моим способом – закрывающей скобкой: (? <условие> <операторы>). В более длинных (в сравнении с английским) идентификаторах тоже можно найти положительные моменты: если они хорошо разжёвывают свою собственную суть, то можно экономить на комментариях.

     2014/11/02 16:21, 85.26.231.49

Тоже верно.

Кстати, походил по страницам сайта и должен признать, что идея "код как семантическое дерево, а не текст" вызывает одобрение.

Тогда и выкручиваться со "спецсимволами" не нужно.

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

Опять таки "не блокнотом единым". Генерируют же год из UML и Дракон - схем. Опять таки поминаемый мною smalltalk редактировался в основном через редактор объектов.

Заранее извиняюсь за возможный оффтоп в комментариях. Думаю если есть интерес стоит перейти на почту. qrasik(at)mail(dot)ru

     2014/11/03 11:23, Автор сайта

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

     2014/11/12 07:48, 5.128.121.4

Редактор объектов должен уметь генерировать текст.

И в чем проблема?

Тот же Лисп, достаточно однозначно можно разобрать на составляющие части. Ну и для более привычных языков лексер подобрать можно. Как пример - BlueJ. В нем  связи между классами отображаются с помощью стрелочек.

     2015/01/10 16:52, nc

Нет уж, никакого русского в программировании. Код на русском ломает язык, и как следствие, ломает мозг. В русском языке, в отличие от английского, слова склоняются и спрягаются. Поэтому вместо например "open(table)" будет "открыть(таблица)" а не "открыть(таблицУ)". И это только самый простой пример, в сложных выражениях будет мозголомка та еще.

     2015/01/11 10:55, Автор сайта

Если на то пошло, то правильно было бы «to open the table» – просто мы не англичане и у нас нет острого ощущения от ломки чужого языка. Если вам не нравится русский в программировании – не используйте. Но кто-то предпочёл бы именно так, но из-за отсутствия выбора он вынужден быть как все. Я жалуюсь не на английский, а на отсутствие свободы выбора.

     2015/02/04 11:37, НиколайЕ

Ничего хорошего из этой затеи не выйдет, всё дело в том что программист (я конечно по себе сужу и по своим товарищам с кем этот вопрос обсуждали) воспринимает не слова человеческого языка в тексте программ, а смысл который конкретное слово обозначает в контексте ЯП, т.е. это то же самое что иероглиф или руна. И если английский язык для не является родным, то такое абстрагирование от смысла слов даётся легко, а, если это русские слова, то как минимум о них спотыкаешься. Кроме того, на мой лично вкус, писать русские слова в качестве операторов программы это издеваться над родным языком - фигня ведь получается текст вроде русский - а написан корявенький бред! В этом смысле я всегда сочувствую тем людям, для которых английский язык родной.
Несколько фактов в ту же копилку:
1) На чем программируют во Франции или Германии?
2) Поинтересуйтесь что по этому поводу говорил швейцарец Н.Вирт.
3) Имею личный опыт наблюдений за людьми использующими для программирования на наследуемой системе ассемблер с русскими словами, видели бы вы с какой радостью они поддержали проект разработки нового ассемблера с английскими мнемониками!

     2015/02/04 22:31, Автор сайта

Ничего хорошего из этой затеи не выйдет

Уже вышло. Язык программирования 1С – лидер во всех российских рейтингах. Его нет только в тех рейтингах, куда не был включен изначально. Посмотрите, например, на этот рейтинг. Спрос есть. Да и результаты голосования на этой странице тоже на это как бы намекают. Голосуйте, Ваш голос очень важен для нас.

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

Ну так какой язык ни возьми, его употребление в языке программирования будет означать издевательство над ним для носителей этого языка. Даже если выбрать эсперанто, то эсперантисты это не одобрят. Получается, что надо выдумать новый искусственный язык, заточенный под употребление в языках программирования. С таким расчётом, чтобы его можно было коверкать, как хочешь.

На чем программируют во Франции или Германии?

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

Поинтересуйтесь что по этому поводу говорил швейцарец Н.Вирт.

Интересовался задолго до Вашего совета. Вопрос Вирту и его ответ:

«Не пора ли заменить все эти BEGIN, END, WHILE, UNTIL и прочие англицизмы на слова национальных языков?» – профессор Никлаус Вирт был поставлен и перед таким вопросом. «Вы понимаете, – ответил слегка удивленный профессор (я не выдумываю, вопрос действительно был для Вирта ошарашивающим, это было отлично заметно), – все эти слова в языках программирования уже давно не слова, а символы. Символы с устоявшейся семантикой. Так зачем менять символы?»

Видите ли, вопрос был задан про ключевые слова языков. Они действительно стали символами, своего рода иероглифами. Сигналы в лично мой мозг приходят одинаково быстро как от «if», так и от «если». Но Вирта ничего не спросили (и он ничего не ответил) про слова, которые иероглифами не стали. Например, фраза «номер грузовой таможенной декларации» иероглифом не стала, поэтому её запись именно в таком виде (без подбора англоязычного эквивалента) привнесёт в программу ясность. Вот поэтому язык 1С успешен. Нет выгоды от замены двух десятков английских ключесвых слов на русские. Но есть выгода от употребления тысяч русских слов.

они поддержали проект разработки нового ассемблера с английскими мнемониками

А Вы не допускаете, что языки программирования могут делиться не только на русские и английские, но и на хорошие и плохие? Вот пример ассемблера, в котором не надо писать «ADD» или «СЛОЖИТЬ», надо просто написать «+». Именно так: «А + Б» вместо «ADD EAX, EBX» Вместо «SUB», «MUL», «DIV» – «-», «*», «/» соответственно. «JMP», «JL», «JGE» заменены на «-->», «<», «>=». Познакомьтесь: язык ассемблера с упрощённым синтаксисом и поддержкой кириллицы. Знаете, написать свой ассемблер – достаточно простая задача.

     2015/02/10 12:26, НиколайЕ

0) Проголосовал, за аглицкий)))
(Но прошу учесть что этот выбор касается только ЯП, в жизни я пользуюсь русским и к использованию других языков (например на вывесках в России) отношусь отрицательно)
1) Про 1С квалифицированно не могу спорить, не кодил на нём, только мельком знакомился, но думается мне что его популярность обусловлена не в последнюю очередь тем что он встроен в востребованную систему, был бы там другой язык - так точно также был бы популярен.
2) На неудобства носителей английского мне если честно наплевать, сочувствую им, но и хватит на этом, так уж у них планида сложилась, собственно говоря не такая уж и большая цена за возможность устанавливать мировые правила игры. К сожалению мы на этот паровоз не успели и должны теперь встраиваться по ходу.
3) Согласен, языки бывают плохие и хорошие, но также я считаю что общеупотребительных плохих нет, они до этой стадии не доживают. Пример интересен, если бы проект по внедрению новых мнемоник не был уже закончен, я бы предложил им воспользоваться. Однако он не характеризует обсуждаемую тему - замена префиксной записи на инфиксную и использование математических знаков вместо мнемокодов одинаково хорошо повлияет на русский или аглицкий ассемблеры

ПС: отличный у вас ресурс вышел

     2015/02/10 16:01, Автор сайта

Ваш голос учтён, поздравляю! И после этого «загнивающие» говорят, что у нас нет демократии.

Про 1С можно рассуждать двояко. Можно говорить о том, что язык популярен исключительно благодаря распространённости основного продукта 1С. А можно о том, что желание программировать по-русски настолько велико, что делает востребованным даже язык 1С – весьма убогий по своим возможностям.

Пример интересен, если бы проект по внедрению новых мнемоник не был уже закончен, я бы предложил им воспользоваться

Так его можно начать с новой силой! Если это действительно необходимо, то можно договориться. Тем более, что вся мнемоника ассемблера записана словаре в формате csv, который правится любым редактором. Можно настроить этот ассемблер на свой вкус.

     2015/02/13 11:01, НиколайЕ

Переделанный ассемблер уже в дело пошёл, поздно с паровоза прыгать.

     2015/02/13 14:13, Автор сайта

Не скажите, что за ассемблер, для какой архитектуры? Просто любопытно.

     2015/02/17 07:04, НиколайЕ

Вот ссылка на публикацию, там конечно туманно, но представление составить можно.
Статья "БОРТОВЫЕ ЦИФРОВЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ СЕМЕЙСТВА «МАЛАХИТ» ДЛЯ РАБОТЫ В ЭКСТРЕМАЛЬНЫХ УСЛОВИЯХ"
http://www.ssau.ru/files/editions/vestnik/vestnik2013_4_1.pdf

     2015/04/29 10:13, Правдопыт

Английский – первый из языков мира, словарный запас которого преодолел планку в миллион слов.

Это, мягко говоря, неправда. В английском языке не более трёхсот тысяч слов. Причём подавляющее большинство наверняка заимствованы. А заимствовать слова — много ума не надо. А вот русский язык богат огромным количеством именно своих собственных слов. Богат за счёт своих словообразовательных возможностей, которыми английский язык похвастать, увы, не может.

Вот, например, статья: http://russkiy-na-5.ru/articles/853

«Таким образом, лингвисты (именно на них ссылается М. Н. Эпштейн, когда говорит о приходе в английский язык миллионного слова) не признают наличия миллиона слов в английском, а называют, по свидетельству издательской фирмы Merriam-Webster, цифру в четыре раза меньшую. Последняя совпадает с реальным числом слов в Оксфордском словаре английского языка за тысячелетнюю историю его развития.»

     2015/04/29 10:18, Правдопыт

...а, если это русские слова, то как минимум о них спотыкаешься...

Странно, работаю с языком программирования Глагол — наоборот, перейдя на него, я начал получать удовольствие от программирования. А читать исходник помогает написание служебных слов заглавными буквами и выделение их цветом.
Поначалу было, конечно, непривычно, но зато потом я заметил за собой, что скорость чтения исходника существенно возросла.

     2015/06/01 16:38, rustym

Правдопыт: В русском языке очень много заимствованных слов. Например слово трусы от английского слова штаны... стул от английского табурет... беляш от татарского пирог и т.д. «Чистых» (исконно) русских слов в современном русском языке как таковых нет, и в принципе так должно быть, язык все время видоизменяется, эволюционирует... Например, мы давно не ставим твердый знак в конце слов, заканчивающихся твердым согласным. Да и если бы было бы иначе, то мы бы сейчас говорили на древнем славянском языке... Да, русский язык очень гибок в отличие от большинства иностранных языков...
Но пишу Вам не по этому поводу, не смог найти язык Глагол... пожалуйста скиньте на rustym@rambler.ru

     2015/06/01 16:56, rustym

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

     2015/06/02 12:33, Автор сайта

В русском языке немало заимствований, но основа, каркас языка – исконного происхождения. «Мать», «отец», «сын», «дочь», «земля», «вода», «воздух», «солнце», «жить», «идти», «делать» - наиболее частые и важные слова имеют исключительно русское происхождение. Исконно русских слов достаточно много, чтобы найти их, достаточно просто интересоваться этим. О «Глаголе»: http://ruscomp.24bb.ru/viewtopic.php?id=5

     2015/08/16 18:11, Антон

Людей которые хотели бы программировать на русском языке много. Но почему то они не объединятся и не напишут свой язык программирования и ОС на этом языке. Возможно причина в спонсировании. Возможно это возникает из за того что мало кто будет пользоваться такой ОС. Я бы не против использовать чисто русскую ОС написанную на русском языке, а не какие то там дистрибутивы Linux. Ничего против Linux не имею против.
Если бы написали язык программирования на русском языке при появлении первых ПК в СССР то возможно сейчас мы бы редко использовали Windows и Linux. Спонсирование могло повернуться и в нашу сторону а так все деньги утекли в Windows они ведь даже Apple не дали развиться толком.
В данный моменту создание ОС на русском языке программирование выглядит неактуально. Ведь всю страну перевести на неё будет очень сложно, так как нужно будет переписывать кучу программ на производствах, где они были разработаны индивидуально.
Хотя на сегодняшний день всё вполне осуществимо, так как правительство пытается оторваться от доллара (точнее откинуть или отделиться от него). А это значит создание новых предприятий, где будут использование ИТ. Где и можно было бы использовать Русские разработки
Вместе с долларом мы могли бы попробовать откинуть и этот англоязычный язык программирования...

     2015/10/11 23:45, Иван

Верю, что появится истинно Русская ЭВМ, как говорят от мозга до костей, с такими возможностями, которые и не снились сторонним Державам. И возможно, думать она будет не только нулями и единицами, но на всех 49 буквах древнерусской Буквицы в которую уже встроена система численного счёта.

     2015/10/11 23:52, Иван

Ошибочно думать, что язык Руссов бедный и в нём много заимствованных слов. В Русском языке насчитывалось пять миллионов слов, до тех пор когда началась его трансформация и упрощение. Может оказаться совсем наоборот, слова других языков заимствованы от Русов. Смотрите, к примеру, труды Лукашевича Платона Акимовича. Например, "Ключ к познанию на всех языках мира" на основании Всесвенаго Славянскаго Чаромутия.

     2015/11/18 23:01, Кувалда

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

     2015/12/10 15:44, GrakovNe

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

     2015/12/11 20:31, Автор сайта

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

У людей, которые занимаются интеллектуальным трудом, производительность выше, если родной язык - их инструмент. Автор – патриот, желающий поднять эту производительность в родном отечестве. Патриот с «ура» или без – тут взгляд со стороны будет объективнее.

     2016/01/05 02:32, Leo

Отличный сайт.
Отличная тема, радует, что набрала столько комментариев.
Я не программист, я предприниматель. Программирование - моё хобби вот уже много лет (сначала писал под DOS/Windows на Basic, Delphi, bat-файлы, на встроенных языках 1с, irc, quik, meta-trader-5, action_script, в последнее время пишу в основном под линукс на free pascal, C#, PHP, причём на последнем таки на скору-руку накидал простейший линейный формульный парсер бизнес-логики с русскими операторами, и вы не поверите(!) я на нём тоже часто пишу, чему очень рад - это позволило быстро и просто решать мои каждодневные задачи). Так вот, уважаемые профессиональные программисты. Я, конечно, понимаю что у вас семья, дети, планы и вам нужно рубить зелёное бабло в интернациональных проектах вместе с индусами, китайцами и аборигенами, и проблема русскоязычных ЯП вас не особо волнует, т.к. для тру-программиста 10-20-30 английских слов-операторов это "тьфу", всё правильно. Но, по большому счёту, разговор не о профи - разговор о решении вполне земных, прикладных задач в нашем повседневном режиме "горим", когда надо тупо обрабатывать малыми ресурсами (читай "низкий порог вхождения" и "быстрая скорость внедрения алгоритмов") какую-то довольно простую информацию по довольно примитивным схемам, но человеку с этим справиться уже проблемно, т.к. допустим, этой информации много. Это вполне конкретная мелочёвая задачка, не интересная для большинства программистов от Бога в силу низкой цены работы и частой смены условий техзадания, но решение которой всё-же нужно людям. Я в этой ситуации вообще не понимаю, как профессионал может выступать в этом контексте против реализации ЯП с русским языком в основе? Это что - не язык программирования? Или ЯП, не достойный профи? Или что? Всё дело в качестве, в результате, в применимости на практике самого этого языка в конце концов. Будь этот язык современным, с хорошим инструментарием, и удобным для написания кода - он обречён на популярность.

     2016/01/05 17:18, Автор сайта

Дорогой Leo!
Основная масса программистов если и «рубят бабло», то не корысти ради, а пропитания для. Рубят в размерах «в среднем по рынку». Да, многие считают, что изобретать велосипед не стоит, что русский язык в программировании не нужен. Но те, кто имеет другое мнение, может быть и хотели бы изменить положение дел, но как это сделать? На первый компилятор Фортрана было потрачено 17 человеко-лет. Сейчас производительность труда программистов значительно выше, чем во времена Фортрана. Но и задачи теперь другие: заново изобретённый Фортран никому не нужен. Нужен такой, который бы мог на равных конкурировать со всей инфраструктурой современных языков. Для этого нужно сделать очень много. Если этим займётся сотня людей в свободное от работы и семьи время, то им нужен руководитель проекта, чтобы свести воедино сотни разных мнений. Но где его взять? Если это делать небольшой командой в режиме полной занятости, то потребуются денежные знаки в немалом количестве. Но кто их будет вкладывать? Любой предприниматель скажет: «Представьте бизнес-план». А кто его представит, если нет не только бизнес-, но и просто плана?

     2016/01/06 21:14, Leo

может быть и хотели бы изменить положение дел, но как это сделать?

Так процесс собственно уже идёт - на этом сайте. Вполне себе объективный подход и масса различных мнений, ещё раз спасибо автору ресурса!

было потрачено 17 человеко-лет.

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

Нужен такой, который бы мог на равных конкурировать со всей инфраструктурой современных языков.

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

Но кто их будет вкладывать?

В пустое место, пусть с хорошим бизнес-планом, пусть даже с каким-то компилятором – навряд ли кто-то захочет. Во сколь-нибудь популярный проект - вполне возможно кто-то будет использовать и помогать либо физически, либо финансами. Например, по такой схеме осуществляется поддержка проекта Debian: существует компания Freexian (freexian.com), которая обслуживает соответствующий сервис и осуществляет платную коммуникацию между свободными разработчиками и компаниями, осуществляющими финансовую поддержку.

     2016/01/08 17:03, Автор сайта

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

Есть уже такие, посмотрите: «Энтузиасты-разработчики компиляторов и их проекты». Некоторые разработки пригодны для этого.

В пустое место, пусть с хорошим бизнес-планом, пусть даже с каким-то компилятором – навряд ли кто-то захочет

Так ведь место совсем не пустое: «Энтузиасты-разработчики компиляторов и их проекты». Пустота наблюдается в том, что нет поддержки. А проекты как раз таки есть. Обратите внимание, сколько проектов закрылось. Причина понятна: многолетняя работа на одних моральных стимулах, безо всяких перспектив не то, чтобы разбогатеть, а хотя бы с оплатой «в среднем по рынку», - часто демотивирует.

     2016/01/09 01:22, Leo

Есть уже такие, посмотрите: «Энтузиасты-разработчики компиляторов и их проекты». Некоторые разработки пригодны для этого.

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

Причина понятна: многолетняя работа на одних моральных стимулах

Согласен. Моё скромное мнение в том что локализованное решение вроде Kotlin или JPHP, под Java VM или .NET CLR или какой-нибудь Parrot всё таки обладает хорошим потенциалом для развития. Есть же успех у 1с.

     2016/01/11 00:03, Автор сайта

«Глагол» - язык вполне универсальный. Его исходники у меня есть, могу их выложить в сеть (хотя его автор мне неизвестен и полномочий таких не давал – но можно рискнуть). Думаете, это что-то изменит?

Ну да, локализовал, и дело с концом. И делать ничего не надо. «Нечего изобретать велосипед». Приклеил этикетку на русском языке – вот тебе и локализация. Я, к примеру, русифицировал C/C++. В сравнении с полноценным компилятором это – тысячные доли процента добавленного труда. По трудозатратам сравнимо с изготовлением русской этикетки для айфона. Конечно, хочется свой велосипед, но куда там… Вот так и живём.

     2016/01/11 17:32, Leo

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

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

Ну да, локализовал, и дело с концом.

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

     2016/03/11 13:52, Городняя Лидия Васильевна

школьные задачи были достаточно просты: в задачах имелось лишь несколько переменных.

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

надо давать идентификаторам такие имена, которые бы исчерпывающе описывали сущность именуемого объекта.

Не видела массового владения навыками «исчерпывающе описывать сущность именуемого объекта» или обучения таковым. Зато видела много примеров, когда программист выходит на уровень понятий, не имеющих естесвенноязыкового выражения вообще и попадает как бы в позицию собаки, которая всё поняла, но сказать об этом не умеет.

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

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

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

Опыт общения не влечёт глубину знания, т. к. и родной язык мало кто глубоко понимает. Англоязычные программисты жалуются, что «выражаться четко и глубоко» им мешает смысловой разброс, о котором иностранцы не осведомлены.
Словарный запас и знание языка — две большие разницы. «Выйди из-под себя и зайди из-под мной»

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

Опыт Русского диктанта и Поттосинской олимпиады по программированию показывает, что это возможно. На раскрутку требуется примерно 3-5 лет. Можно создать моду.

     2016/04/13 18:12, rst256

Не видела массового владения навыками «исчерпывающе описывать сущность именуемого объекта» или обучения таковым. Зато видела много примеров, когда программист выходит на уровень понятий, не имеющих естесвенноязыкового выражения вообще и попадает как бы в позицию собаки, которая всё поняла, но сказать об этом не умеет.

Может просто стоит напомнить что переменным стоит давать мнемонические имена?
Можно даже об этом не задумываться: после 10-20 сеансов активного выяснения вопроса "как же я тебя назвал?" либо "для чего я это тут использовал?" любое даже самое бессмысленное имя неизбежно станет для вас мнемоническим.

     2016/04/13 18:58, rst256

Опыт Русского диктанта и Поттосинской олимпиады по программированию показывает, что это возможно. На раскрутку требуется примерно 3-5 лет. Можно создать моду.

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

     2016/04/15 02:41, rst256

Конечно, для умного и образованного человека выучить английский язык – задача посильная. Но он все равно будет не родной язык.

С тем же успехом, можно сказать.
- Конечно 2 или 3 тоже цифра, но она все равно не будет 1.
Значит ли это что 1 лучше?

     2016/04/15 09:30, rst256

Отмечу только, что «в центр» такой системы логично поместить язык, обеспечивающий «ортогональность» семантики и лишенный неоднозначностей. В теории, наилучший кандидат на эру роль – эсперанто.

Эсперанто, это даже не смешно, какие еще кандидаты там были и были ли вообще?
Логлан например http://loglan.euro.ru/

     2016/04/15 15:46, Автор сайта

Искусственные языки нейтральны для всех. Нет тех, кому не нужно учить эти языки, нет «привилегированных». Эсперанто – самый распространённый среди них. С этих точек зрения всё логично. За отсутствие неоднозначностей в Эсперанто говорил тот факт, что поначалу в языке не было омонимов, фразеологических оборотов типа «у семи нянек дитя без глазу». Но и сейчас там ситуация лучше, чем в русском или английском.

Ну и Лидия Васильевна права в том, что употребление родного языка часто зачастую ничего не гарантирует. Вспомним знаменитое косноязычие Черномырдина.

     2016/04/24 02:02, rst256

Всё, что не понимает компьютер, ты будешь делать сам. Давай лезь со своей культурой и языком в программирование, ты же человек, у тебя есть право на это.
Ну и пиши все сам на своем кривом языке человек, раз не хочешь говорить на понятном машине языке. Никогда особой помощи от нее и не дождешься.
Тебе помочь? 598375389875345.
Ок, не надо так не надо.

     2016/04/30 18:18, rst256

Про "598375389875345" извините накипело :-)
Вот господа любители русского языка, кто знает в нашем языке слово "русский" в таком контексте:
http://i026.radikal.ru/1604/0a/0f267ea5b8b5.jpg
правильно написано? A то мы с прописной, когда тот же "English" – с заглавной.

     2016/05/05 12:42, Автор сайта

Англичане пишут названия языков с заглавной буквы: «English», «Russian», «Dutch». У нас другая традиция, мы пишем с маленькой: «английский», «русский», «голландский». В грузинском языке вообще нет заглавных букв. Только традиция – ничего личного.

     2016/07/20 02:51, Алексей

Я не могу знать, к кому пытался приклеить ярлык "кучки быдлокодеров" автор одного из комментариев, но скорее всего, к самому себе, только на подсознательном уровне. Ведь как объяснить неприязнь к людям, желающим творить на родном языке? А объяснение, как мне кажется, очень простое. Появление удачного языка программирования с русским синтаксисом приведёт к исчезновению преграды, которой, по сути, является знание английского языка, не позволяющей многим желающим научится программировать. А такие желающие могут стать для "ИТ-специалиста сумевшего выучить английский язык на ОЧЕНЬ низком уровне" достойными соперниками за тёплое место и кофеварку на рабочем месте.
Вот и кричат такие спецы на различных форумах о негодности Русского языка для программирования, оно и понятное дело, белыми и худенькими ручками да за метлу браться не очень то охота, да и от самолюбия никуда не деться.

     2016/08/14 03:37, rst256

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

40-50 ключевых слов, чья семантика будет немного совпадать с функциями этих слов в языке программирования, и возможность писать идентификаторы русскими буквами – неужели это является преградой? И постойте-ка, разве одна из самых востребованных вакансий для программиста в России не требует случайно знания 1С? Русского языка программирования!

     2016/09/05 15:28, Игорь Луганский

Язык программирования с русским синтаксисом важен и нужен. Даже не так, ЯЗЫКИ ПРОГРАММИРОВАНИЯ (во множественном числе) важны и нужны.
Потому что без ЯП с родным синтаксисом мы так и будем плестись вторым-третьим номером, не смотря на то, что наши программисты вобщем-то более талантливые. Но, все портит порог вхождения. Если американский школьник, используя ЯП с англоязычным синтаксисом, может начинать свои первые программки едва освоив чтение и азы математики, т.е. эквивалент нашего 2-3 класса общеобразовательной школы, то нашим школьникам сначала надо доучиться до 4-5 класса, начать изучать английский, и только потом заниматься программированием. А потеря двух-трех лет влияет очень сильно.
И, кстати, я боюсь и не могу представить, что было бы, если б американских школьников заставили изучать программирование на языках с русским синтаксисом. :)
Но это еще не все плюшки. Таким образом можно прервать "утечку мозгов" в западные страны. Программист, каким бы талантливым он ни был, для западных IT-компаний интересен как программист на англоязычных ЯП. А это значит, что русский программист со знанием "русского" ЯП будет востребован и сможет реализовать свои таланты только у себя на Родине. Не 100%-ный фильтр, но "утечку мозгов" из ИТ сферы сократит порядочно.
И сейчас, когда Россия под санкциями, когда правительством взят курс на импортозамещение, надо "ковать железо пока горячо". Писать электронные обращения к президенту, идти к депутатам, в СМИ. Сейчас важен даже не готовый продукт, а политическая воля к его внедрению. Почему это важно? Потому что политическая воля может обеспечить админресурсом (в хорошем смысле этого слова). Где-то грант выделить, а где-то подключить вычислительные (и человеческие) мощности технических ВУЗов и НИИ. А это сотни и тысячи человеко-часов в едином импульсе. Это же СИЛИЩА!!! Сотня студентов, каждый из которых в рамках курсовых или дипломных работ, напишет по одной русифицированной функции, в итоге сделает за неделю или месяц то, что один программист будет делать годами.

Вообщем, дело важное и дело нужное.

     2016/09/08 07:02, rst256

Язык программирования с русским синтаксисом важен и нужен. Даже не так, ЯЗЫКИ ПРОГРАММИРОВАНИЯ (во множественном числе) важны и нужны.

Так поддержите их, купите ПК Эльбрус например поддержав тем самым русский язык Эль-76.
Если вы работаете в сфере связанной с ФСРАР или ЕГАИС, невзирая на штрафы объявите бойкот этим сервисам, ведь они написаны на языках с англоязычным синтаксисом, что согласитесь для гос. сектора не есть гуд, хотя я считаю альтернатив просто не было.

Но, все портит порог вхождения. Если американский школьник, ...

Да что вы говорите, а ничего что неспособность запомнить около 100 слов, по сути ПРОСТО СЛОВ, а не иностранных слов, ибо идут они без грамматики и произношения, да и семантическая нагрузка у них вообщем то далека от оригинальной. Это порог вхождения в олигофрены?

то нашим школьникам сначала надо доучиться до 4-5 класса, начать изучать английский, и только потом заниматься программированием.

Хм, а как английский связан с программированием? Если что изучение иностранного языка, то это в основном грамматика и произношение, это в программировании не требуется. Названия функций из стандартной библиотеки того же Си, которые вы бы смогли найти в обычном англо-русском словаре, можно пересчитать по пальцам. А тех, чей перевод вам хоть что чем-то помог, так и вообще по пальцам одной руки! Есть такая штука как профессиональный сленг. Попросите перевести какой-нибудь мануал учителя английского языка. И поймете как сильно помогает знание чистого английского программисту.

Может врачам тоже латынь не учить, пусть переводчикам пользуются? Сразу наверное качество медицины повысится за счет уменьшения числа больных к здоровым. Подумаешь in vivo с in vitro перепутал, ввел больному in vivo то, что даже in vitro в перчатках и маске в пробирку капают!

Не надо искать проблемы там, где их нет. Если знание английского не мешает обучать программированию, начиная хоть с детского сада, а оно НЕ МЕШАЕТ, то наверное нужно просто взять и ОБУЧАТЬ, даже наличие ЭВМ для этого не требуется, а по моему скромному мнению на начальном этапе даже вредно.

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

http://jyrnalist.ru/novovvedeniya-v-matematike-ili-kak-pravilno-reshat-zadachi/

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

Куда смешнее было бы заставить их изучать классическую версию своего родного языка, или писать прописью. Вот это было бы жестоко, а 50-60 странных слов они осилят, все ж таки не олигофрены вроде бы поголовно они там.

Таким образом можно прервать "утечку мозгов" в западные страны.

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

И сейчас, когда Россия под санкциями, когда правительством взят курс на импортозамещение, надо "ковать железо пока горячо".

Вот это правильно, сначала железо, а потом уже софт. А то все равно кому-то придется для нас документацию по железу переводить, и

Писать электронные обращения к президенту, идти к депутатам, в СМИ. Сейчас важен даже не готовый продукт, а политическая воля к его внедрению.

А когда уже продукт важен то будет? Напомнило один старый анекдот:

- тов. Председатель может лучше дояркам сортир теплый поставим, давно обещаем тогда и производительность вырастет, там же из за этого половина сотрудниц постоянно на больничном?
- Нет, сейчас нам важен не сортир, сортир нас от недостачи уже не спасет!
- Сейчас важнее показать областному руководству нашу политическую волю к борьбе за показатели!
- Будем ставить памятник Ленину, это способ проверенный и надежный. Мотай на ус пока я на повышение не пошел, это тебе не сортиры ставить, тут политическое мышление надо иметь дурень!

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

А я думал, что все в курсе что рабский труд в высокотехнологичном и наукоемком производстве не эффективен. Еще Публий Сервилий писал что подобный подход неэффективен, ибо рабы портят поля и ломают высокотехнологичное оборудование (плуги, мотыги, быков и т.п.) в общем преследуют диаметрально противоположные заказчику цели, а затраты на контролирующие их деятельность вольнонаемный персонал (надсмотрщиков) гораздо выше затрат при использовании материально заинтересованного персонала (крепостных).
Студент диплом сдал и свободен. А баг в его коде всплывет через год, кто его исправлять будет? И если вы полагаете, что русский ЯП дает +100 очков к умению читать чужой код, тогда почему это не работает у англоязычных программистов с английскими ЯП?

     2016/09/12 00:24, Игорь Луганский

Так поддержите их, купите ПК Эльбрус например, поддержав тем самым русский язык Эль-76.

демагогия.

Да что вы говорите, а ничего, что неспособность запомнить около 100 слов, по сути ПРОСТО СЛОВ, а не иностранных слов, ибо идут они без грамматики и произношения, да и семантическая нагрузка у них вообщем то далека от оригинальной, это порог вхождения в олигофрены?

Демагогия. Если бы эти "100 слов" не несли в себе ни какой семантической нагрузки, в ЯП вообще не было бы надобности. Кодили бы по старинке нулями и единицами.

Хм, а как английский связан с программированием? Если что изучение иностранного языка – это в основном грамматика и произношение, этого в программировании не требуется, названия функций из стандартной библиотеки того же Си, которые вы бы смогли найти в обычном англо-русском словаре, можно пересчитать по пальцам,... Есть такая штука как сленг, профессиональный, попросите перевести какой-нибудь мануал учителя английского языка и поймете, как сильно помогает знание чистого английского программисту...Может врачам тоже латынь не учить, пусть переводчикам пользуются?...

Для особо одаренных, поясняю медленно. Да, количество функций в стандартных библиотеках ограничено, и (спорное утверждение, но допустим) грамматики и произношения не требуется. Осталось найти сферического программиста в вакууме, который пользуется исключительно стандартной библиотекой, при чём с минимальным количеством опций и ключей, потому что для того, чтобы в них разобраться, уже требуется читать мануалы. А помимо этого для каждого ЯП есть описание стандарта, которое, для плюсов, например, всего ничего - 700 страниц аглицкого текста. Для этого тоже сотни слов (которые без семантики, грамматики и произношения) хватит?
Кстати, о латыни и медицине. Каких-то 300-400 лет назад естественные науки и все богословие преподавалось исключительно на латыни и греческом. Что ни коим образом не способствовало распространению ни медицины, ни науки в целом. А за то, на каком языке читать псалмы, в "просвещенной Европе" вообще покрошили народу немеряно. Но итог известен: каждый теперь молится и изучает науку на РОДНОМ языке, используя лишь отдельные элементы в виде международных единиц и обозначений.

Не надо искать проблемы там где их нету, если знание английского не мешает обучать программированию, начиная хоть с детского сада (а оно НЕ МЕШАЕТ), то наверное нужно просто взять и ОБУЧАТЬ, даже наличие ЭВМ для этого не требуется. По моему скромному мнению на начальном этапе это даже вредно.

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

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

Учитывая, как рьяно сейчас некоторые страны пытаются пересмотреть итоги Второй Мировой, не считаю зазорным пересмотреть итоги холодной.

Куда смешнее было бы заставить их изучать классическую версию своего родного языка, или писать прописью. Вот это было бы жестоко, а 50-60 странных слов они осилят, все ж таки не олигофрены вроде бы поголовно они там.

Внезапно! Лос Альтос, Калифорния. Технический директор eBay отправил своих детей в школу без компьютеров. Так же поступили сотрудники и других гигантов Силиконовой долины: Google, Apple, Yahoo, Hewlett-Packard. "РукаМосквы" не иначе. На самом деле, изучение классической версии родного языка и развитие мелкой моторики рук еще ни кому не помешало. Умные люди это понимают. Понимали это и в СССР.

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

Прошедшие 25 лет наглядно продемонстрировали, что от железного занавеса пользы было больше, чем вреда. Вас всё еще пугает жупел "1984" Оруэлла, хотя сами давно живете в мире Олдоса Хаксли. На самом деле ни какого занавеса не потребуется. "Изучающие аглицкий" при наличии массового русскоязычного сегмента погоды не сделают.

А когда уже продукт важен то будет? Напомнило один старый анекдот

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

А я думал все в курсе, что рабский труд в высокотехнологичном и наукоемком производстве не эффективен...

Снова демагогия, причём характерная для человека с рабской психологией, везде видящего угнетение. Если заменить абстрактные и никому не нужные задачи и темы, высосанные из пальца, конкретными, полезными и нужными, то в чём здесь рабство? Студенты получают реальный опыт разработки реального ПО, тот самый опыт, без которого, этих самых студентов, потом после выпуска, не хотят брать на работу. Так в чем проблема?

Студент диплом сдал, и свободен. А баг в его коде всплывет через год, кто его исправлять будет?

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

И если вы полагаете что русский ЯП дает +100очков к умению читать чужой код, тогда почему это не работает у англоязычных программистов с английскими ЯП?

Потому что это не русские программисты ;)

     2016/09/16 23:52, rst256

А помимо этого, для каждого ЯП есть описание стандарта, которое, для плюсов, например, всего ничего - 700 страниц аглицкого текста. Для этого тоже сотни слов (которые без семантики, грамматики и произношения) хватит?

Ну будет у вас документация к языку (не говоря уже о том что для большинства популярных языков они и так есть), а как быть с документациями к "железу", сторонним библиотекам и операционным системам? Вы поймите: я не против русского ЯП, я против заблуждения, что он сам по себе ничего не изменит. Просто не ждите от него чуда.

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

Для изучения программирования как такового он не нужен, но сейчас при разработке ПО без него никак не обойтись.

     2017/01/15 17:23, рст256

Программирую 5 лет и вот что скажу: запись типа процедура Алг = функция() просто убивает, потому что русский язык нельзя сокращать – это кощунство. Русский язык создан для полноты раскрытия слова, это язык для СЛОВА, которое полным своим ЗВУЧАНИЕМ передаёт смысл. А английский язык – это как раз то, что надо. Его можно хоть через одну букву сокращать. И ещё одно: почему японцы не делают язык программирования на японском? Правильно, потому что понимают, что для этого лучше английского нету.

Даже боюсь предположить что Вы в таком случае испытываете когда встречаете в обычном русском тексте "г.", "кр-я", "м.п.", "и т.д." и так далее. Или это касается только программирования? Но тогда я не совсем Вас понимаю, ведь в случае с языком программирования это как раз таки будет именно язык программирования с русскими ключевыми словами.

P.S. А "язык программирования на японском" существует, например 「なでしこ」(или "nadesiko" романдзи), исходный код доступен по ссылке https://github.com/kujirahand/nadesiko

     2017/01/17 12:33, Автор сайта

встречаете в обычном русском тексте "г.", "кр-я", "м.п.", "и т.д."

Да, жаль, что сокращения, которые мы можем делать при письме, не можем употребить в программах. Точки и дефисы имеют совсем иную роль в тексте программ. А ведь сокращения дают сжатие текста без потери смысла.

     2017/02/07 13:40, psnhome

Я, к сожалению, не программист. Интересуюсь просто и тоже хочу на русском... Вот автор rst256 дает ссылочку http://jyrnalist.ru/novovvedeniya-v-matematike-ili-kak-pravilno-reshat-zadachi/ на каком языке? Мне кажется, этим все сказано в пользу программирования на русском. Может быть, тогда и учебники путёвые будут по программированию.

     2017/02/07 14:23, psnhome

Еще пять копеек. Далеко не все являются Штирлицами и думают на русском. Бесконечная перекомпиляция в голове с одного языка на другой и обратно – просто лишняя работа и, как следствие, бесполезная: слабовата отдача или кпд (как хотите). Всё должно быть своё. Пусть лучше, пусть чуть хуже, но это практическая независимость. Если хотите безопасность. Что-то, вопреки указанию нашего правительства, мало кто в администрациях перешел на свободные Linuxы в 2015 году. А своей операционки нет, приложений нет и на чем это делать – тоже нет. И вообще разговор идёт о создании русскоговорящих ЯП, а не о невозможности их создания. И богатство языка дает больше возможностей для ЯП. Ну, неужели из большего нельзя выбрать/создать меньшее?

     2017/08/27 19:45, Leo

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

Создать язык с русскими операторами профессиональным программистам - вполне посильная задача, но им за это не платят. Не платит ни государство, ни коммерческие структуры, так как не нужно - всё и так работает, с использованием других языков. На голом энтузиазме такого рода проекты не должны работать. Поэтому первое что нужно - финансирование.

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

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

Мысли по поводу этих трёх тезисов:

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

2. Цель создания - решение прикладных задач без изучения иностранных языков - аналог Java/PHP/Ruby/ASP.NET с русским синтаксисом и документацией, с возможностью писать приложения/скрипты под разные платформы на родном для многих русском языке.

3. Актуальность языка - когда на нём действительно пишут. Для того чтобы на нём писали должно быть сформировано сообщество людей, знающих этот язык. Чтобы сформировать такое сообщество мало создать сам язык, нужно создать возможность зарабатывать с помощью него. Для этого кроме базовых решений - самого компилятора/интерпретатора языка, сайта с хорошей справочной информацией по языку, первичного набора библиотек нужны специализированные решения, такие как среда разработки приложений на этом языке, возможно среда выполнения внутри которой можно будет запускать программы на этом языке, решения по защите кода, написанные на этом языке заинтересованными лицами и прочее и прочее. Нужно дать людям возможность зарабатывать с помощью написания программ на этом языке при этом сам язык, средства разработки и информационные материалы должны предоставляться на бесплатной основе, всегда. Только в таком случае язык будет по настоящему использоваться и обретёт сторонников, а значит сможет развиваться и будет конкурентным.

     2017/10/07 18:24, Алексей

Уважаемый автор! Возможно, мне кажется, Вы не очень любите русский язык. Я так понимаю, он родной для Вас. Теперь ничего не сделаешь, а лучше сказать, это долго и муторно написать язык программирования на русском языке, но... это очень даже возможно. Просто надо много времени. Вычислительная машина (вообще любая) не знает никаких языков. Если ударяться в глубину, то транзисторам понятны только электрические заряды. На уровне повыше те самые кодовые таблицы(аски и юникод). У нас повинен Никита Сергеевич в этом. Это он не принял предложение Виктора Глушкова о внедрение автоматизированных систем везде, где только возможно. У нас тогда ещё и троичные машины начали развиваться. А американцы дуром развивали двоичный шифр (код). Компилятор на русском языке – это намного более интересная вещь чем на английском. Я абсолютно уверен. Во все остальные сказки про английский язык я уже месяцев 9 как не верю. Ну, думаю, моя мысль понятна. Простите, если что не так. Доброго времени суток!

     2017/12/19 00:30, Бекас

Несколько мыслей по итогам обсуждения:

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

2. Язык должен быть НАСТОЛЬКО ПРОСТ для русскоговорящего и иметь такие "вкусные" библиотеки (в т.ч. на первых порах с прицелом на работу с графикой и создание игр), чтобы школьники и студенты были кровно заинтересован учить этот язык на хорошем уровне, а попутно раскрывать и другие его возможности. Такой "дешёвый популизм" очень важен и нужен на раннем этапе, когда надо показать неофиту ФОКУС, чтобы он пошёл за вами.

3. Важен остроумный выбор сокращений и ключевых слов – вместо исковерканного естественного языка нужно получить русский машинный язык, функциональный, но и обязательно ПРИЯТНЫЙ для человека. Возможно, это моя фантазия, но уместная лёгкая эмоциональная (возможно, ироничная) окраска команд и конструкций, могла бы скрасить и ускорить процесс разработки, сделать код легкочитаемым и понятным.

     2018/04/16 10:27, Олег

Тема важная. Возможно, яростные противники развития информатики на основе Великого и Могучего, знают "нечто", о чем боятся русским даже намекать. Предлагаю:

1. Эту ветку "освежить" и охват аудитории расширить (способы не рассматриваю).

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

3. "Утечку мозгов" надо предотвращать уже сейчас, даже на уровне подобных обсуждений.

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

     2018/04/16 14:43, Олег

P.S. И еще, ОЧЕНЬ ВАЖНО! Наступили "мутные" времена, когда у нас на глазах исчезают самя понятия: правда, доверие, достоверные источники, доверенные лица... Становится невозможным быть уверенным в ком-то и в чем-то! ПОЭТОМУ, КАТЕГОРИЧЕСКИ НЕ РЕКОМЕНДУЮ ВЫКЛАДЫВАТЬ НАШЕ ИНТЕЛЕКТУАЛЬНОЕ БОГАТСТВО "ГДЕ ПОПАЛО" И "КОМУ ПОПАЛО"!

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

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

Вопрос о "модернизации" русского языка может интересовать не только носителей "по духу", но и противников, желающих получить первыми то, что по праву РОДА и СЛОВА должно принадлежать нам. Вот и идут к нам ложные русофилы «с русским в руках», а по сути волки в овечьей шкуре. Не надо с русским идти к нам, просто любите его, живите по его духу и запомните: русскость это не только слово, но и дело. Словом русский язык начинается, а делом русский дух определяется! Не должны мы для них "препарировать" русский язык и уравнивая его с английским, вставлять в их лекала (модели и концепты ЯП, облегчая им задачу по сбиванию судьбы русского языка с истинного пути). У русского языка более богатая судьба. Богатая, живая и «полнокровная». Американские модели и концепты ЯП добили и без того бедный английский язык. А с большой буквы - Английский, они пишут от того, чтоб хоть так его возвысить, а русский возвышать не надо, он и так велик и могуч.

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

PPS. Вторую ветку надо создавать, но только хотя бы в зоне ru или рф, а автор сидит в зоне su и интересуется)))

     2018/04/16 15:09, Олег

PPPS. Понятно, что "место правды" должно еще созреть. Предлагаю маркер, по нему и соберемся в нужном месте: кто первый создаст и подтвердит "место", пусть тот маркер и выкидывает. Остальные могут периодически зондировать через поисковики. Маркер: "Словом русский язык начинается, а делом русский дух определяется!"

     2018/04/22 11:04, Автор сайта

Зона «su» выбрана потому, что аналогичное имя в «ru» занято. В английском все названия языков пишут с большой буквы, в русском — с маленькой; ничего личного — просто традиция. Найти соратников, единомышленников можно на форумах remdev.org, ruscomp.24bb.ru, rus.24bb.ru. Там можно организовывать дискуссии разной степени открытости/закрытости.

     2018/05/03 11:51, kt

еще одна статья на тему родного языка

http://files.rsdn.org/122727/pl1ex24.doc

Написать отзыв

Написать автору можно на электронную почту mail(аt)compiler.su

Авторизация

Регистрация

Выслать пароль

Карта сайта


Каким должен быть язык программирования?

Анализ и критика

Устарел ли текст как форма представления программы

Русский язык и программирование

Многоязыковое программирование

Синтаксис языков программирования

Синтаксический сахар

Некоторые «вкусности» Алгол-68

«Двухмерный» синтаксис Python

Почему языки с синтаксисом Си популярнее языков с синтаксисом Паскаля?

Должна ли программа быть удобочитаемой?

Стиль языка программирования

Тексто-графическое представление программы

●  Разделители

●  Строки программы

●  Слева направо или справа налево?

Комментарии

●  Длинные комментарии

●  Короткие комментарии

●  Комментарии автоматической генерации документации

●  Нерабочий код

Нужны ли беззнаковые целые?

Шестнадцатиричные и двоичные константы

Условные операторы

Переключатель

Циклы

●  Продолжение цикла и выход из него

Некошерный «goto»

Операции присвоения и проверки на равенство. Возможно ли однаковое обозначение?

Так ли нужны операции «&&», «||» и «^^»?

Постфиксные инкремент и декремент

Почему в PHP для конкатенации строк используется «.»?

Указатели и ссылки в C++

Использование памяти

Почему динамическое распределение памяти – это плохо

Как обеспечить возврат функциями объектов переменной длины?

●  Типы переменного размера (dynamically sized types, DST) в языке Rust

●  Массивы переменной длины в C/C++

●  Размещение объектов в стеке, традиционный подход

●  Размещение объектов переменной длины с использованием множества стеков

●  Размещение объектов переменной длины с использованием двух стеков

●  Реализация двухстековой модели размещения данных

●  Двухстековая модель: тесты на скорость

●  Размещение объектов переменной длины с использованием одного стека

Можно ли забыть о «куче», если объекты переменной длины хранить в стеке

Безопасность и размещение объектов переменной длины в стеке

Массивы, структуры, типы, классы переменной длины

О хранении данных в стеке, вместо заключения

Описание языка

Компилятор

Отечественные разработки

Cтатьи на компьютерные темы

Компьютерный юмор

Прочее

Последние комментарии

2018/06/14 00:37, rst256
Лень — двигатель прогресса

2018/05/31 18:52, rst256
Программирование без программистов — это медицина без врачей

2018/05/31 17:57, rst256
Циклы

2018/05/31 17:50, Comdiv
Разбор цепочек знаков операций

2018/05/31 17:42, Comdiv
Как отличить унарный минус от бинарного

2018/05/30 18:57, Александр Коновалов aka Маздайщик
Раскрутка компилятора

2018/05/29 21:52, Автор сайта
Указатели и ссылки в C++

2018/05/28 20:29, Александр Коновалов aka Маздайщик
Анонс будущих статей