Deklaratīvā un obligātā programmēšana ir divas kopīgas programmēšanas paradigmas. galvenā atšķirība starp deklaratīvo un imperatīvo programmēšanu ir tā Deklaratīvā programmēšana koncentrējas uz to, kas programmai būtu jāpaveic, savukārt obligātā programmēšana koncentrējas uz to, kā programmai vajadzētu sasniegt rezultātu.
Lai klasificētu programmēšanas valodu atkarībā no funkcijas, tiek izmantota programmēšanas paradigma. Tas arī ļauj ievērot noteiktu modeli vai stilu, lai atrisinātu konkrētu problēmu.
1. Pārskats un galvenās atšķirības
2. Kas ir deklaratīvā programmēšana
3. Kas ir obligāta programmēšana
4. Salīdzinājums blakus - deklaratīva un obligāta programmēšana tabulas formā
5. Kopsavilkums
Deklaratīvo plānošanu var izskaidrot, izmantojot reālās pasaules scenāriju. Pieņemsim, ka lietotājam ir jāpārbauda, vai nav jaunu e-pasta ziņojumu. Viena no metodēm ir iespējot iesūtnes paziņojumus. Lietotājam paziņojumi jāatspējo tikai vienu reizi, un katru reizi, kad tiek saņemts jauns e-pasts, viņš automātiski saņem paziņojumu. Deklaratīvā programmēšana ir līdzīga tai. Tas nodrošina vienkāršību. Deklaratīvā programmēšana izsaka nepieciešamo rezultātu. Tas izskaidro aprēķina loģiku, neaprakstot vadības plūsmu.
01. attēls. Paradigmu programmēšana
Deklaratīvās programmēšanas piemērs ir šāds. Tas ir reizināt masīva numurus ar konstantu un saglabāt tos jaunā masīvā.
var skaitļi = [1,2,3];
var newnumbers = numer.map (funkcija (numurs)
atgriešanās numuri * 5;
);
Console.log (newnumbers);
Iepriekš minētajā piemērā “karte” dod norādījumus atkārtot katru masīva vienību un katram elementam izsaukt atzvanīšanas funkciju un saglabāt masīva atgriešanas vērtību. Tas izvadīs 5,10,15. Šajā programmā galvenais mērķis ir reizināt skaitļus ar 5, izmantojot kartes funkciju. Tas iet caur katru elementu un izmantos atzvanīšanas funkciju, lai aprēķinātu un saglabātu vērtības jaunajā masīvā. Nav obligāti jānorāda visas darbības. Galvenā uzmanība tiek pievērsta tam, kas būtu jāsasniedz.
Obligātu programmēšanu var izskaidrot, izmantojot reālās pasaules scenāriju, kā iepriekš. Lai pārbaudītu jaunos e-pastus, lietotājs var pieteikties, lai nosūtītu e-pastu un atsvaidzinātu lapu, lai pārbaudītu, vai viņš ir saņēmis jaunus e-pastus. Tas ir līdzīgs obligātajai programmēšanai. Tas izskaidro katru soli rezultāta sasniegšanai. Tas izmanto paziņojumus, lai izteiktu izmaiņas programmas stāvoklī.
Reizinot masīva elementus ar konstantu un saglabājot vērtības jaunam masīvam obligātā programmēšanā, ir sekojoši.
var skaitļi = [1,2,3];
var newnumbers = [];
par (int i = 0; i< numbers.length ; i++)
newnumbers.push (cipari [i] * 5);
Console.log (newnumbers);
Iepriekš minētajā piemērā skaitļi ir masīvs. Dodoties cauri cilpai, katrs skaitlis tiek reizināts ar 5 un pievienots newnumbers masīvam. Pēc cilpas beigām tiks izdrukāts jaun numuru skaits, kas ir 5,10,15.
Var novērot, ka obligātais stils nodrošina visus soļus uzdevuma sasniegšanai. Tas izsaka, kā atkārtot masīvu, izmantojot 'i' skaitītāja mainīgo, cik reizes atkārtot, pirms iziet no cilpas un kā ievietot aprēķinātās vērtības jaunajiem masīviem utt..
Tā pati problēma tika atrisināta, izmantojot deklaratīvo un imperatīvo programmēšanu.
Deklaratīvā vs obligātā programmēšana | |
Deklaratīvā programmēšana ir programmēšanas paradigma, kas izsaka aprēķina loģiku, neaprakstot tā vadības plūsmu. | Obligāta programmēšana ir programmēšanas paradigma, kurā tiek izmantoti paziņojumi, kas maina programmas stāvokli. |
Galvenais fokuss | |
Deklaratīvā programmēšana ir vērsta uz programmas izpildi. | Obligāta programmēšana ir vērsta uz to, kā programmai vajadzētu sasniegt rezultātu. |
Elastība | |
Deklaratīvā programmēšana nodrošina mazāku elastību. | Obligāta programmēšana nodrošina lielāku elastību. |
Sarežģītība | |
Deklaratīvā programmēšana vienkāršo programmu. | Obligāta programmēšana var palielināt programmas sarežģītību. |
Klasifikācija | |
Funkcionālā, loģiskā un vaicājuma programmēšana ietilpst deklaratīvajā programmēšanā. | Procedūras un objektorientētā programmēšana ietilpst obligātā programmēšanā. |
Šajā rakstā tika apskatīta atšķirība starp divām galvenajām programmēšanas paradigmām, kas ir deklaratīvā un obligātā programmēšana. Atšķirība starp deklaratīvo un imperatīvo programmēšanu ir tāda, ka deklaratīvā programmēšana koncentrējas uz to, kas programmai būtu jāpaveic, savukārt imperatīvā programmēšana koncentrējas uz to, kā programmai vajadzētu sasniegt rezultātu.
1. “Deklarējošā programmēšana.” Wikipedia, Wikimedia Foundation, 2018. gada 3. aprīlis. Pieejams šeit
2. “Obligāta programmēšana.” Wikipedia, Wikimedia Foundation, 2018. gada 3. aprīlis. Pieejams šeit
3.Lekcija 17 - Imperative vs Deklaratīvā programmēšana, Sam Nxstack, 2017. gada 11. aprīlis. Pieejama šeit