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