Форум программистов, компьютерный форум, киберфорум
Проекты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175

Пишу ЯП

27.04.2025, 11:54. Показов 11075. Ответов 155
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Вот уже не первый десяток лет разрабатываю Язык (не столько Программирования, сколько Перевода), в котором (внимание)
а) нет ни одной заранее сформированной изнутри команды (по типу любых управляющих конструкций - от классов до ветвлений), то есть абсолютно все команды вводятся пользователем
б) язык Абсолютно декларативен. То есть пользователю не требуется даже заботиться о том, чтобы хоть как-то объяснять, как должна работать его команда "под капотом". Все ради мысли сутью вне форм.

Звучит парадоксально? Тогда прошу читать далее.

Теорию Языка разрабатываю где-то с 13-16 года (в ~13ом возникло желание, а понимание, как... нет, не так, наметки понимания, как, начали приходить в 16ом году). Порядка десяти лет экспериментов, ошибок, хождений кругами и непрерывных обсуждений со всеми, до кого руки дотягивались, потребовались для того, чтобы завершить Теорию в полной мере. На данный момент я решил, что надо написать что-то наподобие мануала с тремя целями:

1.Мануал-руководство для использования
2. ...апгрейда
3.ТЗ первого прототипа Ядра.

Примерно, как это сделал Кнут в своей книге TexBook (им и вдохновлялся)

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

Мой мануал (первую его примерную часть) можно скачать тут:
https://github.com/AndreyPuchinin/Zer0-LaTeX.git

Файл AllZer0-25418.tex - то, что вам нужно. Это латех-документ, его надо сверстать в пдф.

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

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

Заранее спасибо!

UPD: Язык изначально затевался как просто помощник в задаче создания Метода Бога для Твисти Пазлов (в основном, небандажных) для человеческих мощностей. Вряд ли тут кто-то сильно шарит за тему, но, возможно, мне удостоится честь стать прекрасным поводом открыть для себя TwistyPuzzles.ru(почти мертв) и .com

UPD2: и я был бы благодарен, если бы кто-то просветил меня, куда именно надо эту тему и с какими тегами...
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2025, 11:54
Ответы с готовыми решениями:

Пишу нейросеть, а она ни в какую не обучается
Добрый день, пишу нейросеть, а она ни в какую не обучается, помогите пожалуйста( import os...

При import keras пишет: Using TensorFlow backend
Установила библиотеку tensorflow, она работает. Установила keras а при import keras пишет: Using...

Telethon/openai. почему GPT-3 от openAi пишет полный бред, и отвечает на свои же сообщения?
Суть проблемы: Решил я значит поселить на аккаунт телеграма GPT-3 нейронку, чтоб за меня на...

155
18 / 40 / 8
Регистрация: 22.12.2024
Сообщений: 224
30.04.2025, 16:20
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Ну давай, какую проблему решает Большая Теорема Ферма?
Я далек от математике. Но если запрос на доказательство был - значит кому-то это нужно было, это не вещь в себе.

Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Читай первую главу первой доки. А потом уже предъявляй претензии.
Я только ее и прочитал.

Особенно мне понравилось:

"В случае же с использованием Zer0 Вам не надо подыскивать и учить новые ЯП с их синтаксисом и ограничениями. Всё, что нужно, — это связи между ‘карточками’"

То есть получается такой анекдот:

Ученик подходит к сенсею и спрашивает, сколько времени займет выучить ваш ЯП Zer0, за месяц справлюсь? Нисколько, ноль часов и ноль минут, - отвечает сенсей. Ты просто садишься и делаешь нужную тебе программу на Zer0.
1
3011 / 1444 / 262
Регистрация: 16.03.2008
Сообщений: 6,441
Записей в блоге: 2
30.04.2025, 16:26
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Окей. Вам - да, мне - нет. Я пишу Язык в первую очередь под свои нужды
Воот... Т.е. у вас есть некие нужды, которые вы решаете. конкретные. Вот их бы и описали.

Добавлено через 2 минуты
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
ут все цели дискуссии на текущий момент, я предлагаю двигаться по ним.
все так

Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Я испытываю сложность в том, чтобы преподнести материал "от и до", последовательно проводя от "а до я"
Я вам пытаюсь это рассказать, но вам это не нравится.

Добавлено через 2 минуты
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
В общем, я здесь за тем, чтобы улучшить свою доку.
И я самого первого сообщение именно о доке. Споткнулись мы на ее начале. А начало это самое важное всегда. И в доках, и в книгах и в кино..... Какой бы восхитительной не была середина и финал, если начало унылое и не внятное - ни кто не дойдет до....
1
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175
30.04.2025, 20:14  [ТС]
Цитата Сообщение от Noname2331 Посмотреть сообщение
Я далек от математике
И от русского языка - тоже)

