Pull to refresh

Comments 15

Существующий, как класс и парадигма (конкатенации) без "синтаксиса" языков (синтаксис порождается как контекст по договорённости взаимодействующих слов) и мета-программирования с цельностью заложенных основ в построение таких языков программирования, как Форт (Forth) и его "потомки" https://concatenative.org уже показали свою практичность при своей минималистичности.

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

Спасибо за статью и ссылки на исследования.

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

Подобный синтаксис может стать своего рода “Esperanto for machines”, универсальную грамматикой для выражения синтаксических конструкций, который напрямую описывают вычислительные алгоритмы без учета особенностей человеческой психики :-)

Подобный синтаксис может стать своего рода «Esperanto for machines» […]

И обязательно им станет: как эсперанто не использует для общения или создания литературы ни один нормальный человек — так и про эту грамматику никто кроме сумасшедших авторов не узнает.

Вы не учитываете геополитику и человеческий менталитет.

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

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

Эсперанто очень даже используется при общении и создании литературы.

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

государствам нужно защищать свои интересы, которые тесно связаны с национальными языками

В период нахождения Франко у власти в Испании (1939–1974) за использование национальных языков на улице (каталанского и баскского, в основном) — можно было неиллюзорно присесть на пару лет. Тем не менее, Ферратер-и-Солер (и многие другие) продолжали писать и переводить. Безо всяких корпораций.

если корпорации увидят реальную экономию за счет упрощения обучения моделей

Корпорации — те же государства, только с гораздо более драконовскими законами, и договариваться они умеют гораздо хуже.

с чем вы спорите или пытаетесь доказать?

Я ничего никогда никому не пытаюсь доказать. Умный поймет и без меня, а дураков образовывать — не моё.

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

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

А раз у вас нет аргументов, кроме как потешаться, то может быть стоит над этим подумать и попробовать разобраться в этом вопросе? :-)

может быть стоит над этим подумать и попробовать разобраться в этом вопросе?

Может быть. Я думал, я разобрался, я даже написал довольно много работоспособного и используемого много где кода для решения этих проблем. (И некоторое количество неплохо принятых сообществом текстов.)

Но помилуйте — не на хабре же все это обсуждать. Серьезные решения я обсуждаю с профессионалами.

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

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

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

А ещё я слышал, что есть контекстно-свободные и контекстно-зависимые грамматики. Обычно рассматриваются и используются контекстно-свободные, и эта свободность грамматики, во многом, обеспечивает замкнутость и вычислительную эффективность языков программирования. Для моделирования реального мира нужно, конечно, использовать контекстно-зависимые грамматики. При этом мы должны всегда помнить о естественных ограничениях сякого формального подхода. Модели всегда останутся лишь подобиями объектов реального мира. Тем более, что, выделяя какие-то объекты, мы уже допускаем некоторую вольность речи ("Мысль изречённая есть ложь.") И дело не только в теореме Гёделя. Хотя, и в ней, тоже. Дело ещё и в том, что в реальной жизни смысл оказывается, скорее, не тем, что изначально дано, а тем, что привносится субъектом информационного взаимодействия. Традиционная семантическая теория — это денотативная теория, где субъекты взаимодействия обмениваются денотатами — дескрипторами, к которым привязаны заранее заданные смысловые единицы, отсюда и аналитическая теория языка. Но есть и альтернатива — коннотативная семантическая теория, где смысл привносится субъектом. (Это можно сравнить с катушками индуктивности, где токи одной катушки наводят токи в другой катушке.) Здесь может быть построена совершенно новая синтетическая теория языка.

(Вот это разделение теорий, хорошо известное философам и лингвистам, имеет важное (по)следствие для программирования: пока мы используем аналитические языки (например, UML), мы хорошо описываем существующие системы и их структуру; но если нам нужны языки именно для разработки систем, нам понадобятся принципиально новые синтетические языки. Функциональный подход, с его процессным разворачиванием каждой синтаксической конструкции в последовательность объектов, сменяющих друг друга, и отдельные решения, вроде Форта и Смолтолка, гораздо ближе к делу, чем традиционное императивное программирование.)

P.S. Важнейшее свойство живых объектов — это создание знаковых систем. Наталья Черниговская могла бы многое рассказать о том, какие загадочные явления такого рода возникают в ИИ-моделях, которыми занимаются её сотрудники.

А что вы вкладываете в понятия “синтетический язык” и “аналитический язык”?

Так я и описал, что это такое. В первом приближении, хотя бы.

Когда Вы говорите, что у Вас есть какие-то объекты (структуры), то Вы используете аналитический язык, основной элемент которого — это отношение принадлежности или отношение наследования. Если Вы хотите описать уже готовую систему, то Вы можете использовать UML. Гораздо труднее описать динамику. Есть, конечно, BPMN, но это тоже аналитический язык, где есть диаграммы различных уровней детализации. Синтетический язык должен изначально иметь элемент движения, создания (конструирования) и уничтожения (деструкции). Функциональные языки ближе всего к этому. Надо ещё посмотреть, что там по этому поводу у классиков написано. можно, даже, цикл лекций устроить на Хабре, чтобы хорошенько вспомнить то, о чем писали когда-то, о чём думали, к чему стремились.

Я правильно понимаю, что вы определяете “аналитический язык” как как язык, выразительные средства которого позволяют декларировать отношения типа “является” / “имеет”?

А аналитический – тот, в котором есть выразительные средства для описания изменений?

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

  • Вы смешиваете в одну кучу языки программирования и языки моделирования. У них разные назначения, а вы сравниваете теплое с мягким и с оранжевым.

  • В UML есть инструменты описания “динамики” – Диаграмма последовательности.

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

Sign up to leave a comment.

Articles