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

Энтузиасты-разработчики компиляторов и их проекты

Перечень

(в алфавитном порядке, по ссылке — подробнее)

Подробнее

  • Язык программирования 11l.
    Автор: Александр Третьяк.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования .
    Разработчик: компания "1С".
    Трудно представить успех одноимённой программы с англоязычным языком программирования.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Эзотерический Lisp-подобный язык программирования ALLang
    Автор: Геннадий Коваленко.
    Статус: разработка окончена.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования AL-IV (АЛФОР)
    Автор: Владимир Кладов.
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Animo, описание на английском.
    Авторы: Дмитрий Шабанов, Евгений Газдовский
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Argentum
    Автор: пользователь с ником @kotan-11 на Хабре
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования BAYRELL Language
    Автор: Ильдар «vistoyn».
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Cine
    Автор: Александр «Taetricus».
    Статус: проект закрыт.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Cj
    Автор: «sitev_ru»
    Статус: проект развивается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования COLAMO
    Автор: Научно-исследовательский центр супер-ЭВМ и нейрокомпьютеров, г. Таганрог.
    Статус: проект развивается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Context
    Автор: Андрей Хохлов.
    Статус: проект не развивается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Delavar
    Автор: Роман Пристинский
    Статус: проект не развивается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования DEmbro
    Автор: некто, называющий себя Дож.
    Форто-подобный язык.
    Статус: проект не развивается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования ELENA
    Автор: Alex Rakov.
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования GAZ
    Автор: Иван Горчаков
    Статус: развивается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Gentee
    Автор: Алексей Кривоногов
    Последняя версия: 28 октября 2010 г., довольно-таки активен форум.
    Статус: проект не развивается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Языки программирования Jam и Si
    Автор: Игорь ?
    Компилируются в Java.
    Статус: проект заморожен, сайт ishir.ru не работает.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Jancy
    Разработчик: компания Tibbo.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Jpho (или Jfo)
    Автор: Игорь Томасов
    Прототипом языка Jfo является язык Forth. Это скриптовый язык, интегрированный с Java и оперирующий объектам Java.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования K++
    Авторы: Дмитрий Кашицын, Дмитрий Роот.
    Работает поверх собственной виртуальной машины, декларируется кроссплатформенность.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Kotlin
    Разработчики: компания «JetBrains», Андрей Бреслав и коллеги по «JetBrains».
    Единственный из отечественных языков, который в ближайшее время имеет шансы стать «мировым».

    Хотя о том, что Kotlin будет официально использоваться для разработки под Android сообщили только весной 2017 года, на конференции Google I/O 2017, он уже обрел немалую популярность и полюбился разработчикам. Ещё прошлой осенью аналитики компании Realm сообщали, что Kotlin набирает популярность с огромной скоростью. К примеру, в мае 2017 года, до проведения конференции Google I/O, Kotlin использовали 7,4% девелоперов, а к концу сентября 2017 года этот показатель удвоился и составил 14,7%.

    Исследователи Realm полагали, что если темпы роста сохранятся на таком же уровне, то уже к декабрю 2018 года доля Kotlin составит 51% рынка, то есть Java потеряет свое лидерство. В настоящее время Kotlin наиболее популярен в Германии, Японии, Индии, США и Бразилии.

    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования LN
    Автор: пользователь Хабра с ником «Icon0clast»
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования LUX
    Автор: В.М.Паньков
    Статус: проект заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Lviv (Львов, Украина)
    Автор: неизвестен.
    Статус: проект заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Mash
    Автор: Павел Чернов
    Статус: проект заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования NewLang
    Автор: Александр Рябиков
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования o42a
    Автор: Руслан Лопатин
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования ObjectScript
    Автор: Евгений Головин
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования OneScript
    Автор: Андрей Овсянкин.
    Статус: развивается, поддерживается.
    Разработчики декларируют совместимость с языком 1С, при этом OneScript не привязан к платформе 1С, что даёт возможность не связываться с вопросами лицензирования и избежать покупки 1С.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Orion
    Автор: Дмитрий Зайцев
    Статус: проект заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Parser
    Разработчики: студия Артемия Лебедева
    Даже бывают вакансии со знанием этого языка.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Диалект языка программирования PL/1 с оригинальным расширением стандарта.
    Автор: Караваев Дмитрий Юрьевич
    Статус: развивается и поддерживается с 1987 года..
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования PL2
    Автор: Алексей Подоров
    Статус: проект заморожен.
    Кириллические идентификаторы и/или ключевые слова: поддерживается.

  • Язык программирования Rave
    Авторы: коллектив из 4 человек.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Relax
    Автор: Данил «Lofectr».
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Shar
    Автор: Александр «Taetricus».
    развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования SLang
    Авторы: Алексей Канатов, Евгений Зуев.
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Sound
    Автор: Юлий Лапкин.
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования TIScript
    Автор: Andrew Fedoniouk.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Umka
    Автор: Василий Терешков.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Una
    Автор: Сергей Шпадырев.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Ü
    Автор: под ником «Panzerschrek».
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования V
    Автор: Александр Медведников.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования vkacl
    Автор: Виктор Кон.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Yalgol
    Автор: Алексей Яковлев.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Адина
    Автор: Роман Клочков.
    Статус: развивается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Алгоритм-2
    Автор: неизвестен.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Валентина-2
    Автор: под псевдонимом «Уткин».
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Визуальная Р-технология программирования
    Автор: Игорь Вельбицкий, Фонд Глушкова, Киев.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Глагол
    Автор языка предпочитал себя не называть, скромно именуясь "Издателем". Популяризацией этого языка чаще всего занимался программист под ником "Сый". Он же писал программы на Глаголе и являлся его знатоком. По всей видимости, проект заброшен в 2008 году; в 2013 году прекратил работу сайт "Сыя", затем сайт "Издателя". Нашлись продолжатели Глагола: сайт Тимофеева.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Гонец
    Автор: Роман Цованян.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Дизель-паскаль.
    Автор: Юрий Копнин.
    Является продолжением языка Суржи после переноса его на платформу Lazarus. После перевода LCL на Юникод планируется возобновление поддержки кириллицы при программировании.
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Интерпретатор Алгоритмического Языка
    Автор: Владимир Мальцев.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Кантор
    Автор: Канторовы системы, Владислав Джавадов
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: в перспектве — да.

  • Язык программирования Картарика
    Автор: Евгений Зайцев
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Клаус
    Автор: Константин Захаров
    Статус: в разработке.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Концепт
    Автор: Дмитрий В.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Ксерион
    Автор: Денис Гаев
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования Лися
    Разработчик: Андрей Шпагин
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования КуМир
    Разработчик: научно-исследовательский институт системных исследований РАН.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Перфолента
    Разработчик: Частное предприятие «ПРОМКОД» (Украина).
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Пифагор
    Разработчик: Институт Космических и Информационных Технологий Сибирского Федерального Университета.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования ПОП
    Автор: Иван Павлов.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: нет.

  • Язык программирования ПРОФТ
    Автор: Фёдор Тюленев.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Рапира
    Автор: академик Ершов, Школьный Cектор Ассоциации RELARN.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Рефал

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

    Рефал-2 был когда-то написан для ЭВМ, позже перенесён на PC, поддерживается Леонидом Белоусом из Харькова. Эта реализация Рефала-2 поддерживает русскоязычные идентификаторы.

    Рефал-5 был изначально разработан Турчиным в Нью-Йоркском Сити-колледже, сейчас поддерживается Андреем Немытых из Переславля-Залесского (Институт программных систем РАН). Русскоязычные идентификаторы не поддерживаются.

    Рефал-6 когда-то был написан в Институте программных систем РАН (Переславль-Залесский), потом его передали Аркадию Климову, который его основательно доработал. Русскоязычные идентификаторы не поддерживаются.

    FLAC — разновидность Рефала, ориентированная на компьютерную алгебру. Разрабатывалась в Институте программных систем РАН. Про русскоязычные в документации ничего не говорится.

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

    Это как бы «официальные» Рефалы. Есть неофициальные.

    Рефал/2 Василия Стеллецкого. Василий Стеллецкий в начале 90-х заметил, что Рефала под ПК нет и сам себе его написал. Получился немного ограниченный по возможностям рабочий инструмент — для нужд Василия его достаточно. Поддерживает русскоязычные идентификаторы (в кодировке 866). Даже более того, вызовы функций у него оформляются как k/имя/ аргумент. (в конце точка) — букву «k» в начале можно делать и русскую, и латинскую.

    Рефал-5λ — компилятор надмножества Рефала-5 (со вложенными функциями и другими удобствами) в Си++, написан Александром Коноваловым (МГТУ им. Баумана). Русскоязычные идентификаторы пока не поддерживаются. Поддержка планируется с началом поддержки Юникода.

    Интерпретатор Рефал-2 — разработка МГУ.

    Все Рефалы, кроме последнего — компиляторы, большинство — компиляторы в байткод.


  • Язык программирования Рефлекс (Си с процессами)
    Автор: Владимир Зюбин.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования РС/Б
    Автор: под ником «AlexCab».
    Статус: закрыт.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Русский язык программирования, он же RuSL (Russian Scripting Language)
    Автор: Егор Замахов.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • РЯП (русский язык программирования, он же Солуни)
    Доступен архив РЯП.
    Автор: Алексей Соломеин.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Санда
    Автор: Владимир Соколов.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Проект Таметко
    Автор: Данил Харитонов.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Тривиль
    Автор: Алексей Недоря.
    Статус: начало разработки.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Проект Эллочка
    Автор: Эрих Гаузер.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Яр, диалект Оберона-2 с оригинальными расширенями.
    Автор: Денис Будяк.
    Статус: развивается, поддерживается.
    Кириллические идентификаторы и/или ключевые слова: да.

  • Язык программирования Яр (старая версия)
    Автор: Денис Будяк.
    Статус: заморожен.
    Кириллические идентификаторы и/или ключевые слова: да.


            Выше перечислены оригинальные языки программирования. Здесь нет перечня компиляторов к языкам, придуманным «не у нас». В качестве исключения только хотелось бы отметить интересный проект Андрея Андреева «Странник»  — компилятор с общей семантической базой языков Паскаль, Модула-2 и Си.

Смотри так же:

Опубликовано: 2012.09.25, последняя правка: 2024.02.27    00:32

ОценитеОценки посетителей
   ███████████████████████████ 40 (64.5%)
   ███ 4 (6.45%)
   █████ 6 (9.67%)
   █████████ 12 (19.3%)

Отзывы

     2013/05/04 01:03, DIBOX          # 

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

     2013/05/04 13:07, Автор сайта          # 

Как-то слишком общо поставлен вопрос. Что Вы имели в виду под «в чём»? Разработку языка желательно закончить формальным описанием грамматики и описанием семантики. А дальше — разработка компилятора, на этот есть счёт много литературы. На Ваш вопрос трудно ответить двумя предложениями.

     2013/05/09 05:57, newGentee          # 

Gentee автор бросил в 2010, вчера он это подтвердил (8 мая 2013) на форуме, форум смешанный, англо-русский.

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

По одной из ссылок нашёл HomeLisp, недавно было обновление, проект жив. Буду смотреть, что это такое.

Админ, спасибо за страничку (хорошо бы её обновить и даты обязательно проставить, ссылки перепроверить, одна сдохла).

     2013/05/12 22:46, Автор сайта          # 

Разбил список на активные/замороженные проекты. Отметил неактуальные ссылки.

Здесь перечислены языки отечественных авторов. Список компиляторов/интерпретаторов к готовым языкам можно поискать в других местах, я их уже указывал: Ресурсы, посвящённые созданию языков программирования и компиляторов. Там можно найти и Бейсик, и Паскаль, и Форт... Немало проектов, в том числе международных.

     2013/12/20 16:59, Alexandre Minoshi (Almin-Soft)          # 

http://alminsoft.nx0.ru/ переехал на новую площадку. Теперь его можно найти по ссылке almin-soft.ru

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

Но последняя версия Валентины у меня все таки есть, если интересно пишите на almin-soft(собака)yandex(тчк)ru

     2014/01/17 08:33, Сергей          # 

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

     2014/03/27 21:39, Слава          # 

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

     2014/04/30 02:33, Utkin          # 

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

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

     2014/04/30 02:36, Utkin          # 

Последнее хранилище Валентины

     2014/08/14 18:31, Виктор Кон          # 

Хочу уточнить про язык vkACL. Он не забыт, я его делал для себя, и я постоянно им пользуюсь. У него был сайт vkacl.narod.ru, он до сих пор в строю, хотя и переехал на юкоз. Язык называется ACL (advanced command language), а приставка vk указывает на автора. В многочисленных каталогах программ стоят старые версии, а на сайте есть новые. Язык реально не компилируется, а интерпретируется программой, написанной на Java. Он очень простой по структуре, но из-за наличия огромного количества команд и их параметров все сразу усвоить сложно. На языке можно писать программы любой степени сложности, но в ограниченных областях. В основном это работа с файлами, текстом, расчеты, графики, картинки, постскрипт, можно делать анимации, презентации, работать с pdf файлами. Короче все то, что мне необходимо. Базами данных я не занимаюсь, этого нет (то есть sql, xml). На сайте все написано. Главная цель языка была в том, чтобы писать программы очень быстро и сразу их исполнять. В самой программе есть и среда разработки и набор готовых программ. Среди готовых программ есть в частности программы быстрого создания вэб сайтов из текста и создание электронных книг в формате fb2.

     2014/08/21 11:05, Эрих Гаузер          # 

Есть ещё один язык. Создан он мной, называется он «Ellochka» («Эллочка»), его описание находится на этой странице.

Язык интерпретируемый, на том же сайте есть интерпретатор и есть набор утилит на этом языке. Поскольку создавался он ещё в среде ДОС (последняя версия транслятора — 2001 год) и я так и не собрался перевести его под окна, сейчас, конечно. Его применение затруднительно и не так актуально. Однако, я сам до сих пор использую некоторые полезные утилиты на этом языке.

Кроме того, на Эллочке были написаны интерпретатор и компилятор(!) известного языка "brainfuck". Их тоже можно скачать на указанном сайте.

     2015/03/02 08:52, Александр          # 

Привет всем! Сайт классный. Я недавно начал писать собственный интерпретатор скриптового языка, но знаний мало, а книг толковых нет, много воды. Поэтому решил начать что-то сам. Предлагаю энтузиастам-программистам С# объединиться и создать полноценный скриптовый язык, котоорый будет работать как на стороне сервера, так и на строне клиента. Чтобы не было разбиения на языки типа php, javascript, ajax, jquery и тому подобные. Чтобы был один язык, но был двузадачным (для клиента и сервера). Кому это интересно, пишите на почту: almp@i.ua или skype: avmpapus

     2015/04/07 08:53, misha_shar53          # 

Понравился этот сайт. Вопрос создания нового языка программирования меня сильно интересует. Но обсуждение на этом сайте носит несколько однобокий характер. Из рассмотрения выпал язык MUMPS. По-моему, незаслуженно. Он, конечно, малопопулярен, но, в отличие от многих других языков, работоспособен. На нем работают с 70-х годов до нашего времени. И здесь есть чем гордится. В 80-90-е годы Игорем Фетисовым была создана MUMPS-система NTSM. Которая использовалась на территории бывшего СССР. У меня на этой системе был разработан бух.учет который работает до сих пор. Сейчас активно разрабатывается и функционирует очень интересная система MUMPS MiniM. Разработчик — Евгений Каратаев. Есть его книги по MUMPS. Вышла книжка про MUMPS: http://www.solon-press.ru/shop.html?id=845. Со временем должна попасть в самые различные книжные магазины.

     2015/04/07 16:30, Автор сайта          # 

обсуждение на этом сайте носит несколько однобокий характер

Да тут немало языков рассматривалось. Или однобокость заключается в том, что не рассматривался MUMPS?

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

Не могли бы привести примеры неработоспособных языков? C/C++? Java? C#? Pascal? PHP? Oberon? Ruby? D? Javascript? 1С, в конце концов?

     2015/07/08 16:54, ibzh          # 

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

Посмотреть это можно здесь.

     2015/09/21 23:11, Igor Tomassov          # 

Jpho может использовать любой язык (language) для определения слов, констант, переменных и т.д. Обычно это кодировка UTF-8.
Поэтому определения слова:
: prepare ... ;
или
: подготовить ... ;
или
: bereiten ... ;
Никакой разницы не имеет.

     2015/09/22 13:30, Автор сайта          # 

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

     2015/09/22 20:08, Igor Tomassov          # 

