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

А что с ним не так?

Большая часть «так», но Team в Организациях - read only. А как достучаться теперь до этих наркоманов, нихрена не понятно. Мож у кого получилось?

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

Перфолента, первое знакомство Новый язык программирования

И опять

Перфолента основана на технологии Net и полностью интегрирована в неё.

И более того

Выход в Open Source пока не планируется. Это может произойти не раньше, чем компилятор и стандартная библиотека не будут переписаны на Перфоленту.

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

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

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

У меня ни когда не было помысла, что разработка программ с использованием русских идентификаторов не удобна.
Но ИМХО «революционерами» не нужно быть /фанатично отказываться от всего англоязычного/.
Но и «баранами» благолепно, смотрящими на все из-за «бугра» тоже не нужно быть.

Владимир

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

Но и «баранами» благолепно, смотрящими на все из-за «бугра» тоже не нужно быть.

ИМХО нужно разработать альтернативные форматы файлов elf, dll, lib, … для возможности использования в них имен в разной кодировке.
Конечно и ldd должен уметь работать с этими форматами.
Многие корни монополии ASCII находятся именно здесь.

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

Многие будут противиться, критиковать, … потому как у многих в голове сидит - «не нужно» .

Владимир

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

Кстати, вот ещё:

https://infostart.ru/public/1128834/

РФокс – это один из самых простых свободно распространяемых языков для освоения начинающими. Легко создаются экранные формы для ввода информации, сохраняются в простых DBF таблицах и легко формируются отчеты на основе шаблонов Excel и LibreOffice (OpenOffice).

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

ИМХО нужно разработать альтернативные форматы файлов elf, dll, lib, … для возможности использования в них имен в разной кодировке. Конечно и ldd должен уметь работать с этими форматами.

Потребуется отдельная ОС. С этим к den73.

Для dll и прочего достаточно или внешней таблицы соответствия или пуникода.

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

Потребуется отдельная ОС. С этим к @den73.

Ни какая отдельная ОС не нужно.
Чем Linux не угодил?

С этим к @den73.

Речь была не о том что я, вы или @den73 смогут произвести разработку.

Конечно займусь созданием новых форматов сохранения результатов компиляции.

Ныне более актуально разработка GUI.

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

Да и в целом считаю, что эти задачи не от «Горя от ума».

PS: Для меня задача обеспечения многоязычности находится вовсе не в плоскости борьбы с «злобными дядями из-за бугра».

Владимир

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

Кстати, вот ещё: https://infostart.ru/public/1128834/

Спасибо!
Интересная разработка.

Года три назад сделал рефакторинг harbour и обеспечил возможность использования всего его API из одной DLL.

Язык программирования harbour очень близок к Foxpro 2.6.
Можно было расширить не много язык программирования harbour для того, чтобы в нем работал и код на Foxpro 2.6.

Можно было бы ныне вполне «выкатить» а-ля 1С 8.xx, но зачем?

Что касается 1С и их языка программирования, то он интересен, но создавать а-ля совместимый с 1С язык программирования «не мое» - однозначно.

Архитектура языка программирования 1С «проседает» часто и густо и пригодна лишь для разработки информационных систем.

Имеется еще обширнейший класс задач - 2D, 3D, multimedia, … - «это мое» /не «брезгуя» и задачами разработки информационных систем/.

PS: 1С «не брезгую» и многие хорошие архитектурные решения от них пригодятся.

Владимир

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

Можно было бы ныне вполне «выкатить» а-ля 1С 8.xx, но зачем?

Пожалуй НЕ ГОТОВ.

GUI пока нет /да и много чего нет/.
Так что «попотеть» придется еще много /но задача вполне реализуемая/.

PS: До «лавр» 1С мне дела нет.

Владимир

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

Кстати, вот ещё: https://infostart.ru/public/1128834/

https://github.com/UfaScript/RusFox 1С-подобный язык программирования Русский Фокс

Разработчик в
https://www.nn.ru/community/techno/tech/russkiyfoks_1s-podobnyy_yazyk_programmirovaniya.html РусскийФокс — 1С-подобный язык программирования
сказал «Разрабатывается на FoxPro 9».
Так что

можно и декомпилировать

Владимир

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

Без Метапрога вам не справиться. Только санитару не забудьте рассказывать ход разработки.

Что сказать то хотели?

Пока все о чем в треде было сказано не «фантазии манилова», а реально функционирующее API.
Да и планируемая работа - «не фантазии манилова».

Работы на несколько лет и «трубить» о ней на форумах не буду.
Сделаю, кратко расскажу о сделанном.

Владимир

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

Без Метапрога вам не справиться. Только санитару не забудьте рассказывать ход разработки.

Не обижаюсь на вас.
Видимо «какашка» рядом лежала …

владимир

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

А зависимые типы (ну или хотя бы уточняющие типы) будут из коробки?

Контракты будут. В том числе такие:

предоставить
  с-контрактом
    сортировка-массива
      ->и
        ; 
          м массив?
          д (м) 
            <=/к длина-массива(м)
        результат (м) 
          отсортированный-массив-из м

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

Уточняющие типы со статичесой проверкой в стиле Typed Racket можно затащить. Технически можно даже с нуля зависимые запилить. Но жёсткая типизация резко ограничивает разнообразие типов данных и функций. Поэтому пока такой задачи не ставлю.

monk ★★★★★ ()

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

Да еще если многоязычный буде …
Это будет не плохое начало, потому как а-ля 1С языки - «не взлетят» /но «шуму» много будет/.

Владимир

anonymous ()

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

Так что совет «стаи» решил?
Нужна многоязычность в языках программирования?

anonymous ()

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

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

ок. набор макросов на смайлоепском недоязыке = новый язык. тут был шизик

@monk развивает синтаксис языка.
Кроме того в его планах /не приоритетных правда/ обеспечение многоязычности, а это - круто.
Скорее всего у него получится что-то типа Kotlin /над раскет/.
А почему бы и нет?

Владимир

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

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

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

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

Какую проблему решает этот язык ?

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

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

И всё это доступно программисту, не изучавшему английский язык, также как язык конфигураций 1С и формулы MS Excel.

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

И всё это доступно программисту, не изучавшему английский язык, также как язык конфигураций 1С и формулы MS Excel.

Какой язык программирования близок синтаксисом вашему?

Владимир

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

Когда приблизительно релиз планируется?

Надеюсь, через несколько месяцев. Но так как пишется в свободное от работы время и «just for fun», то как повезёт.

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

Обязательно. Думаю, даже параллельно с самим языком делать в качестве документации для себя.

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

А вот когда японцы напишут ЯП на японском, и ты будешь разбирать такой код, тогда поговорим про дань носителям.

А заодно ЯП на китайском, тайском, арабском.

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

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

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

А вот когда японцы напишут ЯП на японском, и ты будешь разбирать такой код, тогда поговорим про дань носителям.

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

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

А вот когда японцы напишут ЯП на японском

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

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

но почему-то Юкихиро Мацумото создал Руби на английском языке.

Русские программисты создали Kotlin на английском языке.

А 兼宗進 (Канемуне Шин?) разработал ドリトル (Дулитл)

Программа выглядит так:

 かめ太=タートル!作る。
 カメ=タートル! 作る。
 時計=タイマー! 作る 0.1秒 間隔 500回 回数。 時計! 「かめ太! 10 歩く」 実行。
 左=ボタン!”左”作る。 左:動作=「かめ太! 20 左回り」。
 右=ボタン!”右”作る。 右:動作=「かめ太! 10 右回り」。
monk ★★★★★ ()