Зачем нужен язык программирования с русской лексикой?
Действительно, зачем?
Чтобы ответить на этот вопрос, приведём высказывание одного школьника из белорусской глубинки: «мне программирование не подходит, потому что там всё на английском, а у меня в классе немецкий». Этот забавный случай, причём совершенно реальный, как нельзя лучше отражает суть проблемы: необходимость знания английского языка является серьезным барьером при изучении программирования. Увы, подавляющее большинство современных языков и технологий программирования имеют английскую лексику.
Если же взглянуть на экономику целой страны, то необходимость знания английского языка для внедрения информационных технологий – это куда более серьезная проблема, чем проблема обычного школьника. Получается, что для автоматизации любого предприятия, на котором нигде и никогда не звучит английская речь, требуются инженеры с уверенным знанием английского. Это создаёт дополнительные трудности с подготовкой и удержанием таких специалистов.
Очевидно, что делать свои первые шаги в программировании и применять профессиональные навыки при решении реальных практических задач намного проще на родном языке. Для отдельно взятого человека родной язык ускоряет мышление и упрощает общение. А целой стране он даёт возможность задействовать весь человеческий потенциал для широкого внедрения информационных технологий в экономике.
Бытует мнение, что английский язык уже стал общепринятым стандартом в области программирования, и желающим программировать следует его изучать. Не подвергая сомнению важность и полезность знания иностранных языков, заметим однако, что в своё время и латынь была общепринятым стандартом в области науки… Между тем, расцвет наук в разные эпохи в разных регионах мира удивительным образом совпадал по времени с активным переводом научных трудов на родные языки народов.
Уже есть готовые языки!
Кто-то скажет, что ещё с 1970-х годов существуют промышленные и обучающие языки программирования с русской лексикой. Например, в разное время были созданы языки КуМир, Эль-76, Робик, Рапира, РАЯ, 1С и др. Да, они существуют, но не отвечают требованиям времени (за исключением языка 1С, но сфера его применения ограничена лишь бухгалтерским учётом).
Устаревание и забвение языков программирования, которые создаются лишь с целью обучения, это общая закономерность. В погоне за кажущейся простотой, создатели таких языков изначально упрощают их настолько, что делают непригодными для решения реальных практических задач. Поэтому такие языки не используются в промышленности и, как следствие, мало кому интересны с точки зрения инвестиций в их развитие. В результате они устаревают и забываются.
Что касается профессиональных языков программирования, их главная проблема – это сложность и замкнутость. Входной барьер для изучения типового профессионального языка настолько высок, что лишь люди со специальным образованием способны его освоить. Неудивительно, что если изучение требует многих лет, то такой язык становится не просто средством решения задачи, а чуть ли не жизненным выбором человека. Это ли не причина технологической замкнутости людей, «познавших» такой язык?
Особняком в череде языков программирования стоит язык Pascal и его диалекты. Язык был создан Никлаусом Виртом и получил широкое распространение и в обучении, и в промышленности, благодаря, в том числе, коммерчески успешным средствам разработки Turbo Pascal и Delphi. Эти системы обеспечили популярность и долгую жизнь языку. Но в свою очередь и создание этих систем стало возможно потому, что сам язык был для этого пригоден. Никлаус Вирт неоднократно повторял, что язык должен быть пригоден и для обучения, и для профессионального применения.
К сожалению, излишняя коммерциализация диалектов языка Pascal и особенно библиотек для создания пользовательского интерфейса привели к тому, что язык, пригодный для обучения и хорошо принятый профессиональным сообществом, потерял былую популярность.
И какой тогда нужен язык?
Нужен универсальный международный язык программирования, имеющий в том числе русскую лексику и бесплатные инструменты с открытым исходным текстом. Язык должен быть пригоден одновременно для профессионального применения и для обучения программированию в школе на родном языке.
Крайне важно, чтобы родная лексика не приводила к самоизоляции языка. На практике это означает, что язык должен изначально поддерживать полную совместимость с популярными платформами, имеющими англоязычные библиотеки: .NET, JavaScript, Java, Swift и др.
Для достижения «бесшовной» интеграции с англоязычными платформами родная лексика должна быть лишь одной из лексик. И между лексиками должен поддерживаться автоматический перевод. Например, программу, написанную изначально на английском языке, должно быть возможно увидеть в переводе на русском языке, и наоборот. Это позволит использовать англоязычные платформы вместе с их богатым набором готовых библиотек так, как будто они написаны на русском языке.
И ещё, язык должен быть красивым и современным, в нём должна быть эстетика.