Добавлено через 2 минуты
Цитата Сообщение от voral Посмотреть сообщение
Я вам пытаюсь это рассказать, но вам это не нравится.
Простите, постараюсь исправиться

Добавлено через 6 минут
Цитата Сообщение от voral Посмотреть сообщение
Вот их бы и описали
Если совсем коротко, мне нужна максимальная синтаксическая (дробь-под вопросом-семантическая, поправка: раньше я называл это Грамматикой, виноват) свобода. Чтобы
а) не надо было втискиваться в ограничения ЯП (ограничения данных двух типов - синтаксические/под вопросом семантические)
б) можно было в любой момент ввести новое правило, и играть по-новому (очень грубо, но так).

А нужно все это для того, чтобы "уйти от формы и думать и оперировать смыслами" - где-то в доке эта фраза точно была. Фактически это просто такой хитрый инструмент, который просто дает больше гибкости и меньше ограничений. Свобода. А со свободой приходят возможности, а с возможностями - проще решать сложную задачу, требующую интуиции, потому что задача во многом исследовательская (а это мой любимейший тип задач! - второй док тому ли не подтверждение?) и её план и ход решения ни на каком заборе не написан

Возможно, это еще и кому-то в таких задачах сможет помочь

Добавлено через 1 час 5 минут
Кстати, свобода-то выстраивается ведь даже морфологически - раз заведомо зарезервированных лексем и токенов нет! Зато вот имя карточки можно условно назвать Нетерминалом (потому что в преобразованном итоге Входной Строки они никогда фигурировать не будут - это внутренние сущности), а значения - обычные (usual_vals), самоссылки (selflinks_vals), шаблонные (templ_vals) и идентификаторы-айдишники (is_vals) - можно с натяжкой назвать Терминалами.
0
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 617
30.04.2025, 20:37
Сижу и думаю - какой же я тупой! Я вообще ни слова не понимаю, о чем пишет ТС. Два десятка лет.... Ни в постановке задачи ни в инструментах и реализации и даже в цели...
0
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175
30.04.2025, 21:17  [ТС]
Подведу некий итог, чтобы не кидаться цитатами и не спорить:
Отличия Зеро:

-философия в том, чтобы максимально уйти от конкретики формы записи и мыслить и оперировать больше смыслами. Это полезно для решения математических задач, где требуется "много интуиции", возможность быстро и наиболее безболезненно изменить "правила игры". Фактически Зеро - это умный математик-ассистент, который подстраивается под решателя и может автоматизировать некоторые действия в той форме, в которой это надо непосредственно прямо сейчас. Это дает гибкость, гибкость ускоряет процесс попыток, чем больше попыток "поиграть по-разному", - тем больше выводов. Чем больше выводов имеем и чем больше "мертвых" вариантов отмели - тем эффективнее решаем задачу.
Достигается нижележащим:

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

-есть аналоги Нетерминалам - имена Карт, - и есть Терминалам - их значения, разделенные по видам (не буду сейчас вдаваться в подробности)

-в силу того, что нет лексем - не идет речи о проверки кода неким "Аппаратом" (например, Автоматом) на корректность. Сравнивать работу Зеро, применяя к ней в вопросе понятие проверки грамматики Автоматом и все причастные к этому сущности, с другими ЯП на этом этапе - это сравнивать "ток с напряжением" или "шершавое с зеленым"

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

-Однозначно я этим еще займусь (когда начнутся фидбеки по конспекту) - надо довнести в конспект Алгоритмы Маркова. Пока что есть вопросы к этой области, возможно - даже наверняка - какие-то детали уточнятся (уточнятся названия) после того, как я этим займусь. Например, может окончательно разделиться этап прекомпиляции и выполнения - я имею в виду последние 2 пункта: о чем больше идет речь в Зеро - о грамматических или аналогичных проверках, о выполнении, о заменах или о чем-то еще?

Добавлено через 58 секунд
Цитата Сообщение от ViachaslauK Посмотреть сообщение
Я вообще ни слова не понимаю, о чем пишет ТС
Как мне следует это воспринимать? как претензию или комплимент?)

