Co to jest programowanie deklaratywne?
Programowanie deklaratywne jest sposobem na określenie, co program powinien zrobić, a nie na określenie, jak to zrobić. Większość języków komputerowych opiera się na czynnościach niezbędnych do rozwiązania problemu, ale niektóre języki wskazują jedynie podstawowe cechy problemu i pozostawiają go komputerowi w celu ustalenia najlepszego sposobu rozwiązania problemu. Mówi się, że pierwsze języki obsługują programowanie imperatywne, podczas gdy drugie obsługuje programowanie deklaratywne.
Można rozważyć następujący przykład z SQL, aby uzyskać wszystkie regiony sprzedaży, w których zysk przekracza pewną liczbę, powiedzmy 700 USD (USD), na podstawie danych sprzedaży.
Wybierz Region, Zysk ze sprzedaży, gdzie Zysk> 700
Ta instrukcja nie wskazuje, co system SQL musi zrobić, aby uzyskać dane. System SQL może przejrzeć każdy rekord sprzedaży i ustalić, czy warunek jest spełniony, lub może szybko uzyskać kilka pierwszych rekordów na podstawie wstępnie zapisanych danych. Instrukcja wskazuje tylko charakter pożądanych danych.
Prolog to deklaratywny język programowania, który wskazuje logiczne relacje między jednostkami.
przodek (M, C): - matka (M, C)
przodek (X, Z): - matka (X, Y), przodek (Y, Z)
Powyższy program wskazuje na truizmy. Jeśli M jest matką C, to M jest przodkiem C. Jeśli X jest matką osoby Y, która jest przodkiem Z, to X jest przodkiem Z. Biorąc pod uwagę to i niektóre fakty matki-dziecka, program potrafi odpowiedzieć na pytania dotyczące całego drzewa genealogicznego matki.
Podczas wykonywania programu system Prolog tworzy wiele prawdziwych instrukcji, tworząc bazę wiedzy. Ta baza wiedzy jest efektywnie przeszukiwana samodzielnie. Twórca powyższego programu nie określa sposobu wyszukiwania.
HTML i CSS to deklaratywne języki programowania. Na przykład przykład HTML <table border = "1"> wskazuje cienką ramkę. Przykładem CSS jest kolor: niebieski . Określa kolor tekstu. Jak widać w tych przykładach, HTML i CSS określają, co powinno pojawić się na stronie internetowej, ale nie jak to zrobić.
Zaleta deklaratywnych języków programowania jest głównie podwójna. Programy są zwięzłe; Ułatwia to uzyskanie rozwiązania nawet osobom niebędącym programistami. W powyższym przykładzie SQL analityk lub osoba wspierająca biznes może uzyskać pożądane informacje. Podobnie osoby świecące mogą pisać akceptowalne strony internetowe za pomocą prostych poleceń HTML i CSS.
Drugą zaletą deklaratywnego modelu programowania jest powtarzalny kod imperatywny, który wskazuje, jak rozwiązywać problemy w systemie komputerowym za kulisami. Taki kod może być bardzo wydajny i może zawierać najlepsze pomysły z komputerów. Może korzystać z równoległości.