Вопрос интересный. В Jpho, как в FORTH, используются словари. Словарь может быть определен в виде Java-файла (JphoVocabulary, слово extends) или в обычном коде Jpho (слово voc). По второму варианту используется слово import для загрузки Jpho-файла, интерпретация которого может быть осуществлена в соответствующий словарь.

Например:
"RU" voc
import: ru_voc.jfo
Далее компиляция (интерпретация) пойдет в словарь RU, который станет текущим словарем.

В Jpho в системном словаре JFO более 500 предопределенных слов, но если мы хотим переопределить слова в другом языке, то следует создать файл-словарь, в котором будут определены слова на необходимом языке.

Например:
: дублировать dup ;
Это значит, что вместо стандартного слова dup аналогично будет работать слово "дублировать".

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

     2015/09/22 20:34, Igor Tomassov          # 

Еще хотел бы добавить. Jpho (как и FORTH) — стековый язык: все параметры приходят из стека и возвращаются в стек. Поэтому в Jpho нет функций, есть только слова или код, который сразу выполняется при интерпретации (в том числе условные переходы и циклы). Большинство слов перегружено, например, слово "+" работает с числами, строками, списками и т.д. Если есть необходимость, то в коде Jpho можно ещё "перегрузить" слово. Как в FORTH, Jpho поддерживает правило — минимальное количество символов для выполнения операции (слова). Поэтому вывод в выходной поток из стека просто точка «.».
Обратная (польская) запись:
100 300 +
На вершину стека положили число 100, потом 300 (100 ушло в позицию 1 стека, в положение 0 попало число 300), слово "+" складывает два объекта в стеке с положением 0 и 1, и возвращает сумму на вершину стека.
Т.е. на вершине стека будет 400.
100 300 + .
А это все сложит и выведет результат в выходной поток.

Определим слово "возведение_в_квадрат"
// n — n2
: возведение_в_квадрат dup * ;
Дублируем число в стеке, а потом перемножаем, результат в стек.

     2015/09/22 20:40, Автор сайта          # 

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

     2015/09/22 21:06, Igor Tomassov          # 

Еще дополнение.
1. Язык Jpho предназначен не для написания приложений (хотя это возможно), а для интеграции с Java и Java EE технологиями.
(понятно, что изменения Java-кода требуется перекомпиляцию проекта, в основном это в работающей системе невозможно).
2. Изменение Jpho-скрипта возможно без переустановки систем (тем более, что коды мы храним в БД).
3. Jpho может обратиться к любому Bean, менеджеру, к БД или Web-сервису.
4. Jpho, в отличии от FORTH, использует префиксы и постфиксы, например, создание переменной:
100 Моя_переменная!
Получить значение из переменной - Моя_переменная@
Получить значение из атрибута (используется префикс):
@name
Т.е. получить из объекта в стеке значение геттера getName.
!name - тоже установить setName.
Остальное можно прочитать в документации.

     2015/09/22 21:46, Igor Tomassov          # 

Да, скажем идея Чака Мура с Фортом (а он создал язык для управления телескопом), которую я абсолютно не понял (зная Lisp, Fortran, Algol, PL и т.д) в конечном итоге привела к тому, что это все очень логично и лаконично. На FORTH можно было реализовать ОС для компьютера, или включить его в телефонную станцию (менее 6 кБ оперативной памяти), или программировать машинные автоматы.
Сейчас запросы другие, но остаются в приоритете:
1. Интеграция с приложениями
2. Быстрая обучаемость
3. Замена кода без перекомпиляции проекта
4. Бесконечное количество отчетов в HTML/Excel/PDF
5. Работа Web-сервисов и клиентов.

     2015/09/22 20:55, Автор сайта          # 

Плюсы, которыми обладает Форт, появились более 40 лет назад. И до сих пор этот потенциал не раскрыт. Что побудило написать вот такое пессимистическое: Почему обречён язык Форт.

     2015/09/22 22:02, Igor Tomassov          # 

Не ответил на вопросы:

1. Расхождения с Фортом стилистические и не только (например, префиксы, постфиксы).
Например, в FORTH строка должна начинаться со слова «" »: " Это строка". Слово «"» прочитает из входного потока слово «" » и поймет, что это строка. В Jpho используется префикс " и никаких пробелов не нужно

2. Да, Jpho работает на JVM. Другие реализации возможны: PHP, JavaScript (который и так используется в Web-технологии), C++.

     2015/09/22 22:21, Igor Tomassov          # 

Но язык никому не нужен, если он не дает конечные результаты для пользователей. Это мы с Вами можем рассуждать о красивости/некрасивости конструкций в языке программирования. Для Заказчика/Конечного пользователя есть только набор интерфейсов, функционала и отчетов. В данной конкретной ситуации, Jpho мы используем, как скрипт для Java EE технологии, со всеми его возможностями.

     2016/07/17 11:14, mahairod          # 

Теперь есть и ещё один язык программирования на основе кириллицы — Ява, кириллизованная версия Java. Сайт с базовым описанием: http://wiki.elliptica.net/вики/Ява. Код классов взаимодействует с нативным кодом через кириллические сигнатуры методов в бинарных библиотеках (собраны с поддержкой расширенных международных идентификаторов).

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

Также в рамках поддержки этого проекта осуществлено добавление кириллических аналогов ключевых слов языков C/C++/ObjC/ObjC++ в компиляторе GCC. Получившийся компилятор предполагается назвать RuCC/Ru++.

В планах есть оборачивание стандартной библиотеки C кириллическими именами и примерно такой же подход для стандартной библиотеки C++.

     2017/10/24 15:29, no1          # 

Euphoria — интерпретируемый язык с очень быстрым интерпретатором. Распространяется public domain с середины 90-х, до этого была платная версия, затем был форк.

Cайт проекта http://www.rapideuphoria.com/news.htm

http://openeuphoria.org/wiki/view/DownloadEuphoria.wc — новые версии 4.0, старые legacy, форки

альтернативный форк с доработками http://phix.x10.mx/ репозиторий https://bitbucket.org/petelomax/phix/src

Есть *большое* множество библиотек, привязок к библиотекам и примеров кода http://www.rapideuphoria.com/archive.htm

Встречаются и необычные, например привязки в ассемблеру fasm
http://www.rapideuphoria.com/fasm4eu.zip http://phix.x10.mx/pmwiki/pmwiki.php?n=Main.TgsFlatAssembler

В phix встроена инструкция #ilasm, и более продвинутый отладчик и оптимизатор

Поддерживаются кириллические идентификаторы и unicode в новых версиях, операторы на английском

Кроме того, старая версия была портирована для одновременной поддержки операторов и идентификаторов на русском языке:

http://www.private.peterlink.ru/kinz/3.2ru/index.html

http://phix.x10.mx/pmwiki/pmwiki.php?n=Main.BilingualEuphoria25

http://www.rapideuphoria.com/lan.htm -> http://www.rapideuphoria.com/ru_eu_11.zip


Автор порта И. Н. Качан
http://www.private.peterlink.ru/kinz/ , есть примеры и описание языка.

     2017/10/24 15:33, no1          # 

Полиглот: Смоллток на русском языке (портированный Squeak 3.9) + книга А. Голдберг "Смоллток. Язык и его реализация" https://sites.google.com/site/polyglotsqueak/

Сборка содержит модули OMeta, SmaCC — компиляторы компиляторов (с примерами грамматик готовых языков в SmaCC) которые могут быть использованы для разработки своего транслятора или полуавтоматической трансляции в/из свой язык программирования.

     2017/10/25 13:20, Автор сайта          # 

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

     2017/10/28 23:34, no1          # 

Тезис понятен, но иногда разделить не так-то просто.

Вот Глагол — русский язык программирования, уникальный? По-моему, нет — это просто Оберон-2 с русским синтаксисом.

Концептуально Глагол, Оберон-2 и какой-нибудь BlackBox Component Pascal, школьная сборка http://www.inr.ac.ru/~info21/software.htm http://inf.1september.ru/article.php?ID=200800100 — это один и тот же язык, семантически. Небольшие отличия в синтаксисе и переводе — не существенны.

А например Рапира и Оберон — разные языки, ибо в Рапире кортежи есть, а в Обероне — нет.

     2017/10/29 19:14, Автор сайта          # 

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

     2017/12/15 01:46, SIMPLETON          # 

К сожалению, вижу в новостях на сайте КОНЦЕПТа, что проект завершён. Хотя шикарная вещь, ей бы только библиотек побольше — и в школы/вузы.

Мечтаю увидеть русский LOLCODE :)
ПРИВ
ТУТ П = 0
ВИРА П ДО 10
ПОКАЖ П
ХОРОШ
ПОКЕД

     2018/03/25 21:14, Денис Будяк          # 

Не помешает добавить школьную сборку info21 (aka школьная сборка блэкбокс)

     2020/07/29 10:00, Тимофей          # 

Добавьте языки: Ü, Umka. Про него есть на Хабре.

     2020/10/07 17:34, NuShaman          # 

Алгоритм-2 уже не поддерживается (заморожен). Сайт перенесён в архив http://web-arhive.ru

     2021/04/23 12:58, Автор сайта          # 

Пополнил список языками Cine, Ü, Картарика, Санда.

     2021/05/09 00:35, Владимир Соколов          # 

Благодарю за упоминание Санды.

     2021/05/13 23:43, Денис Будяк          # 

Здравствуйте! Добавьте, пожалуйста, ссылку на ЯОС. Там есть уже полностью готовый язык программирования с русскими ключевыми словами, со средой разработки (перевод языка "Активный Оберон"). Сейчас идёт перевод компилятора на русский язык и вставка русских ключевых слов в описание языка.

https://gitlab.com/budden/ja-o-s

     2021/05/14 13:20, Денис Будяк          # 

А "Яр" уже давно заморожен. Я понял, у вас не считаются отечественными переводы, хотя если Глагол тут есть, то и язык ЯОС тоже по логике имеет право быть. Тем более, что язык ЯОС уже имеет как минимум одно существенное отличие от Активного Оберна, например, в нём есть модификатор override/перекрыта, который является обязательным в русскоязычном варианте. Также там доделан тип SET64, который в оригинале не работает.

     2021/05/16 14:13, Автор сайта          # 

Посмотрел описание на Вашем сайте. Сайт убедил меня в том, что ЯОС — это и язык, и операционная система. Аббревиатура «ЯОС» может так и расшифровывается — Язык и Операционная Система? И где провести границу между языком и ОС?

Глагол позиционировался автором как отдельный язык. А как Вы позиционируете свой язык? Если как отдельный, то тогда нужна ссылка, где бы описывался именно язык.

     2021/05/18 11:35, Денис Будяк          # 

Пока что это всё же русскоязычная версия Активного Оберона, отличия недостаточные, чтобы считать новым языком. Считать ли перевод ключевых слов созданием отдельного языка? С точки зрения совместимости — да, потому что другой компилятор АО этот код не скомпилирует. С точки зрения дизайна языка — вряд ли. Описание языка здесь: https://gitlab.com/budden/ja-o-s/-/blob/главная/док/яп-активный-оберон/описание-языка.md — пока оно запаздывает и в нём только англоязычные ключевые слова, но переделка слов на русскоязычные ожидается буквально на днях.

ЯОС никак не расшифровывается, просто название ОС с кириллицей в явном виде. Это рабочее название, может ещё смениться.

     2021/05/18 11:37, Денис Будяк          # 

Граница между языком и ОС проводится, думаю, как обычно. Единственное, что тут линковщик, по сути дела, не оставляет выбор — писать под эту ОС на данный момент можно только на этом языке (если не сделать интерпретатор или иной компилятор).

     2021/05/18 22:58, Денис Будяк          # 

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

https://gitlab.com/budden/ja-o-s/-/blob/главная/док/яп-активный-оберон/описание-языка.md

     2021/05/19 10:43, Автор сайта          # 

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

Автор Глагола назвал свой язык Глаголом. Я ему поверил и включил в этот список. Вы же называете Обероном, я Вам тоже верю, и поэтому не включаю. Хотя желаю успехов в работе.

     2021/05/19 21:54, Денис Будяк          # 

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

     2021/05/19 22:54, Автор сайта          # 

Ещё не вечер :) Может быть, Вы когда-нибудь внесёте в язык что-то своё, чего Вам не хватает. Не может быть, чтобы у Вас не было идей. Тем более, что Оберон — аскетичный язык. Чересчур лаконичный. Вот тогда вернёмся к разговору :)

     2021/05/19 23:15, Денис Будяк          # 

Угу. Только активный Оберон уже не такой лаконичный. Оберонщики объявили его ересью и мимикрией :) Идеи есть, конечно, но вряд ли в этом году что-нибудь реализую.

     2022/04/24 22:20, Автор сайта          # 

Добавил 3 новых языка в список:Проверил ссылки, обновил информацию по остальным.

     2022/04/26 00:35, Неслучайный читатель          # 

Знакомлюсь не с первым «самодельным» языком программирования. И знаете, что заметил? Интересная закономерность — многие разработчики находят, что подходящая ниша для их творений — это обучение (как правило, школьников) программированию. И действительно, для серьёзного программирования они не пригодны — не «обросли мясом». Серьёзные организации будут выбирать серьёзные инструменты. И куда тогда пристроить своё творение? Конечно туда, где публика невзыскательна. В школу!

Но, простите, эта ниша уже занята. Для школы уже написаны учебники. При этом очередной новый язык не обладает обратной совместимостью этими книгами. В учебнике написано одно, а в новом языке — совсем другое. Учителя информатики его не знают. Гороно/районо инициативу, скорее всего пресечёт. Остаются школьные кружки, и то если эти кружки будет вести автор языка.

     2022/04/26 13:33, Gudleifr          # 

Для школы уже написаны учебники.

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

     2022/04/27 16:13, Неслучайный читатель          # 

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

     2022/04/27 16:26, Gudleifr          # 

Существенно то, что язык с ними не совместим

Хороший учебник вообще не должен быть ориентирован на язык. А язык должен быть совместим только с практическими(!) задачами, которые учащиеся могут решить.

     2022/04/27 16:43, Неслучайный читатель          # 

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

     2022/04/27 16:47, Gudleifr          # 

Так вот надежды несбыточны

Сбыточны. Только нужно писать язык вместе(!) с учащимися под практические(!) задачи.

     2022/04/27 17:26, Неслучайный читатель          # 

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

     2022/04/27 17:32, Gudleifr          # 

Да нет, с первоклассниками не придумывают азбуку или правила арифметики

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

     2022/04/27 21:14, Автор сайта          # 

Знаком с одним преподавателем информатики в колледже. Он заодно ведёт кружки программирования и робототехники. Уроки по информатике он ведёт по школьной программе. А вот на кружках у него свобода рук. Поэтому в ограниченных масштабах чей-то язык может попасть в школу.

     2022/04/27 21:48, Gudleifr          # 

Уроки по информатике он ведёт по школьной программе. А вот на кружках у него свобода рук

Я обходил эту проблему внедрением программированного обучения.

     2022/04/27 23:06, Неслучайный читатель          # 

Программирование — это отрасль знаний. Печатать на клавиатуре, в том числе «if», «else», «do» — это навык, а вот писать их в нужном порядке и с нужными параметрами — это требует знаний. Навыков тут недостаточно.

     2022/05/11 18:18, Автор сайта          # 

Обнаружил NewLang — новый язык программирования. Один из немногих, который не имеет некоторых признаков устаревшего языка. В нём нет ключевых слов. В этом сперва увиделось сходство с PL/1, однако сходства на самом деле нет. Ибо ключевые слова заменены на некие комбинации спецсимволов. Например, условный оператор:
(условие) -> {действие} -> {действие иначе};
Цикл:
(условие) <--> {тело цикла};

     2022/06/29 16:21, Автор сайта          # 

Добавил в в перечень язык программирования Перфолента, в котором идентификаторы записывают на русском языке. Разработчик — частное предприятие «ПРОМКОД» (Украина). Да, на Украине тоже программируют на русском.

     2022/08/27 21:25, Автор сайта          # 

Пополнил список языком LN. Этот язык основан на Нормальных Алгоритмах Маркова (НАМ), которые, по словам автора языка LN, стали основой для продукционной парадигмы, о которой, по сути, нет качественных материалов. НАМ ранее были воплощены в языке Рефал. Язык LN — ещё одно воплощение, автором которой является пользователь Хабра с ником «Icon0clast».

     2022/09/23 22:16, Денис Будяк          # 

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

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

