Почему нет русских языков программирования
Перейти к содержимому

Почему нет русских языков программирования

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

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

Это будет некая стимуляция к изучению нашего языка во всём мире.

1С написана вроде по-русски, но чудовище ещё то..

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

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

Нужно сделать его используемым, чтоб им пользовались..

Чтоб на нём создавались прикладные программы..

Сделать язык на основе кальки с имеющегося, просто переводя команды на русский язык? Вместо "фор" — "для", "иф" — "если"?

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

Да и служебных слов в языках не много, основных — с десяток.. Выучить несколько слов — сложно?

"Если это работает — не трогай". А появившиеся и появляющиеся всё время языки программирования на основе английского вокабуляра работали — так стоило ли городить огород?

Аргумент "тем, кто не знает русского и это гуд для секретных разработок" — вообще смешной. Вы что думаете, что те, кто занимается анализом "секретных разработок", незнаком или не по силам русский язык? И ещё один вопрос: как знание английского помогает разобраться в двоичном коде Windows? Потому что у секрентных разработок секретен именно исходный код. Двоичный — вот он, исполняемый файл. Вперёд, декомпилируйте, если получится.

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

Потому что качество программ, как и их защищённость (когда такое требуется), зависит вовсе не от алфавита, который используется для написания кода. Хоть это-то понятно?

Можно ли написать программу на русском языке?

Рубрика странных вопросов. Отвечаем серьёзно: да, можно, но в этом нет большого смысла.

Всё дело в интерпретаторе

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

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

  1. Берём код на русском языке.
  2. Переводим каждую команду обратно в исходный вид в оригинальном языке.
  3. Так делаем с каждой командой.
  4. Получившийся код запускаем с помощью оригинального компилятора или интерпретатора.

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

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

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

Другой вариант — использовать директивы вроде #define в языке C и C++. Смысл #define в том, что перед компиляцией все слова, которые мы таким образом определили, заменяются на изначальные. И тогда можно написать что-то такое:

#define НЕТ false

#define АНЕТО else

#define ВЫВОД printf

#define ОТДАЛ return

И получится что-то такое (не вдаваясь в подробности):

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

А ещё есть два известных языка программирования, где весь синтаксис изначально реализован на русском: КуМир и язык программирования 1С.

КуМир

КуМир — это сокращение от Комплект Учебных МИРов. Его разработал советский математик Анатолий Кушниренко, но придумал его академик Андрей Ершов.

КуМир — это специальный язык для обучения школьников и студентов, которые до этого не изучали программирование. В КуМире есть исполнители — Робот, Чертёжник, Кукарача и другие. У каждого из этих исполнителей есть свой язык команд, которыми можно ими управлять. Например, Робот может двигать ячейки по полю, а Чертёжник — что-то рисовать на холсте.

Главный плюс КуМира — простота для детей, чтобы им было легче разобраться с основными понятиями. Например, ЭТО Бегемот задаёт переменную «Бегемот», ПОВТОРИ — это цикл, а « ЭТО…КОНЕЦ » позволяет организовать функцию.

Можно ли написать программу на русском языке?Код для Кукарачи

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

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

Язык программирования 1С

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

С простыми программами всё понятно:

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

А можно просто рассказать компьютеру по-русски, что нужно сделать?

Можно, но компьютер ничего не сделает.

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

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

Компьютерная грамотность с Надеждой

Заполняем пробелы — расширяем горизонты!

Русский язык программирования, а почему бы и нет?

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

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

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

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

Как будто никогда не было в русском языке программирования таких команд, как «ЕСЛИ», «ТО», «ИНАЧЕ» вместо «IF», «THEN», «ELSE». Или, например, вместо «GO TO» как будто не было команды «ИДТИ НА», без третьего слова, привычной для российского уха идиомы…

Что интересно, русские вычислительные машины понимали не только команду «ИДТИ», но и «ИТТИ», а также «ИЙТИ». Это не связано с неграмотностью разработчиков, которые создавали подобные языки программирования. Это было обусловлено тем, что трансляторы и интерпретаторы русских языков программирования срабатывали на первую букву команды, и уже было неважно, какие символы использовались далее.

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

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

Например, существовал язык программирования АНАЛИТИК. Он работал на вычислительных машинах МИР не только с численными, но и с аналитическими выражениями. Как видим, название «МИР» использовалось не только для наименования космической станции.

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

Разработчики АНАЛИТИКа сделали иначе. И это больше никто не смог повторить, а именно. Они установили, что в отсутствии значения переменной ее значением становится имя переменной!

Например, пусть переменная B равна 2, а значение переменной A не определено. Тогда во всех языках программирования выражение C=A+B автоматически приводит к ошибке в выполнении программы. Но только не в АНАЛИТИКе.

В этом «русском» языке программирования такое выражение присваивало переменной C значение (A+2). При этом никакой ошибки не возникало. Программа продолжала работать с подобными аналитическими выражениями.

Например, выражение D=C+C присваивало переменной D значение (2*A+4), так как:

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

  • с раскрытием скобок,
  • без раскрытия скобок,
  • с приведением подобных членов.

Русские команды Интегрировать и Дифференцировать

Также присутствовали команды языка программирования, которые могли вычислять первообразную функции (команда «ИНТЕГРИРОВАТЬ»), и определять производную функции (команда «ДИФФЕРЕНЦИРОВАТЬ»).

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

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

О перспективах

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *