9Aug

Είναι η C++ πραγματικά καλύτερη από τη C;

Γλώσσα προγραμματισμού C++ εναντίον C – Ποια είναι καλύτερη!!!

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

Γ Γλώσσα

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

C++

Σε περίπτωση που δεν το ξέρατε ήδη, η C++ είναι η αναβάθμιση σε C – με το όνομά της να προέρχεται από τον τελεστή αύξησης που χρησιμοποιείται στο C (++). Αυτή είναι μια γλώσσα προγραμματισμού γενικού σκοπού και ήταν η πρώτη που εφάρμοσε χαρακτηριστικά αντικειμενοστρεφούς προγραμματισμού. Επομένως, δεν θα πρέπει να αποτελεί έκπληξη το γεγονός ότι η C++ έγινε γρήγορα ο προορισμός για την ανάπτυξη πολύπλοκων εφαρμογών όπου η C δεν την έκοψε. Για την ανάπτυξη πιο εξελιγμένων εφαρμογών με υψηλότερο δυναμικό περιεχόμενο, η C++ ήταν η πρώτη γλώσσα. Δεδομένου ότι σχεδιάστηκε το 1983, χρησιμοποιούσε ακόμα τη γραμμή εντολών, αλλά πρόσφερε στους προγραμματιστές ευκαιρίες όπως ποτέ πριν.

Ποιό είναι καλύτερο ?

Παραδοσιακά, οι προγραμματιστές έχουν συχνά πιέσει ώστε η C++ να είναι καλύτερη από τη C. Αλλά τώρα, ο προγραμματιστής David Timothy Strauss δημοσιεύει μια πρόσκληση για κωδικοποίηση «απευθείας, εύκολες στην αιτιολόγηση προσεγγίσεις» — σε ένα δοκίμιο με τίτλο «Επιλέγοντας «Μερικά C++» έναντι C». (Εναλλακτικός τίτλος: "C++ για τους λάτρεις του C.") Το δοκίμιο – αν και έχει γνώμη – κάνει έκκληση για «υιοθέτηση ενός υποσυνόλου της C++ για εξομάλυνση Οι τραχιές άκρες του C.» Το κύριο επιχείρημα είναι ότι η C++ προσφέρει μια προσέγγιση ασφαλή για τον τύπο που είναι καλύτερη ειδικά για συμβάντα σχέδιο. Το δοκίμιο προβάλλει μερικά επιτακτικά επιχειρήματα σχετικά με τη χρήση βιβλιοθηκών, την ιδιοκτησία κατανομής κ.λπ. Απόσπασμα από την ανάρτηση:

Σε μια προσπάθεια υποστήριξης γενικών λειτουργιών επανάκλησης με "δεδομένα χρήστη", η ασφάλεια τύπου πεθαίνει στη διαδικασία. Εάν αλλάξω τον τύπο που περιμένει η επανάκληση χωρίς να αλλάξω τον τύπο του δείκτη που ορίζω στη λαβή μπούκλας, έχω απροσδιόριστη συμπεριφορά (και πιθανώς κολλάει). Η C++ έχει καλύτερες απαντήσεις, όλες οι οποίες παρέχουν ασφάλεια τύπου.

Συνοπτικά, ο προγραμματιστής υποστηρίζει μια περίπτωση που μπορεί να είναι η μέση λύση μεταξύ C & C++. Για να προσθέσουμε αξιοπιστία στο γεγονός ότι πρόκειται για μια γνήσια αλλαγή παιχνιδιών, αρκετές μεγάλες εταιρείες τεχνολογίας έχουν αναπτύξει τις δικές τους εκδόσεις/παραλλαγές της C & C++ για δική τους χρήση. Ίσως μια γλώσσα ανοιχτού κώδικα που συνδυάζει τα καλύτερα και των δύο κόσμων θα μπορούσε να αλλάξει το τοπίο προγραμματισμού προς το καλύτερο.

Πηγή: Μεσαίο