Также неясно, чем ЯОС хуже Глагола. Компилятор Глагола вроде бы закрыт, поэтому Вы не можете утверждать, что он написан Издателем. А значит, нельзя отказать ЯОС во включении в список. Неясно, чем он хуже OneScript, который является клоном 1С, в точки зрения языка. В ЯОС есть отличия и нововведения. Что ещё мешает?

     2022/09/24 15:09, Автор сайта          # 

Ну хорошо, я поступился принципами и пошёл Вам на уступки. Но что я должен написать? «ЯОС» — это не очень понятный симбиоз языка и ОС, как я понял. Но фраза с Вашего сайта «реализация ШАЯ в ЯОС» (ШАЯ — школьный алгоритмический язык, «Кумир») говорит о том, что это не язык, а операционная система, обо язык в языке не реализуется, он реализуется в ОС. Название «ЯОС» отпадает. Что тогда я должен написать? Какое имя собственное? «Русифицированный Оберон-2»?

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

А вообще роль и важность этого списка для меня не слишком очевидна :)

     2022/09/24 16:43, Денис Будяк          # 

Список важный и уникальный, на мой взгляд. Как минимум, он является предостережением каждому, кому взбредёт в голову его пополнить собой :) Язык пока не имеет названия, но можно назвать "Яр", т.к. это название в принципе было зарезервировано, и оно отражено в стандартном расширении модуля "ярм". А старый Яр тогда надо называть "старый Яр". Яр так же относится к Активному Оберону, как Глагол к обычному Оберону, т.е. это русский перевод + внесённые изменения. А ЯОС — это не только ОС, но и среда разработки приложений, поэтому Яр может исполняться и под Linux/Windows. Спасибо!

     2022/09/24 16:47, Денис Будяк          # 

Т.е. ЯОС не претендует на включение в Ваш список, только язык программирования Яр требует. Как любой интерпретатор требует для своего исполнения какой-то среды, так и Яр требует ЯОС для своего исполнения. Но не потому, что Яр — интерпретатор (он компилятор, хотя есть и интерпретатор подмножества языка), а потому, что рантайм среда для него — это ЯОС. Наличие какой-то рантайм среды, без которой язык не работает — это тоже не повод для невключения в список, ведь у Вас же есть в списке другие интерпретаторы. Например, OneScript не будет работать без .Net, и Вы включаете в список OneScript, но не включаете .Net. Точно так же можно включить Яр, но не включать ЯОС. В общем, не могу понять, какие принципы тут нарушены, мне кажется это некое недоразумение из-за того, что у меня не один проект, а целый набор матрёшек, и взаимосвязи между матрёшками не всегда видны снаружи. Давайте я отвечу на все вопросы, чтобы у меня была чиста совесть и я не думал, что продавил какие-то Ваши принципы.

     2022/09/27 22:57, Автор сайта          # 

Поддавшись на уговоры, дополняю принципы формирования перечня отечественных языков программирования. Теперь он может так же включать в себя отечественные оригинальные расширения языков зарубежного происхождения. Поэтому пополнил список языками Яр и PL/1.

     2022/09/28 19:20, Денис Будяк          # 

Отлично, даже не знаю, за кого больше радоваться — за свой проект или за PL/1. Спасибо!

     2022/12/03 20:41, Автор сайта          # 

Добавил в свой список два языка программирования: ALLang и Тривиль. На втором хотелось бы остановиться подробнее. Ведь его автор — Алексей Недоря, известный всей стране по проекту «Кронос» в средине 1980-х. Для меня — это «тяжеловес» из мира языков и компиляторов, «глыба и матёрый человечище». Сравнительно недавно обнаружил его сайт и прочёл анонс: Алексей в сотрудничестве с Huawei разрабатывает новый язык программирования. Сайт долго не обновлялся, потом Huawei и вовсе втихую ушла из России. Это давало повод думать, что проект накрылся. Но тут новость! Язык всё-таки создаётся. И даже не язык, а целая экосистема из семейства языков разного назначения с кроссплатформенностью. Ну а язык Тривиль — это отправная точка. Обнаружил некоторое созвучие в идеях, а именно в идентификаторах, которые, по мнению Алексея, могут был на кириллице, содержать в себе пробелы, и даже могут вообще содержать произвольный текст, если заключены в кавычки. Это соответствует тому, что было в русификаторе Си уже несколько лет назад, однако у меня сейчас есть некоторое продвижение вперёд, о котором скоро будет рассказано. Есть моменты, которые не понравились. Но у каждого своя правда, свой собственный опыт.

     2022/12/06 23:00, Неслучайный читатель          # 

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

Нашёл («Тривиль — вопросы и уточнения») у Недори это «созвучие»:

4) Идентификатор
Расписал идентификатор с пробелами, ‘-‘, ‘№’ и вопросительным, восклицательным знаком в конце. Примеры:

Паниковать!
Делится на три?
проверка-массива
пока № > 0 { №— }
Я бы даже назвал это не созвучием, а прямым заимствованием (если не сказать больше). Лично я не знаю языков программирования, в которых в идентификаторах бы была и кириллица, и пробелы, и символ номера. Только на этом сайте. Вот фрагменты Вашего кода («Вычисление определителя матрицы. Программа на русском Си»):
    _31  №;
для (№ = Y; № < РАЗМЕР; ++№) {
э = & M [X * РАЗМЕР + №];
в = & M [Y * РАЗМЕР + №];
. . .
}
. . .
для (слева направо = 0; слева направо < РАЗМЕР; ++слева направо) {
для (сверху вниз = слева направо; сверху вниз < РАЗМЕР; ++сверху вниз) {
делитель = * Элемент (M, сверху вниз, слева направо);
детерминант *= делитель;
делить и вычесть строку (M, сверху вниз, слева направо, делитель);
}
}
Тут и кириллица, и пробелы, и «№» в идентификаторах. Так что Ваши идеи уже находят место в других языках.

     2022/12/07 10:45, Автор сайта          # 

На языки программирования копирайт не распространяется.

     2022/12/07 11:57, Бурановский дедушка          # 

А то бы авторы Фортрана и Алгола до сих пор собирали дань :)

     2022/12/12 16:53, void          # 

Неслучайный читатель

Лично я не знаю языков программирования, в которых в идентификаторах бы была и кириллица, и пробелы, и символ номера. Только на этом сайте.

А я знаю. Например, язык "1" или Адина, автор — Клочков Роман (monk). Документация и описание языка и примеров: https://docs.racket-lang.org/russian-lang/index.html. Анонс на Linux.org.ru: https://www.linux.org.ru/forum/development/15794630/page20#comments. Там есть примеры кода. Недавняя новость: https://www.linux.org.ru/news/development/16988270. Там тоже есть примеры кода.

"Синтаксис от Хаскеля, семантика от Ракета" — диалект Лиспа с русским синтаксисом. Можно добавить в список. Реализован как DSL на Racket. На Racket вообще удобно разрабатывать собственные диалекты языков. Вот например, создают диалект с поддержкой IDE и отладчика: https://shmat-razum.blogspot.com/2011/11/racket.html, а вот краткий обзор https://shmat-razum.blogspot.com/2011/09/dsl.html

В Лиспах, кстати, могут быть в идентификаторах пробелы и Unicode символы. Только нужно оборачивать литералы соответствующими символами, конец/начало идентификатора. В Unicode, кстати, могут быть символы пробел и разные виды скобок. То есть, можно было бы просто реализовать несколько видов пробелов — стандартный, разрывный и неразрывный с другим кодом.

Кстати, вот ещё недавняя находка на Racket, книга Beautiful Racket: https://beautifulracket.com, написана на средстве документирования/поддержки грамотного программирования Pollen: https://docs.racket-lang.org/pollen/

«Зачем Racket? Зачем Лисп? Зачем языково-ориентированное программирование?»: https://habr.com/ru/post/445822/ Это ещё в тему "Устарел ли текст как форма представления программы", проект языка CURL; https://en.wikipedia.org/wiki/Curl_(programming_language), предлагал единый язык для разработки "программируемой документации" (в отличие от набора диалектов вроде различных версий HTML, CSS, JS в типичном браузере). Это по сути диалект Лиспа (ближе к Dylan, Thomas, goo и идее "функциональных объектов", то есть объекты и их интерфейсы в духе метаобъектного протокола как first-class objects на уровне языка.