Добавлено через 21 минуту
И еще одну мысль докину в "итог":
-Кажется, я злился не на тех. Судьба рассудит, кто здесь мельком, а кто останется. Прошу прощение у всех, на кого сорвался за вчера из тех, кто останется, по вине тех, кто тут мельком И спасибо за то, что вы еще здесь
0
 Аватар для Tanya2007
593 / 230 / 72
Регистрация: 13.05.2020
Сообщений: 412
30.04.2025, 22:45
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
1-4.Финальная программа со всеми дополнительными требованиями:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
card1_name = "num_not0"
card1_usual_vals = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
 
card2_name = "num"
card2_usual_vals = ["num_not0num_not0", "num_not00"]
card2_selflink_vals = ["numnum"]
card2_id_vals = ["num.num"]
 
card3_name = "nums"
card3_usual_vals = ["num", "num,num"]
 
card4_name = ""
card4_usual_vals = [" "]
 
card5_name = "[num]"
card5_templ_vals = ["[[num]]"]
 
card6_name = "num.1,nums"
card6_templ_vals = ["num.1,nums,num.1"] 
 
card7_name = "Ошибка! Незакрытая скобка!"
card7_templ_vals = ["[num"] 
 
card8_name = "Ошибка! Лишняя закрывающаяся скобка!"
card8_templ_vals = ["num]"]
Я уложился в число карт < 10. Здесь нет ни одной команды по типу ифа или фора. Все значения строк вводит исключительно программист, пишущий на Зеро. То есть, я имею право написать это любыми другими словами - хоть иероглифами, лишь бы кодировка позволяла, - и программа оставит за собой точность в действии над неограниченным числом Входных строк - того, что может "спросить" пользователь у этой программы.
Можете пожалуйста привести пример:
1) Какие запросы пользователя решит данный код, помимо запроса: "Вход "[[1,2,3,5],4,5,[[6,1,2]]]" Выход "[1,2,3,4,5,6]""? Т.е. какие еще входные данные может ввести пользователь и что может получить на выходе? Можно ли использовать эту программу на разных запросах?
2) Помимо чисел, как можно написать (переписать) программу, чтобы она преобразовывала (обрабатывала) входящие строки от пользователя состоящие из текста (слов)?

P.S. Ваш мануал я прочитала, мозг отчаянно пытался зацепиться за идею. Мне даже казалось, что вот-вот я уловлю смысл того что читаю. И вроде бы понимание начинает приходить, но тут же ускользает. Если честно, документация читается очень тяжело. Кажется, во всей вашей затее есть отличный зачаток чего-то стоящего, но я так и смогла уловить чего именно.

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

И документацию вы пишете в слишком "официальном стиле". Попробуйте описать это проще, более человечным языком что-ли.
3
3011 / 1444 / 262
Регистрация: 16.03.2008
Сообщений: 6,441
Записей в блоге: 2
30.04.2025, 23:24
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Чтобы
а) не надо было втискиваться в ограничения ЯП (ограничения данных двух типов - синтаксические/под вопросом семантические)
б) можно было в любой момент ввести новое правило, и играть по-новому (очень грубо, но так).
Ну это из серии "я за мир во всем мире". Это все очень общие слова.
Это просто чтоб было или можете обрисовать задачи где это надо?
При этом такая гибкость может наоборот работать как минус. Простейший пример: типизация в PHP. До не давнего времени ее там не было.. вот тебе и "не надо в тискиваться в ограничения" и, даже, в моменте это удобно.... но вот при игре в долгую... Как следствие сейчас PHP идет в сторону строгой типизации. И это правильно. Я пришел в PHP с c/c++/delphi. казалось бы должна была быть привычка к типам. И вот кода стал старые свои работы на php приводить на новые версии, с типизацией... сколько же потенциальных багов я у себя вычистил.....

Ну и главное. Возвращаясь к тому, что это лишь общие слова: можете на примере показать в каких задачах это мешало раньше? Что значит играть по новому? Ну например на C++ можно оператор + изменить на другое поведение. ЧТоб он вычитал. вот вам игра по другому. но оно вам надо?

