C εναντίον C | C Sharp εναντίον C Languages
Από το 1950, πολλές γλώσσες προγραμματισμού έχουν εισαχθεί, ενώ ορισμένες είναι καθαρά νέες και άλλες είναι παραλλαγές των υπαρχόντων για την υποστήριξη πολλών παραδειγμάτων προγραμματισμού. Τόσο η C όσο και η C είναι γλώσσες προγραμματισμού, οι οποίες εισήχθησαν ως παραλλαγές των υπαρχουσών γλωσσών. Είναι γνωστό ότι ο προκάτοχος του C είναι ο B, που αναπτύχθηκε αρχικά από τον Ken Thompson, με συνεισφορές από τον Dennis Ritchie, και το C σχεδιάστηκε με γνώμονα την έννοια C-like Object Oriented Language. Το C χρησιμοποιείται για την ανάπτυξη λογισμικού συστημάτων και εφαρμογών, ενώ το C είναι πολύ καλύτερο για την ανάπτυξη λογισμικού εφαρμογών.
C Γλώσσα
Η C είναι μια γλώσσα προγραμματισμού γενικού σκοπού, η οποία αναπτύχθηκε αρχικά από τον αείμνηστο Dennis Ritchie στα Bell Labs το 1972. Αν και η ιδέα της γλώσσας ήταν να υποστηρίζει φιλικό προς τον χρήστη προγραμματισμό συστημάτων, έχει χρησιμοποιηθεί για μεγάλα προγράμματα σε διαφορετικά τομείς.
Η C είναι μια πληκτρολογημένη γλώσσα όπου υπάρχουν τόσο βασικοί όσο και παράγωγοι τύποι δεδομένων και οι εκφράσεις σχηματίζονται από τελεστές και τελεστές. Η C είναι μια δομική γλώσσα προγραμματισμού, η οποία παρέχει θεμελιώδεις κατασκευές ελέγχου ροής με if-else, switch, while κ.λπ. Επιπλέον, η είσοδος και η έξοδος μπορούν να κατευθυνθούν στο τερματικό ή στα αρχεία και τα σχετικά δεδομένα μπορούν να αποθηκευτούν μαζί σε πίνακες ή δομές. Το πρόγραμμα υποστηρίζεται με συναρτήσεις, οι οποίες θα επιστρέφουν τιμές βασικών τύπων, δομών, ενώσεων ή δεικτών. Και οι συναρτήσεις μπορούν να κληθούν αναδρομικά.
Η C είναι μια γλώσσα μικρού βάρους και ένα πρόγραμμα C αποτελείται από αρχεία πηγής και κεφαλίδας. Η μεταγλώττιση C ξεκινά με C προεπεξεργαστής που αντικαθιστά μακροεντολές στα αρχεία προγράμματος. Στη συνέχεια, ο μεταγλωττιστής C μετατρέπει τον κώδικα σε κώδικα συγκρότησης. Η assembler μετατρέπει τον κώδικα συγκρότησης στον κώδικα αντικειμένου προτού ο Επεξεργαστής Σύνδεσης συνδυάσει τις λειτουργίες ή τις λειτουργίες της βιβλιοθήκης που ορίζονται σε άλλα αρχεία πηγής που αναφέρονται από τον πηγαίο κώδικα του προγράμματος (με main()) για να δημιουργήσει ένα εκτελέσιμο αρχείο.
C Γλώσσα
Το C αναπτύχθηκε από τη Microsoft, της οποίας η ομάδα ανάπτυξης είχε επικεφαλής τον Anders Hejlsberg. Η C είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού που προσφέρει πολύ καλά χαρακτηριστικά, όπως έλεγχο ορίων πίνακα, έλεγχο ισχυρού τύπου και αυτόματη συλλογή σκουπιδιών. Είναι πραγματικά μια γλώσσα υψηλού επιπέδου για τους προγραμματιστές λόγω της στιβαρότητας του λογισμικού, της ανθεκτικότητας και της παραγωγικότητας του προγραμματιστή.
Τα προγράμματα C οργανώνονται χρησιμοποιώντας χώρους ονομάτων, τα οποία προσφέρουν ένα ιεραρχικό μέσο οργάνωσης στοιχείων ενός ή περισσότερων προγραμμάτων.
Η γλώσσα υποστηρίζει κυρίως δύο τύπους: τύπους τιμών και τύπους αναφοράς. Υποστηρίζει boxing και un-boxing μέσω της εφαρμογής μεταβλητών ως αντικειμένων. Υποστηρίζει πρότυπα C++ μέσω Generics, τα οποία είναι πολύ σημαντικά στον γενικό προγραμματισμό. Αν και η γλώσσα δεν έχει ρητό προεπεξεργαστή, υποστηρίζεται ο ορισμός συμβόλων με βάση τον προεπεξεργαστή C.
Σε C, ο πηγαίος κώδικας μεταγλωττίζεται σε έναν κώδικα CIL (κοινή ενδιάμεση γλώσσα) και κατά το χρόνο εκτέλεσης, αυτός ο κώδικας CIL μετατρέπεται σε κώδικα μηχανής χρησιμοποιώντας τον μεταγλωττιστή JIT (Just In Time). Αυτή η μεταγλώττιση πριν από τον χρόνο εκτέλεσης πρέπει να πραγματοποιηθεί στον υπολογιστή που πρόκειται να εκτελεστεί το πρόγραμμα, επειδή θα αξιολογήσει τα χαρακτηριστικά του μηχανήματος (επεξεργαστής, μνήμη κ.λπ.) προκειμένου να δημιουργηθεί κώδικας που είναι πιο αποτελεσματικός.
Ποια είναι η διαφορά μεταξύ C και C;
• Η C είναι μια αντικειμενοστραφή γλώσσα προγραμματισμού, ενώ η C είναι μια δομική γλώσσα.
• Το C μπορεί να έχει πρόσβαση σε λειτουργίες λειτουργικού συστήματος χαμηλού επιπέδου, κάτι που το κάνει καλύτερο σε απόδοση σε σύγκριση με το C.
• Η C είναι μια «διαχειριζόμενη» γλώσσα, που σημαίνει ότι ο κώδικας μεταγλωττίζεται σε μια ενδιάμεση φόρμα που στη συνέχεια εκτελείται σε μια εικονική μηχανή. Το συγκεκριμένο VM είναι γνωστό ως “CLR” ή Common Language Runtime. Αλλά η C είναι μια «μη διαχειριζόμενη» γλώσσα όπου ο κώδικας μεταγλωττίζεται στην εγγενή του μορφή.
• Στο παρόν πλαίσιο, το C χρησιμοποιείται για προγραμματισμό συστήματος και κρίσιμα προγράμματα απόδοσης, ενώ το C προσφέρει λύσεις για web, επιτραπέζιους υπολογιστές και κινητά.
• Το C προσφέρει ισχυρό χειρισμό δείκτη και αριθμητική, ενώ το C προσφέρει δείκτες μόνο σε μη ασφαλή λειτουργία.
• Η διαχείριση μνήμης δεν είναι καθήκον του προγραμματιστή στη C, η οποία υποστηρίζεται από το Garbage Collection.
• Η C υποστηρίζει μακροεντολή, ενώ η C δεν υποστηρίζει.
• Η έννοια των καθολικών μεταβλητών, συναρτήσεων και σταθερών αποφεύγεται στη C αντικαθιστώντας την με στατικά μέλη δημοσίων κλάσεων.
• Το C επιτρέπει προεπιλεγμένα ορίσματα στις παραμέτρους συνάρτησης.
• Στη C, υπάρχουν έλεγχοι δέσμευσης πίνακα και καθορισμένοι τύποι μεγέθους.
• Το C προσφέρει προηγμένες πληροφορίες τύπου χρόνου εκτέλεσης και προβληματισμό.
• Η C είναι μια αρκετά ελαφριά γλώσσα, ενώ η C είναι τεράστια.
• Το C έχει ενσωματωμένη υποστήριξη για νήματα.
• Στο C οι αριθμητικές πράξεις μπορούν να ελεγχθούν για υπερχειλίσεις.
• Το C εννοεί όλους τους τύπους δεδομένων σε αντικείμενα, τα οποία με τη σειρά τους υποστηρίζουν πολλούς χειρισμούς τύπων δεδομένων.