Если CURL сейчас представляет собой инфраструктуру и IDE, плагины и фреймворки (например, MVC), написанные на таком языке для реализации Rich Application как гипертекстового программируемого документа — но реализованные как набор диалектов с единым синтаксисом, у которого текст документа — это полноценный литерал типа текст, типа объект; есть и другие типы объектов представленные выражениями форм в фигурных скобках.

То в Pollen реализована по сути та же самая идея, только как диалект Лиспа, встроенного в Racket: документация, то есть, текстовый литерал может быть в разметке Markdown или любой другой, для которой написан парсер; публикация в выходной формат — также настраиваема (изначально есть поддержка HTML и PDF, но можно добавить и свои собственные).

При этом реализуется всё та же идея — "программируемой документации". Книга — это программа, с некоторыми объектами динамически вычисляемыми. Как я понял, к этой же идее — компонентная сборка программ, документов, приложеньиц обновляемых Rich Application Dashboard, "Автопрограммирование — программирование без программистов": https://chuzhakin.com/программирование-без-программистов/ идёт и А. Е. Недоря в языках Вир, Вир-2, Тривиль.

     2022/12/12 22:12, Автор сайта          # 

Язык добавил в свой список.

не знаю языков программирования, в которых в идентификаторах бы была и кириллица, и пробелы, и символ номера.

А я знаю.

Процитирую описание языка с сайта:

2.4 Идентификаторы
Синтаксис для идентификаторов ... В них могут быть использованы любые символы кроме пробелов ...

Тут и комментировать нечего. Но даже если не верить этому, то вопрос о «первородстве» легко устанавливается: впервые в архив Интернета archive.org этот сайт попал 1 октября 2020 г. Но не стоит на этом зацикливаться. Не впервые такое случается.

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

     2022/12/13 22:49, void          # 

Более того, можно вводить идентификатор между вертикальным чертами, тогда допустимы вообще любые символы кроме вертикальной черты. Примеры идентификаторов:
не-печётся
<...>
|идентификатор со спецсимволами ( ) [ ] { } " , ' ` ; # \|

но вообще в Лиспах принято несколько слов писать через минус, а не пробел.

В контексте "Natural Language Programming" — интересно, когда же в языках программирования появится полноценная поддержка разного рода морфем. Например, падежей, склонений, спряжений, наречий, причастий и т.п. различных суффиксов при одинаковом корне.

Например, есть японский язык программирования Nadesico с поддержкой падежей (в остальном он примерно похож на бейсик). Но там иероглифы, и форма записи вообще слоговая. Для благозвучия "программирования на русском" было бы разумно не только поддерживать пробелы в идентификаторах, но и задавать флексии, например те же падежи: родительный — некий класс имярек, творительный — порождающий интерфейс, один из нескольких, скорее генератор с yield чем просто какой-то из конструкторов винительный — resonsibility (основная функция, ответственность, которую класс реализует самостоятельно) предложный — concern или collaboration (прочие обязанности, делегируемые другим классам).

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

     2022/12/14 00:48, Автор сайта          # 

можно вводить идентификатор между вертикальным чертами

Это весьма непродуманный вариант. Это не просто вертикальные черты, это обозначение операции «или». Если изъять из этот символ из перечня операций, то что взамен? Ничего лучшего для «или» не придумаешь. В русификаторе C/C++ более десятка лет используются обратные апострофы. Между ними могут быть любые символы:
`это идентификатор из любых символов !@#$%^&*()_+`
Вариант с обратными апострофами хорош тем, что этот символ на клавиатуре есть, а вот традиции использовать его в языках программированя — нет. Поэтому он свободен для применения в новинках.

вообще в Лиспах принято несколько слов писать через минус, а не пробел.

И это тоже неумно. Минус — он для вычитания и смены знака. Тот же символ нижнего подчёркивания — и то лучше. Но и он проигрывает самому обычному пробелу, который придаёт естественность многословным идентификаторам. Не правда ли
не печётся
это лучше, чем
не-печётся
?

интересно, когда же в языках программирования появится полноценная поддержка разного рода морфем.

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

задавать флексии, например те же падежи

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

Но Вы можете опровергнуть. Просто реализуйте всё то, что предлагаете. Останется тогда признать Вашу правоту.

     2022/12/14 16:10, MihalNik          # 

Это не просто вертикальные черты, это обозначение операции «или». Если изъять из этот символ из перечня операций, то что взамен? Ничего лучшего для «или» не придумаешь.

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

задавать флексии, например те же падежи

Считаю пустой тратой времени.

однако:

Не правда ли

"не печётся"

это лучше, чем

"не-печётся"

?

Не правда ли, "ширина окна" лучше чем "окно.ширина" или "окно->ширина", а "10 чисел" лучше чем "число[10]"?

для начала, описать правила русского языка в БНФ

Зачем, если можно просто спросить падеж с исходной формой в словаре?

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

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

     2022/12/14 18:31, Автор сайта          # 

Не правда ли, "ширина окна" лучше чем "окно.ширина" или "окно->ширина", а "10 чисел" лучше чем "число[10]"?

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

Так что к символам вроде «. -> [ ]» надо относиться как к элементам искусственного языка. Который лаконичнее естественного и часто воспринимается быстрее.

Зачем, если можно просто спросить падеж с исходной формой в словаре?

А если в словаре нет специфичных терминов? Как видоизменять «IP-адрес» (которого нет в словарях!) по числам и падежам? Ведь есть просто безграмотные люди (меня сегодня повеселили словами «борщь» и «пильмени»), тогда вместе с программированием будет происходить и «отладка» русского текста?

Конечно, могу ошибаться. Просто продемонстрируйте работающее решение со словарями. И я перейду на светлую сторону :)

Наше обсуждение отклонилось от темы статьи. Но куда перенести комментарии?

     2022/12/14 19:45, MihalNik          # 

Так что к символам вроде «. -> [ ]» надо относиться как к элементам искусственного языка. Который лаконичнее естественного и часто воспринимается быстрее.

Ну также как к подчеркам/дефисам в идентификаторах. Ведь "пр-к" короче чем "прямоугольник". То есть и в естественных языках и в ЯП дефис также может быть очень полезен.

Достичь более-менее терпимой естественности в рамках одного идентификатора нетрудно.

Нетрудно, но для большинства точно также будет бессмысленно. На самом деле незначащий мусорный клей мешает даже меньше чем значащий. Только поэтому среди распространенных ЯП пробелов в них нет. Более того, достичь вполне терпим_ естественност_ нетрудно_ и в рамк_ цел_ выражен_ обычн_ ЯП. Для эт_ достаточн_ вместо изменяем_ част_ слов_ писать какой-нибудь "_".

     2022/12/14 20:22, MihalNik          # 

И это тоже неумно. Минус — он для вычитания и смены знака. Тот же символ нижнего подчёркивания — и то лучше.

Дефис-то набирается одним пальцем, а подчерк — двумя, потому что в верхнем регистре. Этим он хуже.

     2022/12/17 11:49, Автор сайта          # 

Неслучайный читатель

Прочитал у Алексея Недори, что он идею пробелов в идентификаторов взял из языка ЯРМО. Нашёл описание языка, там даже возможен перенос частей идентификатора на другую строку.
идентификаторы в языке ЯРМО

Подчеркнул многословные идентификаторы для наглядности. Так что забирайте свои слова назад.

     2022/12/17 12:29, Gudleifr          # 

А как же каноническое FORTRAN-овское

В программе на Фортране, вместо "DO 3 I = 1,3" было набрано "DO 3 I = 1.3", что было воспринято компилятором как присвоение значения 1.3 переменной DO3I

Все ещё хотите пробелы?

     2022/12/17 14:08, Автор сайта          # 

Во-первых, «DO 3 I» и «DO3I» и — это разные идентификаторы. Они отличаются как визуально (разрывы между символами отчётливо видны, для того и пишут текст программы моноширинными шрифтами), так и на уровне двоичного представления: в первом идентификаторе в третьей и пятой позиции — символ с кодом 32, то есть пробел.

Во-вторых, очень странно, что в Фортране допускаются идентификаторы в пробелах. Вот читаю документацию по языку:

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

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