Добавлено через 51 секунду
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
-философия в том, чтобы максимально уйти от конкретики формы записи и мыслить и оперировать больше смыслами. Это полезно для решения математических задач, где требуется "много интуиции", возможность быстро и наиболее безболезненно изменить "правила игры". Фактически Зеро - это умный математик-ассистент, который подстраивается под решателя и может автоматизировать некоторые действия в той форме, в которой это надо непосредственно прямо сейчас. Это дает гибкость, гибкость ускоряет процесс попыток, чем больше попыток "поиграть по-разному", - тем больше выводов. Чем больше выводов имеем и чем больше "мертвых" вариантов отмели - тем эффективнее решаем задачу.
Достигается нижележащим:
-нет токенов и лексем. То есть нет заведомо заранее зарезервированных команд (пометка: в моем доке-конспекте под командой имеется в виду несколько более высокая вещь, чем лексема).
-есть аналоги Нетерминалам - имена Карт, - и есть Терминалам - их значения, разделенные по видам (не буду сейчас вдаваться в подробности)
-в силу того, что нет лексем - не идет речи о проверки кода неким "Аппаратом" (например, Автоматом) на корректность. Сравнивать работу Зеро, применяя к ней в вопросе понятие проверки грамматики Автоматом и все причастные к этому сущности, с другими ЯП на этом этапе - это сравнивать "ток с напряжением" или "шершавое с зеленым"
-Однако можно говорить об (условно) выполнении или точнее форме выполнения - преобразования Входной Строки в другой результат
-Однозначно я этим еще займусь (когда начнутся фидбеки по конспекту) - надо довнести в конспект Алгоритмы Маркова. Пока что есть вопросы к этой области, возможно - даже наверняка - какие-то детали уточнятся (уточнятся названия) после того, как я этим займусь. Например, может окончательно разделиться этап прекомпиляции и выполнения - я имею в виду последние 2 пункта: о чем больше идет речь в Зеро - о грамматических или аналогичных проверках, о выполнении, о заменах или о чем-то еще?
Это описание чата GPT и аналогов?
0
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175
01.05.2025, 00:23  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
Я пришел в PHP с c/c++/delphi
Выходит, мы почти родственные души - я оттуда же)

Добавлено через 1 минуту
Цитата Сообщение от voral Посмотреть сообщение
Это описание чата GPT и аналогов?
Ээм... нет. Это описание Зеро. Ну то есть это компиляция его описания, звучавшего в чате в разных местах в сумме.

Добавлено через 5 минут
Цитата Сообщение от Tanya2007 Посмотреть сообщение
Можно ли использовать эту программу на разных запросах?
Абсолютно точно да. То, для чего она годна, описано в моем сообщении, которое вы процитировали, в пунктах 1-4. То есть
-можно использовать числа, а не только цифры
-можно использовать вложенные скобки сколько угодно раз. Они удаляются с помощью

Python
1
2
card_x_name = "[num]"
card_x_templ_val = ["[[num]]"]
-одинаковые числа удаляются до единственного употребления
-после удаления всех вложенностей и одинаковостей, строка преобразуется в один из форматов

Python
1
2
3
[num,...]
[num,...
num,...]
Соответственно, карты с указанием ошибки в имени заменят последние две строки на нужную ошибку

Добавлено через 1 минуту
-Отрицательные числа в данном коде нельзя (приведут некорректной работе программы, так как она не разрабатывалась ни под задачу их обрабатывать как значения, ни как ошибки), но могу сделать так, чтоб было можно

Добавлено через 48 секунд
Цитата Сообщение от Tanya2007 Посмотреть сообщение
преобразовывала (обрабатывала) входящие строки от пользователя состоящие из текста (слов)
А какая именно обработка вам нужна?..

Добавлено через 1 минуту
Цитата Сообщение от Tanya2007 Посмотреть сообщение
И документацию вы пишете в слишком "официальном стиле". Попробуйте описать это проще, более человечным языком что-ли.
окей)

Добавлено через 14 минут
Цитата Сообщение от Tanya2007 Посмотреть сообщение
любого другого решения на любом другом языке программирования
Ну это уж простите, нереально - я не знаю всех языков программирования на свете и не могу знать. Но пример привести могу:

Python
1
2
card1_name = "hello"
card_usual_val = "world!"
Заменит во Входной строке вхождения "world!" -> "hello". На самом деле, там используется особая функция (уже написана), которая "выбирает главное между позицией вхождения, длиной и еще некоторым параметрами", но да, для начала можно просто сказать, что мы рассматриваем только строку "world!", и никакие больше, потому что в данном случае мы можем классифицировать их временно как нежелательные, непредсказуемые, "ломающие" программу

