Найти в Дзене

Обзор FOL-ориентированных языков программирования

Обзор FOL-ориентированных языков программирования [PDF] Prolog (SWI-Prolog): Экосистема процветает. Основной репозиторий разработки swipl-devel на GitHub очень активен (1.1 тыс. звезд), а организация SWI-Prolog насчитывает 92 репозитория с пакетами для веб-разработки, обработки данных, NLP и многого другого. Сообщество велико и активно, что подтверждается многочисленными проектами на GitHub, использующими Prolog.
Datalog: Экосистема здорова в своих нишах. Репозиторий awesome-datalog является хорошим каталогом ресурсов и реализаций. Высокопроизводительные реализации, такие как Soufflé (изначально разработанный в Oracle Labs, теперь с открытым исходным кодом), активно развиваются и используются в академических и промышленных кругах. Реализации для баз данных, такие как Datomic и Datascript, имеют сильные связи с сообществом Clojure.
Mercury: Сообщество стабильное, но небольшое. Основной репозиторий на GitHub имеет 955 звезд, но его активность ниже, чем у SWI-Prolog. Язык в основном подде

Состояние Open Source и GitHub-сообщество

Обзор FOL-ориентированных языков программирования [PDF]

Prolog (SWI-Prolog): Экосистема процветает. Основной репозиторий разработки swipl-devel на GitHub очень активен (1.1 тыс. звезд), а организация SWI-Prolog насчитывает 92 репозитория с пакетами для веб-разработки, обработки данных, NLP и многого другого. Сообщество велико и активно, что подтверждается многочисленными проектами на GitHub, использующими Prolog.
Datalog: Экосистема здорова в своих нишах. Репозиторий awesome-datalog является хорошим каталогом ресурсов и реализаций. Высокопроизводительные реализации, такие как Soufflé (изначально разработанный в Oracle Labs, теперь с открытым исходным кодом), активно развиваются и используются в академических и промышленных кругах. Реализации для баз данных, такие как Datomic и Datascript, имеют сильные связи с сообществом Clojure.
Mercury: Сообщество стабильное, но небольшое. Основной репозиторий на GitHub имеет 955 звезд, но его активность ниже, чем у SWI-Prolog. Язык в основном поддерживается его академическими создателями. Экосистема библиотек значительно уступает Prolog.
Oz: Преимущественно академический и архивный статус. Основной реализацией является Mozart Programming System. Хотя на GitHub существуют связанные проекты, сообщество очень мало, и разработка не так активна, как у других рассмотренных языков.

Платформы Low-Code / No-Code (Appsmith, Zoho Creator, OutSystems и др.) сосредоточены на визуальном проектировании пользовательских интерфейсов, бизнес-процессов и подключении к стандартным базам данных и API (REST, GraphQL). Они не содержат встроенных движков логического программирования. Как и в случае с платформами автоматизации, интеграция потребует "обертывания" логической программы в стандартный API, который может быть вызван из low-code приложения.
Отсутствие нативной поддержки на платформах вроде IFTTT, Zapier и low-code конструкторов является ярким индикатором роли этих языков в современном IT-ландшафте. Эти платформы ориентированы на соединение популярных, ориентированных на конечного пользователя SaaS-приложений (например, Gmail, Twitter, Shopify). Логические языки, напротив, не являются сервисами для конечных пользователей; это инструменты для решения специфических, часто сложных, серверных задач (логический вывод, анализ данных). Данные об экосистеме подтверждают, что это мощные, специализированные движки. Для использования их возможностей в современном интегрированном приложении разработчик должен рассматривать логическую программу как микросервис и создавать вокруг нее стандартный API. Они являются компонентами внутри более крупной архитектуры, а не платформами, к которым подключаются.

Release Stop guessing. Start proving. FOL is the new full stack. · slavasolodkiy/FOL

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

  • Prolog: Учитывая большое количество публичных репозиториев на Prolog, особенно для SWI-Prolog, поддержка со стороны Copilot является существенной. Он может генерировать шаблонный код, предлагать реализации правил и помогать с общими паттернами. Однако опыт пользователей показывает, что предложения требуют тщательной проверки на корректность и эффективность, поскольку ИИ не имеет глубокого "понимания" процедурных последствий кода.
  • Datalog: Поддержка будет приемлемой, особенно для распространенного синтаксиса и паттернов, встречающихся в Soufflé и других публичных проектах.
  • Mercury и Oz: Поддержка ожидается на очень низком уровне. Эти языки имеют крайне малую представленность в публичном коде по сравнению даже с Prolog, не говоря уже о JavaScript или Python. У Copilot будет очень мало обучающих данных, что приведет к ненадежным или отсутствующим подсказкам.
  • Другие AI-инструменты (Google Vertex AI, Workik AI и CodingFleet): Google Vertex AI включает его в список поддерживаемых языков. Существуют и специализированные инструменты, такие как Workik AI и CodingFleet, которые предлагают генераторы кода и ассистенты специально для Prolog, утверждая, что понимают его фреймворки (SWI-Prolog, GNU Prolog) и концепции (экспертные системы, CLP).
ИИ-энтузиасты и DIY-коммьюнити
Рихард Зорге возвращается13 ноября

Why FOL Languages Are the Unhackable Backbone of Tomorrow's Apps [PDF]

Обзор FOL-ориентированных языков программирования