Существуют ли чисто декларативные языки программирования общего назначения?

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

1 ответ

Решение

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

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

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

Такие языки, как F#, имеют прочную основу в функциональном программировании, но имеют любые конструкции, позволяющие программировать и создавать побочные эффекты. Это делает F# языком общего назначения, но позволяет смешивать кодирование императивного стиля с декларативным кодированием.

Хотя это и не совсем невозможно, я подозреваю, что не существует "чисто декларативных" языков программирования общего назначения, просто по определению.

Другие вопросы по тегам