Βασική διαφορά: Μια διαδικαστική γλώσσα προγραμματισμού αποτελείται από ένα σύνολο διαδικαστικών κλήσεων και ένα σύνολο κωδικών για κάθε διαδικασία. Μια δομική γλώσσα προγραμματισμού δίνει έμφαση στον διαχωρισμό των δεδομένων ενός προγράμματος από τη λειτουργικότητά του. Από την άλλη πλευρά, οι αντικειμενοστρεφείς γλώσσες βασίζονται σε οντότητες γνωστές ως αντικείμενα.
Μια γλώσσα προγραμματισμού είναι μια γλώσσα που αποτελείται από οδηγίες σχεδιασμένες για τους υπολογιστές. Οι επεξεργαστές κατανοούν μόνο τον κώδικα του μηχανήματος καθώς φτάνει σε δύο σειρές 0 και 1, γνωστές και ως δυαδικά δεδομένα. Ο κωδικός μηχανής είναι δύσκολο να κατανοηθεί και έτσι χρησιμοποιούνται διάφορες γλώσσες προγραμματισμού οι οποίες είναι πιο κατανοητές από τον κώδικα μηχανής και παρέχουν επίσης μεγαλύτερη φορητότητα.
Υπάρχουν διάφορα πρότυπα βάσει των οποίων μπορεί να αποκτηθεί η ταξινόμηση των γλωσσών προγραμματισμού. Ωστόσο, βάσει του παραδείγματος προγραμματισμού, μπορεί κανείς να τα ταξινομήσει ευρέως σε τρεις κατηγορίες: Γλώσσες προγραμματισμού, δομημένες γλώσσες προγραμματισμού και αντικειμενοστρεφείς γλώσσες.
Διαδικαστικές Γλώσσες Προγραμματισμού: Αυτές οι γλώσσες κωδικοποιούν προγράμματα με τέτοιο τρόπο ώστε το πρόγραμμα να εκτελεί δήλωση ανά δήλωση, να διαβάζει και να τροποποιεί μια κοινόχρηστη μνήμη. Αυτό το στυλ προγραμματισμού μπορεί να συνδεθεί στενά με τους συμβατικούς διαδοχικούς επεξεργαστές που συνδέονται με μνήμη τυχαίας προσπέλασης (RAM). Περιέχει όλα τα χαρακτηριστικά του διαδικαστικού προγραμματισμού καθώς και ορισμένα άλλα πρόσθετα χαρακτηριστικά.
Έτσι, μπορούμε να το αναφερθούμε ως γλώσσα προγραμματισμού που εκτελεί σειρά εντολών. Αυτές οι γλώσσες βασίζονται στην έννοια που ορίζεται από τις κλήσεις διαδικασίας. Αυτό σημαίνει ότι οι δηλώσεις οργανώνονται σε διαδικασίες. Αυτές οι διαδικασίες είναι επίσης γνωστές ως υπορουτίνες ή λειτουργίες. Το σημαντικότερο πλεονέκτημα των διαδικασιών διαμόρφωσης είναι ότι οι διαδικασίες είναι συμπαγείς και περιορίζονται επίσης από το πεδίο εφαρμογής. Είναι γραμμένο με βήμα προς βήμα, επομένως είναι πολύ εύκολο να ακολουθήσετε τα μικρότερα προγράμματα.
Παραδείγματα Pascal. Fortran, COBOL
Δομημένες γλώσσες προγραμματισμού: Αυτές βασίζονται στην μεθοδολογία από την κορυφή προς τα κάτω στην οποία ένα σύστημα διαιρείται περαιτέρω σε ένα υποσύστημα σύνθεσης. Η δομημένη φιλοσοφία προγραμματισμού διαμορφώθηκε το 1966 από τους Corrado Böhm και Giuseppe Jacopini. Έδειξαν το θεωρητικό σχεδιασμό ηλεκτρονικών προγραμμάτων με τη βοήθεια βρόχων, ακολουθιών και αποφάσεων.
Ο δομημένος προγραμματισμός δεν περιορίζεται μόνο στην προσέγγιση "από πάνω προς τα κάτω". Χρησιμοποιεί μεθόδους που χρησιμοποιούν:
1. Ανάλυση από πάνω προς τα κάτω για την επίλυση προβλημάτων: Εστιάζεται στη διαίρεση του προβλήματος σε υπομέλεια και ως εκ τούτου απλοποιεί την επίλυση του προβλήματος.
2. Modularization για τη δομή και την οργάνωση του προγράμματος: Οργανώνει μεγάλες οδηγίες, χωρίζοντάς τις σε ξεχωριστές και μικρότερες ενότητες μονάδων, υπορουτριών και υποπρογραμμάτων.
3. Δομημένος κώδικας για τις μεμονωμένες μονάδες: Οι δομές ελέγχου χρησιμοποιούνται για τον προσδιορισμό της ακριβούς σειράς εκτέλεσης του συνόλου των εντολών. Επομένως, ένας δομημένος κώδικας δεν περιλαμβάνει τη δήλωση GOTO, καθώς δεν αντιπροσωπεύει κάποια συγκεκριμένη σειρά εκτέλεσης.
Παράδειγμα ALGOL, Pascal, ΡΙ / Ι, C, Ada
Γλώσσες με προσανατολισμό αντικειμένων: Οι γλώσσες προγραμματισμού που βασίζονται σε αντικείμενα βασίζονται στα αντικείμενα και όχι στις ενέργειες. Αυτή η γλώσσα δίνει μεγαλύτερη προτίμηση στα δεδομένα παρά στη λογική. Ένα αντικείμενο μπορεί να οριστεί ως ο συνδυασμός ενός στοιχείου με τις λειτουργίες που μπορούν να εκτελεστούν σε αυτό. Είναι ένας από τους τελευταίους και ισχυρούς τύπους. Τα αντικείμενα είναι ικανά να αποθηκεύουν πληροφορίες και μπορούν επίσης να αλληλεπιδρούν με άλλα αντικείμενα.
Οι τρεις κύριες έννοιες που ορίζονται από μια γλώσσα προγραμματισμού αντικειμένων είναι:
- Ενσωμάτωση δεδομένων ή απόληψη δεδομένων
- Κληρονομικότητα ή προέλευση
- Δυναμική σύνδεση ή σύνδεση χρόνου εκτέλεσης
Παραδείγματα C ++, C #, ΒΕΤΑ, Chapel
Τα πλεονεκτήματα αυτών των γλωσσών παρατίθενται παρακάτω:
Διαδικαστικός | Κατασκευαστικός | Αντικειμενοστραφής |
1. Απλή, εύκολη εφαρμογή μεταγλωττιστών και διερμηνέων 2. Η δυνατότητα επαναχρησιμοποίησης του ίδιου κώδικα σε διαφορετικά μέρη του προγράμματος χωρίς να το αντιγράψετε. 3. Ένας ευκολότερος τρόπος για να παρακολουθείτε τη ροή του προγράμματος. 4. Η ικανότητα να είναι έντονα αρθρωτή ή δομημένη. 5. Χρειάζεται μόνο λιγότερη μνήμη. | 1. Τα προγράμματα είναι πιο εύκολα και πιο γρήγορα γραμμένα 2. Τα προγράμματα είναι αξιόπιστα καθώς λιγότερα οργανωτικά και λογικά λάθη εμφανίζονται κατά τα αρχικά στάδια της ανάπτυξης του προγράμματος. | 1. Βελτιωμένη παραγωγικότητα ανάπτυξης λογισμικού λόγω modularity, extensibility και επαναχρησιμοποίησης. 2. Η συντήρηση του λογισμικού βελτιώνεται 3. Η επαναχρησιμοποίηση βοηθά στην ταχύτερη ανάπτυξη προγραμμάτων, καθώς η γλώσσα έρχεται σε άφθονη βάση για την πλούσια βιβλιοθήκη αντικειμένων 4. Χαμηλότερο κόστος ανάπτυξης 5. Μπορεί να εξασφαλιστεί υψηλότερη ποιότητα λογισμικού |