Ну и в-третьих, ключевые слова, идущие впереди идентификатора, не должны входить в этот идентификатор. Например,
if i > 0

     2022/12/19 22:16, Неслучайный читатель          # 

забирайте свои слова назад

Забираю :) Ну надо же, в таких древних языках такое уже было. Ходим по кругу, можно сказать. А ведь такая узкая прослойка программистов была! Однажды мне одна дама задала вопрос, отчего я с компьютерами «на ты». Ответил, что получил образование в этой области. Удивилась: «Неужели этому учат?». А ведь учат уже более полувека. Дольше, чем ей было лет тогда.

     2023/01/19 16:17, void          # 

Прочитал у Алексея Недори, что он идею пробелов в идентификаторов взял из языка ЯРМО. Нашёл описание языка, там даже возможен перенос частей идентификатора на другую строку.

Спасибо за наглядный пример кода. Вот по этому тексту вопрос: "многословные идентификаторы", или "идентификаторы с пробелами" все в именительном падеже.
ПОИСК В ТИ(ДАННОЕ ИМЯ)
логично было бы просклонять в родительном или винительном:
ПОИСК В ТАБЛИЦЕ ИДЕНТИФИКАТОРОВ (ДАННОГО ИМЕНИ)
Можно также придумать искусственный случай, когда спряжения или разные времена тоже будут иметь смысл — то есть, будут значащими, а не просто синонимами. И удобнее всего было бы читать нормальный русскоязычный текст с корректными склонениями, спряжениями, именами, залогами и т.п. словоформами. Как это реализовано сейчас:

1. В языке 1С, например. Ява-подобные идентификаторы типа СтаршийПомощникМладшегоДворника МенеджерОбъектовДекораторАбстрактнойФабрикиМостаСинглтонаКомпозитораВивисектора и прочие "немецкоязычные" идентификаторы на четыре строки одним словопредложениемсинтетическогословотворчествамокроходовсоснегоступами. ///RTFM: Марк Твен, "Почему немецкий не мой любимый язык". Читается это всё нелепо, не по-русски: никакой лепоты. Например, потому что искусствено навязывается именительный падеж строго везде, даже там где невместно сие.

2. В языке RInform, русский Inform6. Здесь просто отбрасываются окончания. Ну и задаются все словоформы в разных падежах как синонимы.

3. Любопытно, как это было реализовано в русском Алгол-68, есть ли тут какая-то информация. В общем, насколько я понимаю — никто специально не следит за корректностью спряжений, склонений, падежей, времён и прочих словоформ, все либо ограничиваются именительным падежом либо таблицей синонимов. А между тем, можно сделать эту информацию значащей.
  • Например, страдательный пассивный залог — когда действует не объект по собственной инициативе, а действуют с несчастным объектом.
  • Например, выделение объектной декомпозиции OOA&OOD : Class-Responsibility-Concern или Entity-Boundary-Control.
  • Например, такие объекты среды как метаклассы или мультиметоды — и напрашивающиеся на них части речи: прилагательные, наречия, депричастные обороты.
В целом, кажется, что корректно транслировать "многословные идентификаторы" нужно именно как выделение именной группы. Для проверки корректности например в этом алгоритме http://opencorpora.org/wiki/Инструкция_по_определению_именных_групп (а также в Википедии) заменить именную группу местоимением "Предложение содержит именную группу."<=>"Оно её содержит." здесь "многословный идентификатор" составной "предложение ... именную группу", глагол посреди к именной группе не относится. То есть, они получаются не просто "с пробелами", а ещё с синтаксическими паттернами.

Также анафоры типа "оно её", "того на этого","это самое","вот эта фиговина" — тоже можно выводить в раскрытие означаемого полуавтоматически (типа макроса "анафорического if" в лиспе, подставляющего нужное вместо it).

Попытаюсь продолжить пример Алгол-68 из Википедии в гипотетический "русский Алгол":
# Next day date - english variant
mode date = struct(Int day, string month, Int year);
proc the day following = (date x) date:
If day of x < length of month (month of x, year of x)
then (day of x + 1, month of x, year of x)
elif month of x = "December"
then (1, "January", year of x + 1)
else (1, successor of month (month of x), year of x)
fi;

# Nachfolgetag - Deutsche Variante
menge datum = tupel(ganz tag, wort monat, ganz Jahr);
funktion naechster tag nach = (datum x) datum:
wenn tag von x < monatslaenge(monat von x, jahr von x)
dann (tag von x + 1, monat von x, jahr von x)
wennaber monat von x = "Dezember"
dann (1, "Januar", jahr von x + 1)
ansonsten (1, nachfolgemonat(monat von x), jahr von x)
endewenn;


#дата следующего дня - по-русски
тип дата = структура (целый день, строкой месяц, целый год);
проц следующий день = (дата ъ) дата:
ежели день из ъ меньше длины месяца (месяца из ъ, года из ъ)
тогда (день из ъ +1, месяц из ъ, год из ъ)
вдругорядь месяц из ъ большеЛибоРавен "Мартобрь"
тогда (1, "Января", год из ъ +1)
иначе (1, после от месяца (месяца из ъ), года из ъ)
ужеВсё;
Не правда ли, с синонимами, падежами, склонениями стало легче читаться?

Отсутствие возможности корректно склонять падежи, сопрягать времена, использовать нужные синонимы, лексемы, морфемы, и, самое главное — семемы приводит к тому, что и читается сей код вымученно, искусственно, не по-русски.

Русский язык богат и выразителен. Велик и могуч. Там есть полисемия, синкопа. Анафора, метафора и гипербола. По сути он есть свой собственный метаязык: мы просто ещё не до конца осознаём механизмы его метапрограммирования. Придумывать же очередной Волапюк с навязанным везде именительным падежом "многословных идентификаторов" есть вымученно-вырожденно-вынужденный способ потерять всё это богатство и выразительность.

Хватит нам уже одной Явы или ихнего хтонично тевтонского ABAP-а.

     2023/01/19 16:32, void          # 

Попробуйте, для начала, описать правила русского языка в БНФ, а потом эту формализацию воплотить в транслятор.

Запрограммируйте "падение редуцированных гласных" и чередование гласных в БНФ, слабо? То-то же. То ли дело W-грамматики: они же Тьюринг полны и там возможно это и даже больше.

     2023/01/19 17:00, void          # 

Пример кода на ABC, определение функции:

Functions may return any type. Note that indentation is significant — there are no BEGIN-END's or { }'s:

        HOW TO RETURN inverse t:
PUT {} IN inv
FOR k IN keys t:
PUT k IN inv[t[k]]
RETURN inv

Пример кода на ЛОГО, определение функции:

TO HELLO
PRINT [Hello, World!]
END
В русской версии языка Лого:
ДЛЯ ПРИВЕТСТВИЯ
ПИШИ [Привет, мир!]
КОНЕЦ

(Болгарская болгаро- и русскоязычная версия ЛОГО 2.0 для Правец 8).

Видите, что было в этих языках? Человекочитаемость! Лексемы были подобраны так, чтобы не компьютеру было удобно это парсить, а человеку писать задуманное. Допустим, развивался бы Алгол-68 с первичным синтаксисом (лиспоподобным, который там уже был) и вторичным, синонимами (примерно так же, как реализовали многоязычность). А потом к этому бы добавили синтаксических макросов в духе языка Dylan и D-expressions. И можно было бы невозбранно добавлять себе всякие синонимы, чтобы писать и читать было удобно — а не вмещаться в прокрустово ложе ограничений искусственного языка. Например, вместо
проц следующий день = (дата ъ) дата:                    
...
введём функцию следующий день это (дата ъ) дата, такая, что:
.... if-выражение ....
то есть, помимо паттернов в макросах D-expressions добавлять многословные идентификаторы и синонимы, роды, падежи, склонения и спряжения для повышения человекочитаемости. Вообще, любопытно было возродить Алгол-68 на Dylan (или наоборот).

     2023/01/21 17:38, Автор сайта          # 

логично было бы просклонять в родительном или винительном

Оно-то логично. И патриотично, и культурно, и интеллигентно. Однако ж как сделать, чтобы мой компилятор отслеживал, где правильно, а где нет? Чтобы если правила русского языка диктуют необходимость родительного падежа, то попытки иных употреблений пресекались? Ведь даже формальное соблюдения синтаксиса не достаточно: выбрать между «это жеребёнок» и «это же ребёнок» можно, только зная семантику.

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

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