Python
1
2
3
4
5
card1_name = "name"
card1_usual_vals = ["AndyKybik"]
 
card2_name = "Hello, name"
card2_templ_vals = ["name"]
Программа, которая заменяет "AndyKybik" -> "Hello, AndyKybik" (мой ник как блогера)

Комментарии к коду:
-Нетерминал "name" соответствует Терминалу "AndyKybik"
-Значение "name" автоматически классифицируется Менеджером Карт как шаблонное за счет того, что в нем есть ссылка - полное и точное вхождение имени другой карты (любой, с любыми значениями любых типов из 4ех).
-шаблонное значение в контексте своей Карты и её имени выполняет следующую роль: оно "перемалывает" участок Входной Строки, используя некоторые из тех же её отрывков в другом порядке и (возможно) другом контексте (контекст может как дополняться, так и удаляться). Фактически это что-то вроде КЗ-грамматик, только в одной сущности.

Добавлено через 3 минуты
Поправка на ветер:
-В случае, когда usual_val -> name, name - это НЕ Нетерминал, тк он появляется в строке. То есть можем разделить на два случая:
--Имя карты - Терминал при замене значения типа usual_val -> имя этой карты
--Имя карты - Нетерминал - во всех остальных случаях (Никогда не появится в строке)

Добавлено через 7 минут
Кроме того, давайте опишу пример, как работает и для чего нужен selflink - самоссылка:

Python
1
2
3
4
5
6
7
8
card1_name = "<letter>"
card1_usual_vals = [<буквы>]
 
card2_name = "word"
card2_selflink_vals = ["<letter><letter>", "<letter><word>", "<word><letter>", "<word><word>"]
 
card3_name = "Hello, <word>!"
card3_templ_vals = ["<word>"]
Строка "aab" -> "<letter><lettter><letter>" -> "<word><letter>" -> "<word>" -> "Hello, <word>!" -> "Hello, aab!"

Но здесь скрыта работа Парсера, и она не такая простая... Там весь прикол во вложенных последовательных циклах в основном, которые делят выполнение на "Прямые замены: прямые простые, самоссыльные и шаблонные" и "обратные замены"

Добавлено через 3 минуты
Цитата Сообщение от voral Посмотреть сообщение
Ну например на C++ можно оператор + изменить на другое поведение. ЧТоб он вычитал.
Перегрузка, знаком) И с STL'ем дело тоже когда-то давно имел...

Добавлено через 1 минуту
Цитата Сообщение от voral Посмотреть сообщение
Это просто чтоб было или можете обрисовать задачи где это надо?
У меня есть пример, но его надо будет выцепить из диалога с нейросетью, ну или так вспомнить. Постараюсь что-то привести
0
Software Engineer
 Аватар для Custos
328 / 328 / 54
Регистрация: 23.09.2014
Сообщений: 976
01.05.2025, 01:28
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Ну давай, какую проблему решает Большая Теорема Ферма?
Сама теорема - особо никакой. А вот масштабное развитие и объединение различных областей математики, которые произошли в процессе доказательства теоремы, как раз имеют значение.
Из банального - ECDSA, который лежит в основе практически всех блокчейнов (да и не только их), это внезапно(!) тоже результат работы, которая была проделана в процессе доказательства БТФ.
0
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175
01.05.2025, 02:05  [ТС]
Custos, ну я в общем, о том и говорю - что причин заняться задачкой особых не нужно, а применение так или иначе найдется. Надо просто двигаться и не тормозить) А будешь долго размышлять, зачем тебе оно надо, - только время потратишь.

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

Добавлено через 9 минут
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Они удаляются с помощью
Раз уж мы начали про этот код прямо сейчас - то скажу прямо сейчас:

В Зеро есть некоторые трюки, которые пользователь может выбирать и осуществлять путем того же ввода Карт. Вопрос содержимого - в данном случае трюк такой. Нам надо, чтобы под num могло скрываться что-то вроде "1,2,5, ...". Ну дак используем уже описанный для этого механизм самоссылок, которые как бы "рекурсивно съедают" в себя Нетерминалы:

Python
1
2
card_x_name = "<num>"
card_x_selflink_vals = ["<num>, <num>"]
Пример парсинга Входной Строки:

