Логічні мови програмування: особливості, приклади
Опубликованно 04.12.2018 23:51
Як часто ви стикалися з незрозумілим терміном «логічне програмування» і не могли зрозуміти, що це? Сьогодні ми остаточно визначимося з тим, що таке мови програмування логічного типу, і розглянемо приклади таких мов.
Перш ніж починати огляд мов, необхідно спочатку дізнатися, що це таке і навіщо воно потрібно. Що таке логічне програмування?
Це підхід до програмування, заснований на доведенні теорем та виведення інформації на основі фактів. Висновок результату є побічним продуктом роботи програми. Логічне програмування засноване на теорії математичної логіки, включає в себе розділ дискретної математики та деякі інші. У чому відмінності?
Багато об'єднують логічні мови програмування з функціональними, проте вони володіють деякими відмінностями, про які ми далі поговоримо.
На відміну від функціональних, логічні дуже добре підходять для створення штучного інтелекту. Також іноді дуже зручно, коли в мові змінні не поділяються на вхідні та вихідні. Саме в таких мовах це і відбувається, що іноді спрощує роботу з кодом. Знову ж програми є більш швидкими і виконують свої завдання іноді ефективніше. Основна особливість логічних мов програмування полягає в тому, що програма представляє певні відносини між елементами.
Однак існують і мінуси. Не все можна описати з допомогою логіки, тому у таких програмах функції будуть працювати не завжди так, як потрібно, або взагалі не будуть працювати. Кому корисно вчити мови програмування логічного типу?
Варто відразу відповісти на питання: вчити дані мови корисно всім – від школяра до людини у віці. Адже логічні мови програмування здатні буквально змусити наш мозок думати логічно. Також такі мови будуть дуже корисні у створенні штучного інтелекту або при роботі з даними. Логічні мови програмування
Таких мов не так багато, і вони відрізняються між собою. Ми поговоримо тільки про двох, а почнемо з того, з якого розпочалася ера логічних мов, і ім'я йому Prolog.
Ця мова був розроблений в 1972 році Аленом Колмероэ і є актуальним і свіжим і на сьогоднішній день. Хоч це і не самий простий мову в плані синтаксису, але зате дуже корисний в розумінні логіки комп'ютера. Подивіться, як виглядає код, що описує книгу:
book( 'Назва', '2009', 'Спб', authors( 'Перший автор', 'Другий автор' ) ).
Такий опис досить просто зрозуміти і розібрати що до чого. Саме тому навчання подібного мові далі не складе великих труднощів і не вимагає танців з бубном.
Давайте далі розберемо його плюси і мінуси.
Плюси.
1. Код легко зрозуміти і запам'ятати.
Як вже згадувалося вище, код в мові Prolog пишеться не так вже й складно. Він досить простий, в розумінні звичайного користувача.
2. Вираження і факти.
Даний мову можна використовувати без будь-яких обчислень, спираючись тільки на вираження і факти.
3. Шлях не впливає.
Який би шлях до реалізації вашої задумки ви не вибрали, він практично ніколи не впливає на результат виконання програми.
Мінуси.
1. Слабкі інвестиції.
З-за того, що ця мова мало підтримують в матеріальному плані – він розвивається досить повільно, маленькими кроками.
2. Неможливість створення комплексних програм.
Ця мова буде неможливо використовувати без зв'язки з іншими, якщо ви хочете створювати більш складні програми з великим функціоналом.
3. Обчислювальні операції.
Для обчислювальних операцій знову ж доведеться використовувати інші мови.
Mercury
Пішов від мови Prolog, Mercury створений, щоб вирішити дві проблеми, пов'язані з популярною мовою програмування.
1. Продуктивність.
Логічні мови програмування досить сильно поступаються в продуктивності імперативного типу.
2. Налагодження.
У мовах такого типу йде досить багато часу на налагодження програми, а також виробляється менше перевірок на помилки в програмі, з-за чого деколи трапляються неприємності.
Приклад коду на Mercury:
Hello, World!
:- module hello. :- interface. :- import_module io. :- pred main(io::di, io::uo) is det. :- implementation. main(!IO) :- io.write_string("Hello, World! ", !IO).
Синтаксис і розуміння цієї мови, як можна помітити, дуже відрізняються від «Прологу», що трохи ускладнює навчання, однак деякі його плюси, допомагають вирішити проблеми «Прологу», вельми корисні. Висновок
Мовою логічного програмування є мова, яка обробляє вираження і факти, а побічним ефектом видає результат роботи даної програми. Такі мови дуже корисними в створенні штучного інтелекту і роботи з даними, проте рідко застосовуються без сторонніх мов програмування. Автор: Владислав Астраханцев 14 Серпня, 2018
Категория: Техника