Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Примеры декларативных языков программирования и разметки
Декларативное программирование — это парадигма, в которой программист описывает ЧТО должна делать программа, а не КАК (последнее характерно для императивного подхода). Код определяет желаемый результат, а детали реализации скрыты. Вот ключевые категории и примеры.
1. Языки разметки и данные
Эти языки чисто декларативны: они описывают структуру и содержание.
-
HTML (HyperText Markup Language) — основа веб-страниц. Он объявляет элементы (заголовки, параграфы, ссылки), но не указывает последовательность шагов для их отрисовки.
<article> <h1>Заголовок статьи</h1> <p>Это абзац текста с <a href="#">ссылкой</a>.</p> <ul> <li>Элемент списка 1</li> <li>Элемент списка 2</li> </ul> </article> -
XML (eXtensible Markup Language) и JSON (JavaScript Object Notation) — используются для структурирования и передачи данных.
{ "user": { "name": "Иван", "age": 30, "skills": ["JavaScript", "React", "TypeScript"] } }
**SQL** также часто относят сюда, так как он декларативно описывает, какие данные нужны.
- CSS (Cascading Style Sheets) — яркий пример. Вы описываете стили для элементов, а браузер сам вычисляет, как их применить.
.button { background-color: #4CAF50; border: none; border-radius: 8px; padding: 12px 24px; color: white; }
2. Функциональные языки программирования
Хотя они часто смешивают парадигмы, их ядро декларативно, основано на выражениях и отсутствии изменяемого состояния.
-
Haskell — эталонный чисто функциональный язык. Программа — это совокупность функций и преобразований.
-- Объявление функции для вычисления факториала factorial 0 = 1 factorial n = n * factorial (n - 1) -- Использование функции высшего порядка map squares = map (^2) [1, 2, 3, 4, 5] -- Результат: [1,4,9,16,25] -
Elm — функциональный язык для веб-разработки (компилируется в JS), известный своей строгой моделью и предсказуемостью.
-- Объявление модели и функции обновления состояния type Msg = Increment | Decrement update msg model = case msg of Increment -> model + 1 Decrement -> model - 1
3. Логические языки программирования
Основаны на формальной логике (исчисление предикатов). Программа — набор фактов и правил, а выполнение — поиск решений, удовлетворяющих запросу.
- Prolog — классический представитель. Программист определяет знания (факты и правила), а движок языка находит ответы на вопросы через логический вывод.
/* Факты */ родитель(мария, иван). родитель(сергей, иван). родитель(иван, анна). /* Правила */ дедушка(X, Y) :- родитель(X, Z), родитель(Z, Y). сестра(X, Y) :- родитель(Z, X), родитель(Z, Y), X \= Y. /* Запрос к системе: "Кто дедушка Анны?" */ ?- дедушка(X, анна). % Ответ системы: X = сергей
4. Языки запросов к базам данных
- SQL (Structured Query Language) — самый известный пример. Вы описываете, какие данные нужно выбрать, обновить или сгруппировать, а СУБД оптимизирует и выполняет план запроса.
-- Декларативный запрос: "Найди имена и отделы сотрудников с зарплатой > 50000" SELECT name, department FROM employees WHERE salary > 50000 ORDER BY name;
5. Современные DSL (Domain-Specific Languages) и инструменты
Многие современные инструменты предоставляют дек