"[[1,2,3]]" -> "[[<num>, <num>, <num>]]" -> "[[<num>, <num>]]" -> "[[<num>]]" -> "[<num>]" (Тут сработал шаблон) -> "[1,2,3]"
0
3011 / 1444 / 262
Регистрация: 16.03.2008
Сообщений: 6,441
Записей в блоге: 2
01.05.2025, 09:54
Python
1
2
3
4
5
card1_name = "name"
card1_usual_vals = ["AndyKybik"]
 
card2_name = "Hello, name"
card2_templ_vals = ["name"]
PHP
1
2
$name = "AndyKybik";
$result = "Hello, {$name}";
Из примера видно, что код на вашем языке станет на много объемнее, что плохо. При этом код визуально очень похож блок от блока. И все это серьезные минусы


Python
1
2
3
4
5
6
7
8
card1_name = "<letter>"
card1_usual_vals = [<буквы>]
 
card2_name = "word"
card2_selflink_vals = ["<letter><letter>", "<letter><word>", "<word><letter>", "<word><word>"]
 
card3_name = "Hello, <word>!"
card3_templ_vals = ["<word>"]
Тут несколько подходов сделал ни фига не понял, что творится во второй карточке. Можете просто словами этот код расписать? Типа из массива букв составляем слово?

Добавлено через 1 час 24 минуты
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Но здесь скрыта работа Парсера, и она не такая простая... Там весь прикол во вложенных последовательных циклах в основном, которые делят выполнение на "Прямые замены: прямые простые, самоссыльные и шаблонные" и "обратные замены"
Я так подозреваю вы просто за карточками скрываете основную работу программиста. Т.е. я тоже могу взять любой ЯП и расширить его. Либо просто написать функцию на нем же, либо библиотеку. В т.ч. например, написать расширения на сях для PHP с использованием многопоточности (отсутствующей в php) и завернуть абсолютно любую логику, любой сложности. И в итоге код на php который заменить ваш
Python
1
2
3
4
5
6
7
8
card1_name = "<letter>"
card1_usual_vals = [<буквы>]
 
card2_name = "word"
card2_selflink_vals = ["<letter><letter>", "<letter><word>", "<word><letter>", "<word><word>"]
 
card3_name = "Hello, <word>!"
card3_templ_vals = ["<word>"]
сведется на языке php к
PHP
1
add_hello(<входной массив букв>);
В итоге моя одна самодокументрующа строка против ваших 6, в которые еще надо вникнуть
1
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 617
01.05.2025, 10:02
Цитата Сообщение от iifat Посмотреть сообщение
Prolog
Мне тоже ПРОЛОГ сразу в голову пришел. Только это действительно язык, а тут я вижу текстовый процессор с попыткой мигрировать под NLP с пока непонятной мне логикой и предназначением
0
3011 / 1444 / 262
Регистрация: 16.03.2008
Сообщений: 6,441
Записей в блоге: 2
01.05.2025, 10:08
Вообще ЯП нужны для решения задач. Соответственно, выносимая вами в основу "задача" сделать язык "гибкий, нет токенов и лексем и т.п.". Это не корректные задачи для создания языка. Это инструменты, которые могут помочь (ну или осложнить) решение каких то задач языка.

Т.е. если бы ваша документация начиналась
"Этот язык предназначен для...." (вероятно обработки текстов)
"Существующие ЯП 'имеют трудности' для выполнения этой задачи, например...."
"Для решения этой проблемы может помочь" (вот здесь в теории может быть, и про то что токены не нужны и про гибкость)
"Дополнительной особенностю ЯП являются (тут могут быть токены и некая доп. гибкость), которые позволяютс получить следующий профит....",

PS И еще про доку (которая в PDF). Шрифт ужасный, не для доки, несколько раз ловил себя на мысли, что он мешает воспринимать. Arial был бы нормально здесь.
0
133 / 57 / 2
Регистрация: 23.11.2024
Сообщений: 681
01.05.2025, 10:11
Каждый своё видит. Потому что всё мутное и можно увидеть что угодно. Допустим я любитель философа Ильенкова, и его "теории познания". Теория познания занимается тем, что описывает окружающий мир при помощи понятий (понятие - это концепт, записанный на конкретном языке). Ну и вот человек хочет инструмент, который будет автоматизировать процесс познания. Под прологом хоть какая-то теория лежит в виде логики предикатов и вообще традиции логики. А тут "карточки", это что-то из Агаты Кристи (Писательница, которая вела картотеку приёмов для написания детективов, собирала заметки и идеи о различных сюжетных ходах и приёмах, которые использовала в своих произведениях. Эта картотека помогала ей создавать захватывающие и запутанные сюжеты, за что она и стала известна как "королева детектива")
0
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175
01.05.2025, 19:19  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
card2_name = "word"
Поправочка, не успел исправить - тут должно быть "<word>", а не "word"

