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

★★★★★

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

в зависимости от того, в каком языке мы ищем слово

Как поиск будет угадывать из какого языка слово в тексте? Например, если это текст программы.

ABCEHKMOPTX <-> АВСЕНКМОРТХ

Надо идти до конца: 013 <-> ОlЗ <-> OI3

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

эсперанто бы хорошо лёг не ЯП. существительные = переменные глаголы = функции/методы прилагательные = свойства Приэтом можно использовать как кирилицу так и латиницу

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

Мое решение подразумевает, что его можно вообще безо всякого напряжения перенести в любую среду.

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

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

Просто в ЯОС ряд идей по улучшению удобства работы с двухъязычными текстами собраны вместе и их можно опробовать в комплексе.

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

Я вот обоими языками хорошо владею, но писать учётную логику куда проще на русском, т.к. нет выдумывания терминов разными программистами, и они юзают единый учётный суржик, а не кто во что горазд. Многие термины вообще непонятно, как переводить, хоть у них и есть косвенный перевод. Да и главный вопрос ЗАЧЕМ, НАХРЕНА писать на чужом языке то, что применимо только вот прямо здесь и сейчас в ООО Вася и Петя.

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

Это не язык для русскоговорящих, это язык, препятствующий любое взаимодействие с кодом не-русскоговорящих.

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

В приведённых примерах служебных слов языка всего два: пусть и если. Причём англоязычные аналоги let и if не запрещены. Всё остальное программист может писать хоть на суахили.

monk ★★★★★ ()

ИМХО фирма 1С избрала правильный подход в обеспечении возможности разработки русскоязычных модулей - операторы, объекты, переменные, … могут быть в одном из поддерживаемых языков.

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

Теперь пора над вовкой и пошутковать.

https://www.youtube.com/watch?v=xCOWSa-RvMc О постах Владимиров

Каждую ночь, Владимиры /стаями/, флудят на ЛОР.

Владимир

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

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

Так и пишите свою логику на 1C, кто мешает? А вот будешь писать по-русски компилятор или что-то близкое к железу, и возникнет обратная задача по выдумыванию русских терминов и аббревиатур. А потом другие люди будут сидеть и материться делая обратный перевод. Это как с переводной компьютерной литературой. Такого напереводят, что проще и быстрее читать в оригинале.

anonymous ()

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

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

Если ЯП на кириллице, то будешь переключаться туда и обратно то и дело

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

Нужно "делать", а охотников "делать" - мало.

Владимир

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

О общение в стиле «посмотри валуе таски обработки инвоице» тоже не ускоряет процесс разработки.

А знаешь что ускоряет? «Check out the value of the invoice processing task». Всем понятно, пул разрабов ширится, рынок экспорта твоего ПО растет.

Вот зачем мне как программисту знать, что такое customer, TIN, payroll, payment, …

Если payroll тебя не манит и устраивает сидеть без payment и customer, то, наверное, можеть сидеть без TIN и хоть языком жестов программы писать.

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

Check out the value of the invoice processing task

Только в том случае, если все члены команды отлично знают английский.

А то один очень хороший разработчик написал книгу: Прошу оценить будущую книгу по программированию

