LINUX.ORG.RU

Новый язык программирования для русскоговорящих

 , ,


2

1

Синтаксис от Хаскеля, семантика от Ракета.

факториал(сч) =
  если (сч == 1)
    1
    сч * факториал (сч - 1)

фибоначчи(сч) =
  если (сч < 3)
       1
       пусть рекурсия (н-1 1 ; н 2; тек-сч 3)
         если (сч == тек-сч) н $ рекурсия н (н + н-1) $ тек-сч + 1

Будет ещё конструкция надо-быстро с семантикой от Си (и использованием gcc).

Исходники: https://github.com/Kalimehtar/russian-lang

Пакет для Ракета: https://pkgd.racket-lang.org/pkgn/package/russian-lang

Документация: https://docs.racket-lang.org/russian-lang/index.html

★★★★★

Ответ на: комментарий от monk

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

Ну все, с этим уже можно идти выбивать грант на импортозамещение. Меньше $1млн. не проси.

seiken ★★★★★ ()
Ответ на: комментарий от anonymous

А, язык маргиналов для маргиналов? Так добавьте это в описание! Но, какого же чёрта нельзя направить свой труд на что-то полезное?

Линус в 1992 году тоже сделал свою ОС для маргиналов, вместо того, чтобы использовать 386BSD, к примеру.

monk ★★★★★ ()
Ответ на: комментарий от den73

Снесли ветку, я тут отвечу.

На лекциях по матану у лектора иногда заканчивались латинские и греческие буквы и он переходил на кириллицу. Ща по дэ Ща звучало особенно колоритно…

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

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

AntonI ()
Ответ на: комментарий от monk

Линус в 1992 году тоже сделал свою ОС для маргиналов, вместо того, чтобы использовать 386BSD, к примеру.

Он её сделал на финском языке, для финов и сохранения великого и могучего финского языка? Или всё же он решал какую-то проблему, и решил её?

anonymous ()
Ответ на: комментарий от den73

Ветку снесли. Прочитал, убедился в твоей фанатичности. Прошу только, пожалуйста, не толкай в эту колею «новичков». Это будет конец для них, почти наверняка. Спасибо.

П С Модераторы, в чем причина удаления веток может вы откроете? Мы тут обсуждали причины невозможности успеха локализованных языков программирования, и столько ифны ушло в пустоту….

anonymous ()
Ответ на: комментарий от AntonI

На лекциях по матану у лектора иногда заканчивались латинские и греческие буквы и он переходил на кириллицу. Ща по дэ Ща звучало особенно колоритно…

А индексы, они также заканчивались? Штрихи там всякие? Звёздочки, специфические чёрточки и прочий бред?

Ща по дэ Ща звучало особенно колоритно…

Кошмар.

anonymous ()
Ответ на: комментарий от anonymous

Он её сделал на финском языке, для финов и сохранения великого и могучего финского языка?

Он её сделал для сохранения лицензионной чистоты. Если уж на то пошло, то из GPL в BSD код перенести гораздо сложнее, чем из русскоязычной в англоязычную.

monk ★★★★★ ()
Ответ на: комментарий от AntonI

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

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

http://вече.программирование-по-русски.рф/viewtopic.php?f=6&t=23

den73 ★★★★★ ()
Ответ на: комментарий от anonymous

А индексы, они также заканчивались?

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

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

AntonI ()
Ответ на: комментарий от AntonI

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

Есть такие языки:

  poll pop.mail.ru with proto pop3:
        user "jsmith" there has password "u can’t krak this"
                    is jws here and wants mda "/bin/mail"
CHECK-VAL PIC 9(3).
   PASS VALUES ARE 041 THRU 100.
   FAIL VALUES ARE 000 THRU 40.

MOVE 25 TO NUM1 NUM3.
MOVE 15 TO NUM2 NUM4.

INITIALIZE NUM2 REPLACING NUMERIC DATA BY 12345.

MULTIPLY NUM1 BY NUM1 GIVING RES-MULT.

Меня они пугают…

monk ★★★★★ ()
Ответ на: комментарий от monk

Что по поводу языка написания, он епашил на финском или нет? Ты ответь уж, пожалуйста.

Он её сделал для сохранения лицензионной чистоты.

То есть цель отличалась от «сохранить финский язык»? Ты писал, что пишешь ЯП общего назначения, если я тебя правильно понял, но вот скажи, ты помрёшь (условно, автор помрёт), кто будет продолжать кодить на этом недоязыке и почему?

anonymous ()
Ответ на: комментарий от den73

Я пока что скорее за простоту поиска, которая не особо-то улучшится от возникновения синонимов.

Поиск придется делать свой, с учетом синонимов. И вообще свою IDE.

Но все таки… все то хорошо что поднимает выразительность ЯП. Это конечно субъективная штука, но пока что я как тот учитель из анекдота про стреказо и муравэй - «нэвыразитэльно»…

AntonI ()
Ответ на: комментарий от AntonI

индекс тоже буква.

А цифра, цифра тоже буква? Или буква это элемент на твоём языке?

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

А щито поделать?

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

Страшненько.

anonymous ()
Ответ на: комментарий от AntonI

Но все таки… все то хорошо что поднимает выразительность ЯП. Это конечно субъективная штука, но пока что я как тот учитель из анекдота про стреказо и муравэй - «нэвыразитэльно»…

Ждём ИИ, который будет кодить что нам нужно наперёд, и мы даже знать об этом не будем. :)

anonymous ()
Ответ на: комментарий от anonymous

Его цель была «сохранить GPL». Моя «сохранить русский язык». Точнее и то и другое — подцели в рамках проектов «написать ОС» у него или «написать лисп без скобок, зато с отступами и приоритетами операций» у меня.

monk ★★★★★ ()
Ответ на: комментарий от anonymous

А цифра, цифра тоже буква? Или буква это элемент на твоём языке?

Нет, цифра это цифра… но численный индекс это некая экзотика. Хотя бывает, но таким обозначениям не хватает общности. Вместо u_1, u_2, u_3 лучше смотрится a, b, c какое нить. Хотя это дело вкуса.

А щито поделать?

Вводить другие обозначения.

Страшненько.

Не то слово. Особенно в ворде (он техом не умел)

AntonI ()
Ответ на: комментарий от AntonI

Поиск придется делать свой, с учетом синонимов. И вообще свою IDE.

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

Своя IDE есть.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от monk

Моя «сохранить русский язык».

написать лисп без скобок, зато с отступами и приоритетами операций

Вот об этом я и толкую. А мог заняться правками в КДЕ :(

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

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

anonymous ()
Ответ на: комментарий от anonymous

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

А ось есть на русском языке? тото же!

anonymous ()
Ответ на: комментарий от anonymous

На самом деле есть масса конкретных задач, которые на порядки больше по объёму, чем создание, а тем более перевод ЯП. Поэтому даже если Монк будет пользоваться этим языком в одно лицо (на базе ракета, который, между прочим, развивает длительное время большая команда), то это имеет все шансы окупиться, если прирост производительности труда при реализации большого проекта покроет трудозатраты на создание/перевод ЯП.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 4)
Ответ на: комментарий от AntonI

Хотя это дело вкуса.

Соглашусь.

Не то слово. Особенно в ворде (он техом не умел)

Без теха тяжко ему было, наверное. Вкусовщина, наверное. :)

anonymous ()
Ответ на: комментарий от den73

Но ведь ты говорил то же самое и про свой проект в своё время. Я ведь помню это всё…

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

anonymous ()
Ответ на: комментарий от anonymous

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

Если честно, мне всё равно. Пользоваться буду я сам. Но не против, если будет пользоваться кто-то ещё. Лицензия MIT.

monk ★★★★★ ()
Ответ на: комментарий от anonymous

Я хотел лишь отметить, что есть уже сейчас существующие проекты, которые можно было бы допилить.

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

http://вече.программирование-по-русски.рф/viewtopic.php?f=5&t=156

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

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

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от peregrine

Ты забываешь, что многие из этих букв имеют значения по умолчанию.

Когда большую статью пишешь, ровно те же проблемы. Скажем T - температура, beta - обратная температура и т.д. От области конечно зависит, но если ты в статфизике заюзаешь бету в качестве какого нить не знаю… давления, то тебя не поймут.

AntonI ()

Специальный язык для (.*)говорящих не имеет смысла. Ибо его нужно учить, и это уже «твой» второй язык, и ты уже полуполиглот. Для пользователей локальной раскладки имело бы смысл, но приведенном минимум 3 символа из русской раскладки недоступных, т.ч. не годится.

DonkeyHot ★★★★★ ()

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

xmodmap -e «keycode 67 = apostrophe»

xmodmap -e «keycode 68 = quotedbl»

xmodmap -e «keycode 69 = numbersign»

xmodmap -e «keycode 70 = semicolon»

xmodmap -e «keycode 71 = bracketleft»

xmodmap -e «keycode 72 = bracketright»

xmodmap -e «keycode 73 = ampersand»

xmodmap -e «keycode 74 = bar»

xmodmap -e «keycode 75 = braceleft d»

xmodmap -e «keycode 76 = braceright f»

xmodmap -e «keycode 95 = less t»

xmodmap -e «keycode 96 = greater n»

anonymous ()