Добавлено через 1 минуту
Цитата Сообщение от voral Посмотреть сообщение
написать расширения на сях для PHP с использованием многопоточности (отсутствующей в php)
Вы говорите о DLL?..

Добавлено через 3 минуты

Не по теме:

Когда-то давно еще в школе я придумал полностью свой собственный метод сборки кубика Рубика. Меня все спрашивали, чем он лучше? Вопрос тот же, который мне задают сейчас, только в другом направлении. И вот сейчас, сзаведя несколько блогов, и ведучи их уже лет 6, я могу с уверенностью сказать, что, не будь того метода - не было бы и массы другого опыта и результатов.



Добавлено через 45 минут
И еще раз: я не могу сравнить свой Язык со всеми другими на Планете
0
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 617
01.05.2025, 19:20
Andrew Puchinin, Правильно ли я понимаю, что реализация этого всего идет на пайтон? Если да, то это крайне странный выбор, по мне. Вы тестировали свои наработки на файле в 100-200 Мегабайт, например. Мало того что пайтон сам по себе медленный, так тут нему предстоит делать двойную работу - вместо использования готовых лексем нужно рапсарсить и данные и алгоритм обработки? Поправьте, если я ощибаюсь...
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Когда-то давно еще в школе я придумал полностью свой собственный метод сборки кубика Рубика.
Ох, не к добру, тут уже бродят любители сделать не как у всех по одной причине - потому что хотят... У менят тоже был свой метод в 1984 году - немножко надавить и грани высыпались, потом можно было за пару минут собрать его правильно. А потом брат принес журнал Наука и жизнь, с алгоритмом и я научился собирать его меньше чем за минуту)))
0
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175
01.05.2025, 19:25  [ТС]
В лучшем случае я могу сравнить с теми которые знаю. Да тут еще и играет значение, знаю насколько хорошо, глубоко, и что из этого помню (на С++ я, например, последний раз писал несколько лет назад)

Добавлено через 2 минуты
Цитата Сообщение от ViachaslauK Посмотреть сообщение
по одной причине - потому что хотят...
1) Мы это уже обсуждали выше - причины не нужны - нужны лишь поводы
2) Ну история же показала - не будь у меня того метода в школе - не было бы сейчас и (например) возможности съемки в МГУ

Добавлено через 1 минуту
Цитата Сообщение от ViachaslauK Посмотреть сообщение
я научился собирать его меньше чем за минуту)))
а понимаете ли вы то, что делаете?) Вот я - да, я теперь сам формулы сочиняю сходу для головоломок, которые впервые вижу
0
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 617
01.05.2025, 19:26
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Ну история же показала - не будь у меня того метода в школе - не было бы сейчас и (например) возможности съемки в МГУ
Извините, возможности чего? мне непонятна фраза а ваш язык еще не написан, чтоб обьяснить ее))
0
 Аватар для Andrew Puchinin
35 / 9 / 1
Регистрация: 25.04.2016
Сообщений: 175
01.05.2025, 19:29  [ТС]
Цитата Сообщение от ViachaslauK Посмотреть сообщение
Извините, возможности чего?
нене, я про блоги и головоломки
0
 Аватар для ViachaslauK
122 / 179 / 16
Регистрация: 08.10.2024
Сообщений: 617
01.05.2025, 19:39
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
нене, я про блоги и головоломки
Понятнее не стало) Про язык - шутка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2025, 19:39
Помогаю со студенческими работами здесь

Сокеты ну и Networkstream, раз пишу в .Нет наверное сюда ;)
Если кратко то вопрос таков можно ли при вызове BeginRead у NetworkStream вызывать Write или...

пишу свой framework
Form.js /* * Core */ /* пара вспомогательных функций */ function...

Пишу аналог Radmin - нужна Ваша помощь
Приветствую всех участников форума. У меня есть вопрос: Вступление. Я пишу аналог программы...

пишу плагин для IExplorer`а
вобщем сам плагин кое-как написал, работает. но вот с чем столкнулся: SHDocVw.InternetExplorer...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru