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

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



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

Сообщений 1 страница 3 из 3

1

Разрабатывается с 2015 года. В настоящее время разработка ведётся в закрытом режиме во избежание утечки идей.

Основные особенности:

- транслятор в платформу Common Lisp
- горячая замена кода (возможность изменять структуру данных и функции во время выполнения)
- ООП
- перегрузка операций
- замыкания
- сборка мусора
- статическая типизация

Состав проекта:

- среда разработки (наиболее развитая часть), включая редактор, отладчик и консоль
- транслятор (в настоящий момент переделывается)
- средства подключения библиотек, написанных на Common Lisp, tcl и Си

Сайт проекта - https://bitbucket.org/budden/yar

0

2

Язык находится в процессе разработки. Он представляет из себя обёртку над классическим "языком искусственного интеллекта" - лиспом. Яр содержит несколько технических новинок, которые я пока не могу раскрыть, и должен получиться уж точно не хуже других популярных ныне языков, таких как Python или PHP. Правда, впереди ещё очень много работы. Нам нужно как-то достучаться до государства, чтобы получить дополнительное финансирование и ускорить разработку. Иначе нас просто "съедят" конкуренты (а сейчас свои языки программирования разрабатывают Эппл, Гугл и прочие монстры компьютерного мира). Попытка делать что-то русскоязычное встречает открытую вражду большинства программистов, поскольку в мире ИТ принято считать, что английский - это всё, а русский - это так, анекдоты травить. Я подобрал доказательства обратного: успех фирмы 1С с русскоязычным языком программирования и полностью русскоязычной платформой (программисты 1С - самые востребованные в России - на них спрос выше, чем даже на программистов для языков общего назначения типа Java или PHP). Обычно в ответ на эти доказательства меня начинают поливать грязью на программистских форумах. Причин несколько, не будем в это углубляться. Коротко говоря, нам предстоит битва за то, чтобы русский язык занял достойное место в мире компьютеров, хотя бы в России. Пока же даже в фонде "Русский мир", мне сказали, что я обратился не по адресу.

Есть и другие русскоязычные языки. Например есть "школьный алгоритмический язык", включённый в ЕГЭ. Но он слишком простой и ни для чего серьёзного не годится. У языка 1С тоже есть свои минусы, несмотря на его огромный успех.

Поэтому мы делаем свой проект.

Второй анонс. Кроме языка, нужно развивать ещё и терминологию. Многие компьютерные термины имеют устоявшиеся переводы, а некоторые не имеют русских аналогов. Например, есть аббревиатура FIXME, которой отмечают место в программном коде, которое нужно когда-нибудь потом поправить. Я это перевожу как ПРАВЬМЯ. А вот для сокращения TODO я аналог не придумал пока что. Я веду такой словарь для нужд нашего проекта, чтобы всегда использовать один и тот же перевод для одного и того же английского термина. Но я хотел бы, чтобы он стал словарём для более широкого круга людей. Принцип его прост - любой желающий может отправить запрос на доступ в "таблицу гугл" и получить свою область в словаре, где можно вводить переводы существующих слов и добавлять свои слова. Так обеспечивается бесконфликтность (у всех свои тараканы в голове и свое представление о стиле перевода терминов). Эх, ссылку не могу разместить, но она есть на сайте проекта.

* программирование-по-русски.рф/яр.яргт - официальный сайт

* https://bitbucket.org/budden/iar - репозиторий

* https://vk.com/yar_lisp - ВК группа пользователей ЯР

* https://rusforus.ru/viewtopic.php?t=10134 - ссылка на форум обсуждения

* https://www.linux.org.ru/forum/talks/13019972 - ещё анонс Яру -8 лет

* http://www.cyberforum.ru/other-lang/thread1646597.html - на  Киберфорум - обсуждение

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

Отредактировано тхабрф (09-01-2018 10:41:44)

0

3

Пример кода

/// классы больше похожи на структуры, чем на классы С++
опр класс Па () тело
  Поле1 // поле может содержать произвольный объект
кно // кно - сокращение от 'конец опр'
/// Есть наследование
опр класс Сы (Па) тело
  /// У поля есть тип и значение по умолчанию
  Поле2 -- л-строка = "Значение по умолчанию"
кно
/// 'ПаₒИмя' - это просто идентификатор
опр функ ПаₒИмя(Я -- Па)
тело
  л-печать("Я - Па")
  л-печать(Я.Поле1)
кно
опр функ СыₒИмя(Я -- Сы)
тело
  л-печать("Я - Сы")
  л-печать(Я.Поле1)
  пусть П2 = Я.Поле2
  если не П2 == "Значение по умолчанию" то
    л-печать(П2)
  кне // сокращение от 'конец если'
кно
/// Яр выполняет определения по одному,
/// а идущие подряд несколько функций определяет за одно действие.
/// Если нужно разбить группу функций, то применяется эта конструкция.
Сохрани-результат-компиляции()
опр функ Тест ()
тело
  /// родись - это аналог new или create
  пусть П = родисьₒПа(Поле1 = "1")
  // есть вывод типов, но есть и явное указание типа
  пусть С -- Сы = родисьₒСы(Поле1 = "2")
  П.Имя()
  С.Имя()
кно
/// Функция Тест вызывается во время выполнения скрипта
Тест()

0