Отсутствие возможности корректно склонять падежи, сопрягать времена, использовать нужные синонимы, лексемы, морфемы, и, самое главное — семемы приводит к тому, что и читается сей код вымученно, искусственно, не по-русски.

На данный момент у нас два варианта.
  • Мы, русские люди, продолжаем писать на английском. Треть своего буднего дня погружаемся в чужую культуру, отключаемся от родной. Утешаем себя мыслями, что зато не коверкаем родной язык, не пишем именительный падеж там, где нужен родительный.
  • Второй вариант: если нет системы, определяющей правильность русской речи, то что остаётся? Пишем идентификаторы переменных, в которых главное слово — существительное в именительном падеже. И идентификаторы функций, где главное слово — глагол в повелительном наклонении. «За неимением гербовой пишем на простой».
Сообщите, когда появится третий вариант.

Русский язык богат и выразителен. Велик и могуч.

Так не портьте его. Я очень много времени провожу, исправляя за Вами ошибки. А то Вы радеете, чтоб в языке программирования комар носа не подточил, а сами пишете тяп-ляп. Могу сказать, что если появится безупречный с Вашей точки зрения русский Алгол, то Вам придётся исправлять за собой много ошибок: там пунктуация страдает, сям Вы не любите писать с большой буквы имена собственные или начало предложения и т.д. Вы будете несовместимы с таким совершенным инструментом.

То ли дело W-грамматики: они же Тьюринг полны и там возможно это и даже больше.

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

«ДЛЯ ПРИВЕТСТВИЯ» — это укладывается в один идентификатор. А раз так, то ничего сложного, здесь никто не контролирует падежи. «ПИШИ [Привет, мир!]» — а вот это не по-русски! Правильно писать так: «Пиши: "Привет, мир!"». После «Пиши» необходимо двоеточие. Квадратные скобки в русском языке играют совсем другую роль.

прокрустово ложе ограничений искусственного языка

Николай Лобачевский, русский математик: «Чему одолжены своими блестящими успехами науки, слава нынешних времен, торжество ума человеческого? Без сомнения, искусственному языку своему!»

Вообще, любопытно было возродить Алгол-68 на Dylan (или наоборот).

Это праздное любопытство или побуждающее засучить рукава?

     2023/01/30 23:16, Автор сайта          # 

Добавил в список язык программирования с многообещающим названием Rave , что в переводе с английского означает «бред». Авторами языка (согласно Гитхабу) являются 4 человека.

     2023/03/15 00:30, Автор сайта          # 

Добавил язык COLAMO разработки Научно-исследовательского центра супер-ЭВМ и нейрокомпьютеров, г. Таганрог.

     2023/06/06 00:31, Автор сайта          # 

Пополнил список уже не новыми языками Cj и ПОП.

     2023/07/26 00:06, Автор сайта          # 

Пополнил список новым языком Argentum и довольно старым GAZ.

     2023/10/18 13:52, Автор сайта          # 

Дополнил список языком Клаус, который назван в честь Никлауса Вирта. Правда, название языка не уникально, в энциклопедии эзотерических языков программирования esolangs.org можно найти точно так же названный язык. Предположу, что "Клаус" отличается от "Никлаус" тем же, чем "Коля" от "Николай".

     2023/10/19 22:30, Деньги на WWWетер          # 

Когда же назовут какой-нибудь язык в честь Вильяма нашего Шекспира Денниса Ритчи? Его вклад в языки ничуть не меньший, чем у Вирта. На его языке написали больше, чем на всех виртовских вместе взятых. Получается, что культ Вирта есть, а культа виртовских языков нет. А с Си всё наоборот: есть культ языка, но нет культа его автора.

Любопытно, как пополняется Ваш список? О некоторых языках вообще был ни слухом, ни духом. Откуда?!

     2023/10/19 23:49, Автор сайта          # 

Да, Ритчи достоин этого. Хотя мой грядущий язык до сих пор названия не имеет, но называть его в честь Ритчи не буду. В конце концов, он сын американского народа, вот пусть американцы и думают над этим.

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

Мне много подсказывают. Мои читатели и соавтор по написанию статей Д. Ю. Караваев. Сами авторы языков иногда просят включить сюда. Даже родственники подсказывают :) Много берётся на Хабре. Последнее время в Дзене можно встретить что-то уникальное. Общего алгоритма нет :)

     2023/11/04 20:57, Автор сайта          # 

Добавил язык программирования Sound. Интересно, зачем такое название дано языку? Чтобы найти его на пятисотой странице поисковой выдачи?

     2024/02/26 22:08, Ivan          # 

Я — разработчик языка программирования GAZ Иван Горчаков. Компилятор продолжает развиваться, добавились новые команды — например, работа с Microsoft Excel через OLE, работа с BMP-файлами. Множество скриптов написано на языке GAZ, которыми постоянно пользуюсь. Виртуальная машина языка GAZ в 2024 году работает быстрее, чем версия от 2011/2012 года.

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

P.S. В моём проекте — системе автоматизации магазинов Client Shop — активно используется встроенный язык программирования GAZ, что делает софт настраиваемым. Но также существует и отдельная сборка компилятора GAZ, которая периодически обновляется.

Язык написан, т. к. в своё время темой компиляторов меня заинтересовал известный доцент Свердлов Сергей Залманович, который 20 февраля 2024 года умер в 69 лет профессором.

     2024/02/27 22:07, Автор сайта          # 

больше не выкладываю новые версии компилятора в Интернет, так как это не востребовано

А не пытались разобраться, почему он не вызвал интерес? Ведь не у всех так. У Котлина как-то вышло пробиться в люди.

Ваш случай является самым распространённым вариантом: разработчик собственного языка является его единственным пользователем. Естественно, возникает вопрос: а почему бы не объединиться 10 разработчикам, чтобы было 10 пользователей у одного языка? Но вопрос этот конечно же риторический.

В моём проекте — системе автоматизации магазинов Client Shop — активно используется встроенный язык программирования GAZ

На языке ПРОФТ тоже писалось ПО, которое было бухгалтерским, оно где-то применялось. Но программировал на этом языке только сам автор. Проект теперь закрыт. Вот и Ваш язык зависит от одного человека, то есть от Вас. Расхочется Вам — и проект закроется. Жаль, конечно.

известный доцент Свердлов Сергей Залманович

По-моему, он был автором какой-то литературы по теме компиляции. Где-то что-то встречал.

     2024/02/28 22:02, Бурановский дедушка          # 

Иван Горчаков, а Ваш язык назван не в честь Горьковского автозавода? :)

Добавить свой отзыв

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

Авторизация

Регистрация

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

Карта сайта


Содержание

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

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

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

Компилятор

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

●  Отечественные компании-разработчики компиляторов

●  Энтузиасты-разработчики компиляторов и их проекты

●  Ресурсы, посвящённые созданию языков программирования и компиляторов

●  Экскурс в историю разработок языков программирования и компиляторов в СССР

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

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

Новости и прочее




Последние отзывы

2024/02/29 13:21 ••• veector
О неправомерном доступе к памяти через указатели

2024/02/28 23:29 ••• Автор сайта
«Двухмерный» синтаксис Python

2024/02/28 22:02 ••• Бурановский дедушка
Энтузиасты-разработчики компиляторов и их проекты

2024/02/28 18:59 ••• Вежливый Лис
Про лебедей, раков и щук

2024/02/24 18:10 ••• Бурановский дедушка
ЕС ЭВМ — это измена, трусость и обман?

2024/02/22 15:57 ••• Автор сайта
Русский язык и программирование

2024/02/19 17:58 ••• Сорок Сороков
О русском языке в программировании

2024/02/16 16:33 ••• Клихальт
Избранные компьютерные анекдоты

2024/02/10 22:40 ••• Автор сайта
Все языки эквивалентны. Но некоторые из них эквивалентнее других

2024/01/30 23:27 ••• Сорок сороков
О превращении кибернетики в шаманство

2024/01/23 12:04 ••• Неслучайный читатель
О многократном резервировании функций

2024/01/16 17:11 ••• Автор сайта
Некоторые «вкусности» Алгол-68

2024/01/06 16:54 ••• Ильдар
Новости и прочее