Πλεονεκτήματα & Μειονεκτήματα του Αντικειμενοστρεφούς Προγραμματισμού

Κωδικός υπολογιστή. Βαθύ πράσινη οθόνη

Οι περισσότερες σύγχρονες εφαρμογές υπολογιστών και φορητών υπολογιστών χρησιμοποιούν τεχνικές OOP.

Πίστωση εικόνας: SoulArt/iStock/Getty Images

Αντικειμενοστρεφείς γλώσσες προγραμματισμού όπως η C++, η Java και η Visual Basic αναπτύχθηκαν από επιστήμονες υπολογιστών για να επιταχύνουν τον προγραμματισμό και να βελτιώσουν την ποιότητα του λογισμικού. Οι τεχνικές λογισμικού OOP διασπούν τα προγράμματα σε λειτουργικά μπλοκ που ονομάζονται αντικείμενα, κάνοντας συχνά απαραίτητα λειτουργίες όπως κουμπιά ελέγχου, διαχείριση βάσης δεδομένων και μαθηματικά πιο εύκολα στη χρήση και κοινή χρήση μεταξύ τους προγραμματιστές. Ωστόσο, τα πλεονεκτήματα συνοδεύονται από συμβιβασμούς, όπως η πρόσθετη πολυπλοκότητα του λογισμικού και η μειωμένη απόδοση.

Καλύτερη Παραγωγικότητα

Οι τεχνικές OOP επιβάλλουν κανόνες σε έναν προγραμματιστή που, μακροπρόθεσμα, τον βοηθούν να κάνει περισσότερη δουλειά. Τα ολοκληρωμένα προγράμματα λειτουργούν καλύτερα, έχουν περισσότερες δυνατότητες και είναι ευκολότερα στην ανάγνωση και τη συντήρηση. Τα προγράμματα που δεν χρησιμοποιούν OOP τείνουν να είναι μεγάλες, συνεχείς πλάκες κειμένου όπως πολύ μεγάλα κεφάλαια σε ένα βιβλίο. Όταν οι προγραμματιστές παρεμβαίνουν για να το αλλάξουν, το κείμενο τελικά γίνεται αποδιοργανωμένο και πιο δύσκολο να το ακολουθήσει. Αντίθετα, οι προγραμματιστές OOP παίρνουν νέα και υπάρχοντα αντικείμενα λογισμικού και τα «συρράπτουν» μεταξύ τους για να φτιάξουν νέα προγράμματα. Επειδή οι βιβλιοθήκες αντικειμένων περιέχουν πολλές χρήσιμες λειτουργίες, οι προγραμματιστές λογισμικού δεν χρειάζεται να επανεφεύρουν τον τροχό τόσο συχνά. περισσότερο από το χρόνο τους αφιερώνεται στη δημιουργία του νέου προγράμματος.

Το βίντεο της ημέρας

Χαμηλότερο κόστος προγραμματισμού

Ειδικά για μεγαλύτερα έργα, το OOP συμβάλλει στη μείωση του κόστους της εργασίας προγραμματισμού. Το προσωπικό που εργάζεται σε ένα έργο μπορεί να αναπτύξει τη δική του βιβλιοθήκη αντικειμένων λογισμικού, επιτρέποντας στους προγραμματιστές να χρησιμοποιούν ο ένας την εργασία του άλλου εύκολα και μειώνοντας τις ώρες που απαιτούνται για την ανάπτυξη προγραμμάτων. Με τη βελτιωμένη ποιότητα λογισμικού, οι προγραμματιστές αφιερώνουν λιγότερο χρόνο για την επιδιόρθωση προγραμμάτων που δυσλειτουργούν, μειώνοντας περαιτέρω το κόστος εργασίας.

Πιο απότομη καμπύλη μάθησης

Για να κατακτήσει το OOP ένας αρχάριος πρέπει να μάθει νέες, αφηρημένες έννοιες όπως π.χ πολυμορφισμός -- επαναχρησιμοποίηση αντικειμένων ενώ προσθέτουμε νέες δυνατότητες σε αυτά -- και ενθυλάκωση -- απόκρυψη τμημάτων των εσωτερικών δεδομένων ενός αντικειμένου για τη βελτίωση της ασφάλειας -- καμία από τις οποίες δεν υπάρχουν ιδέες σε παλαιότερα στυλ προγραμματισμού. Αυτές οι έννοιες όχι μόνο χρειάζονται χρόνο για να μάθουν, αλλά μπορεί να είναι πολύ περίπλοκες για τους νεότερους επίδοξους προγραμματιστές ή εκείνους που προγραμματίζουν μόνο περιστασιακά.

Πιο αργό λογισμικό

Το αντικειμενοστραφή λογισμικό μπορεί να συνεπάγεται επιπλέον κώδικα που δεν είναι απαραίτητος σε άλλες γλώσσες υπολογιστή. ο υπολογιστής πρέπει να εκτελέσει τον πρόσθετο προγραμματισμό, επιβραδύνοντας τον χρόνο απόκρισης μιας εφαρμογής. Για έργα όπου η ταχύτητα είναι σημαντική, οι προγραμματιστές μπορούν να επιλέξουν να γράψουν τα πιο κρίσιμα χρονικά μέρη σε μη-OOP γλώσσες όπως assembler ή C, κράτηση κώδικα OOP για παράθυρα ή κουμπιά -- περιοχές στις οποίες τα αντικείμενα έχουν καθαρό πλεονέκτημα.