Βασική διαφορά – Δηλωτικός εναντίον Επιτακτικού Προγραμματισμού
Ο δηλωτικός και ο επιτακτικός προγραμματισμός είναι δύο κοινά παραδείγματα προγραμματισμού. Η βασική διαφορά μεταξύ του δηλωτικού και του επιτακτικού προγραμματισμού είναι ότι ο δηλωτικός προγραμματισμός εστιάζει σε αυτό που πρέπει να επιτύχει το πρόγραμμα, ενώ ο προγραμματισμός επιτακτικής εστιάζει στο πώς το πρόγραμμα πρέπει να επιτύχει το αποτέλεσμα.
Ένα πρότυπο προγραμματισμού χρησιμοποιείται για την ταξινόμηση μιας γλώσσας προγραμματισμού ανάλογα με το χαρακτηριστικό. Επιτρέπει επίσης να ακολουθήσετε ένα συγκεκριμένο μοτίβο ή στυλ για να λύσετε ένα συγκεκριμένο πρόβλημα.
Τι είναι ο δηλωτικός προγραμματισμός;
Ο δηλωτικός προγραμματισμός μπορεί να εξηγηθεί χρησιμοποιώντας ένα πραγματικό σενάριο. Ας υποθέσουμε ότι ο χρήστης πρέπει να ελέγξει για νέα email. Μία μέθοδος είναι η ενεργοποίηση των ειδοποιήσεων εισερχομένων. Ο χρήστης πρέπει να ενεργοποιήσει τις ειδοποιήσεις μόνο μία φορά και κάθε φορά που φτάνει ένα νέο email, λαμβάνει μια ειδοποίηση αυτόματα. Ο δηλωτικός προγραμματισμός είναι παρόμοιος με αυτόν. Παρέχει απλότητα. Ο δηλωτικός προγραμματισμός εκφράζει το απαιτούμενο αποτέλεσμα. Εξηγεί τη λογική ενός υπολογισμού χωρίς να περιγράφει τη ροή ελέγχου.
Εικόνα 01: Παραδείγματα προγραμματισμού
Ένα παράδειγμα δηλωτικού προγραμματισμού είναι το ακόλουθο. Είναι ο πολλαπλασιασμός των αριθμών ενός πίνακα με μια σταθερά και η αποθήκευση τους σε έναν νέο πίνακα.
var numbers=[1, 2, 3];
var newnumbers=numbers.map(function(number){
αριθμοί επιστροφής5;
});
Console.log(newnumbers);
Στο παραπάνω παράδειγμα, ο «χάρτης» δίνει οδηγίες για την επανάληψη κάθε στοιχείου στον πίνακα και για την κλήση της συνάρτησης επανάκλησης για κάθε στοιχείο και για την αποθήκευση της τιμής επιστροφής στον νέο πίνακα. Αυτό θα δώσει την έξοδο 5, 10, 15. Σε αυτό το πρόγραμμα, ο κύριος στόχος του πολλαπλασιασμού των αριθμών με το 5 επιτυγχάνεται χρησιμοποιώντας τη συνάρτηση χάρτη. Θα περάσει από κάθε στοιχείο και θα χρησιμοποιήσει τη συνάρτηση επιστροφής κλήσης για να υπολογίσει και να αποθηκεύσει τις τιμές στον νέο πίνακα. Δεν απαιτείται η παροχή όλων των βημάτων. Η κύρια εστίαση δίνεται στο τι πρέπει να επιτευχθεί.
Τι είναι ο Imperative Programming;
Ο επιτακτικός προγραμματισμός μπορεί να εξηγηθεί χρησιμοποιώντας ένα πραγματικό σενάριο όπως πριν. Για να ελέγξει τα νέα email, ο χρήστης μπορεί να συνδεθεί στο gmail και να συνεχίσει να ανανεώνει τη σελίδα για να ελέγξει αν έλαβε νέα email ή όχι. Αυτό είναι παρόμοιο με τον επιτακτικό προγραμματισμό. Εξηγεί κάθε βήμα που απαιτείται για την επίτευξη του αποτελέσματος. Χρησιμοποιεί δηλώσεις για να εκφράσει τις αλλαγές στην κατάσταση του προγράμματος.
Ο πολλαπλασιασμός των στοιχείων του πίνακα με μια σταθερά και η αποθήκευση των τιμών σε έναν νέο πίνακα στον επιτακτικό προγραμματισμό έχει ως εξής.
var numbers=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
newnumbers.push(numbers5);
}
Console.log(newnumbers);
Στο παραπάνω παράδειγμα, οι αριθμοί είναι ένας πίνακας. Όταν περνάτε από τον βρόχο, κάθε αριθμός πολλαπλασιάζεται επί 5 και προστίθεται στον πίνακα νέων αριθμών. Μετά το τέλος του βρόχου, θα εκτυπωθεί το περιεχόμενο των νέων αριθμών που είναι 5, 10, 15.
Μπορεί να παρατηρηθεί ότι το στυλ επιτακτικής παρέχει όλα τα βήματα για την επίτευξη της εργασίας. Εκφράζει τον τρόπο επανάληψης μέσω του πίνακα χρησιμοποιώντας τη μεταβλητή μετρητή «i», πόσες φορές να επαναλάβετε πριν βγείτε από τον βρόχο και πώς να εισαγάγετε τις υπολογισμένες τιμές στους νέους πίνακες κ.λπ.
Το ίδιο πρόβλημα λύθηκε με χρήση δηλωτικού και επιτακτικού προγραμματισμού.
Ποια είναι η διαφορά μεταξύ του δηλωτικού και του επιτακτικού προγραμματισμού;
Δηλωτικός εναντίον Επιτακτικού Προγραμματισμού |
|
Ο δηλωτικός προγραμματισμός είναι ένα παράδειγμα προγραμματισμού που εκφράζει τη λογική ενός υπολογισμού χωρίς να περιγράφει τη ροή ελέγχου του. | Ο επιτακτικός προγραμματισμός είναι ένα παράδειγμα προγραμματισμού που χρησιμοποιεί δηλώσεις που αλλάζουν την κατάσταση του προγράμματος. |
Κύρια εστίαση | |
Ο δηλωτικός προγραμματισμός εστιάζει σε αυτά που πρέπει να επιτύχει το πρόγραμμα. | Ο επιτακτικός προγραμματισμός εστιάζει στον τρόπο με τον οποίο το πρόγραμμα πρέπει να επιτύχει το αποτέλεσμα. |
Ευελιξία | |
Ο δηλωτικός προγραμματισμός παρέχει λιγότερη ευελιξία. | Ο επιτακτικός προγραμματισμός παρέχει μεγαλύτερη ευελιξία. |
Πολυπλοκότητα | |
Ο δηλωτικός προγραμματισμός απλοποιεί το πρόγραμμα. | Ο επιτακτικός προγραμματισμός μπορεί να αυξήσει την πολυπλοκότητα του προγράμματος. |
Κατηγοριοποίηση | |
Ο προγραμματισμός Functional, Logic, Query εμπίπτει στον δηλωτικό προγραμματισμό. | Ο διαδικαστικός και αντικειμενοστραφής προγραμματισμός εμπίπτει στον επιτακτικό προγραμματισμό. |
Σύνοψη – Δηλωτικός εναντίον Επιτακτικού Προγραμματισμού
Αυτό το άρθρο εξέτασε τη διαφορά μεταξύ δύο βασικών παραδειγμάτων προγραμματισμού, τα οποία είναι ο δηλωτικός και ο επιτακτικός προγραμματισμός. Η διαφορά μεταξύ του δηλωτικού και του επιτακτικού προγραμματισμού είναι ότι ο δηλωτικός προγραμματισμός εστιάζει στο τι πρέπει να επιτύχει το πρόγραμμα, ενώ ο επιτακτικής προγραμματισμός εστιάζει στο πώς το πρόγραμμα θα πρέπει να επιτύχει το αποτέλεσμα.