И выяснилось, что те, кто английский не знают, ее прочитать [https://www.linux.org.ru/forum/development/15788885?cid=15789053](не могут), а те, кто знают, настолько ужасный английский читать не будут. Потому что вместо английского получилась книга на русском английскими словами.

Если payroll тебя не манит и устраивает сидеть без payment и customer

Я живу в России, поэтому у меня вместо этого платёжные ведомости, зарплата и клиенты.

P.S. Почему «Check out», а не «Check»? И не факт, что обработка — это processing. Вполне может оказаться и dispatch и даже commit (а спрашивающий вообще быть не в курсе, так как кишки соседнего класса). И если последние два назвать обработкой, то скорее всего поймут, а если процессингом, то не факт.

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

В 1С весь код может быть на русском и проблем с переключением нет.

Там нет сущностей вроде путей к файлам на диске, названий устройств и прочего. В замкнутом крохотном мирке можно обойтись кириллицей. Где это ваше 1с на мировой арене?

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

А то один очень хороший разработчик написал книгу [на ломаном]

Ты сам знаешь, что он сделал неправильно.

P.S. Почему «Check out», а не «Check»?

Потому что бедный русский съедает кучу оттенков и их надо обратно додумывать (‘check’ vs ‘check out’ vs ‘look at’, ‘processing’, ‘a’, …)

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

Ну иди и пиши на своём английском, что тебе мешает? Делом займись же. Тебе настолько страшно, что русский завоюет свои 3% программистов и тебе придётся прятаться по оврагам?

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

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

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

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

Вот поэтому я и взял за основу Ракет, а не Паскаль/Си/Си++. Можно было как китайцы взять Питон, но там с кодировками форменное издевательство.

monk ★★★★★ ()

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

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

сч, тек-сч, н-1 это ужасно

Синтаксические конструкции на полных именах сложнее показывать. А красивый вариант вот: ссылка.

универсальную среду визуального программирования

Метапрог? Viskell?

monk ★★★★★ ()

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

для русскоговорящих

Я не понимаю. У нас же был тут один популярный лиспер съехавший с этой темы. Неужели так трудно перенять опыт? Трудно посмотреть соседние треды о количестве русского языка в интернетах? Трудно посмотреть экономические проблемы страны под которую затачивается язык? Мы все ведь открывали материалы по истории нашей страны?

Не понимаю на что рассчитаны подобные разработки. Не указано где применять этот язык и так далее. Надеюсь, что мозги есть, и это не язык под «научную среду в РФ».

Меня просто задолбало, таланты распыляются и никто им почему-то не помогает в том, чтобы они НЕ делали этого. К примеру, моё КДЕ до сих пор течёт, могли бы в этом проекте поучаствовать. :(

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

Там где-то в соседнем треде пацанчик свою ОСь решил запилить, вы случаем не родственники? Или вы просто один кружок юных велосипедистов посещаете?

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

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

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

С марта 2013 года по декабрь 2017 доля русского языка на сайтах Интернета выросла с 5,9 % до 6,8 %

Трудно посмотреть экономические проблемы страны под которую затачивается язык?

Так в США экономика на грани новой Великой Депрессии. Плюс торговая война с Китаем. А в РФ на почве импортозамещения даже рост наблюдается.

Не понимаю на что рассчитаны подобные разработки. Не указано где применять этот язык и так далее. Надеюсь, что мозги есть, и это не язык под «научную среду в РФ».

Прикладное переносимое ПО. Всё, для чего покупать платформу 1С избыточно, а писать на Си++ излишне трудоёмко.

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

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

Бесскобочный лисп с инфиксными операциями. Вот использование аналогичного языка (без инфиксных операций): https://github.com/jFransham/racketd/blob/master/racketd.rkt

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

С марта 2013 года по декабрь 2017 доля русского языка на сайтах Интернета выросла с 5,9 % до 6,8 %

Ну и сколько из этих 7% про «программисты», а не кошечки/видосики в вкшечки/одноклассниках? Есть мыслишки? Сколько актуальной литературы готово предоставить русскоязычное сообщество? А о геях-переводчиках различных книг по программированию/алгоритмам мне стоит рассказывать?

Так в США экономика на грани новой Великой Депрессии. Плюс торговая война с Китаем. А в РФ на почве импортозамещения даже рост наблюдается.

Хм. Маск запустил пилотируемый корабль. Маску сделали «МИР» в Китае. Маска послали нахер в России. Это по персоналиям. К слову, Маск не пользуется 1С.

Далее. Администрация РФ потеряла множество народных денег всяким диктаторам-людоедам, которые, очевидно, никогда бы денег не вернули. И это продолжается дооолгие годы, при этом никаких уроков, словно специально (конечно, специально). В это же время Америка объясняет ВОЗу о том, что они тут больше всех платят и скоро платить перестанут. То же и с блоком НАТО. Связи между Китаем и Америкой крепки как между работягами в Никеле и Хозяином. И изменения в этих отношениях наступят не при нашей жизни, да и не при жизни наших детей.

Притворяешься, что не умеешь анализировать экономическую ситуацию , и не понимаешь по какому сценарию всё идёт? Не верю.

Прикладное переносимое ПО. Всё, для чего покупать платформу 1С избыточно, а писать на Си++ излишне трудоёмко.

Для этих целей есть Python, к примеру, над которым работает весь мир.

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

Грустно, КДЕ то течёт…

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

Кстати, в таких темах надо запрещать анонимные комментарии.

Из-за чего? Есть вполне удобное разделение по веткам, это позволяет не запутаться, разве нет?

Или ты просто не хочешь со мной общаться? Ну так и напиши, если это имеет место.

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

Если-то, тема не поцанская. Когда-тогда – да.

Чем лучше-то?

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

И склонения и спряжения.

Не придумал, как их удобно использовать в описании алгоритмов.

функция "Делать Хорошо"
   // ололо

когда не "Делает Хорошо" ()
   записать в журнал ("всё плохо!")
тип Пользователь

переменная бакланы: список Пользователей

Аналогично паскалевскому

var
   backlans: array[1..24] of Users;

Хотя это и фигня. По идее Пользователи уже автоматический список как бы. И тогда

тип
  Пользователь = бла-бла
переменные
  бакланы: Пользователи // Пользователь[]
anonymous ()
Ответ на: комментарий от anonymous

когда не "Делает Хорошо" ()

Хотя не понятно как быть с совершенным видом…

если Сделано Хорошо ()
   завершить с успехом ()

Вообще, если-то для постоянных, а когда-тогда для изменяющегося состояния. Такая суть. Семантика.

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

Целевая аудитория?

1Сники, которым надо чуть больше, чем есть в OneScript. Мне, например, не хватает нормальной многозадачности с очередью сообщений.

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

Студенты, обучающиеся программирования (как альтернатива классическому Racket или Scheme).

monk ★★★★★ ()