Συγκρίνοντας δημοφιλείς γλώσσες προγραμματισμού

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

Διαβάστε περισσότερα για Τι είναι μια γλώσσα προγραμματισμού;

Συγκρίνοντας τις γλώσσες προγραμματισμού

Υπάρχουν διάφοροι τρόποι σύγκρισης των γλωσσών για υπολογιστές, αλλά για λόγους απλότητας, θα τις συγκρίνουμε με τη μέθοδο σύνταξης και το επίπεδο αφαίρεσης.

Σύνταξη κώδικα μηχανής

Ορισμένες γλώσσες απαιτούν την μετατροπή προγραμμάτων απευθείας στον Κώδικα μηχανής - τις οδηγίες που κατανοεί άμεσα μια CPU. Αυτή η διαδικασία μετασχηματισμού ονομάζεται συλλογή. Η γλώσσα συναρμολόγησης, C, C ++ και Pascal είναι μεταγλωττισμένες γλώσσες.

instagram viewer

Ερμηνευμένες γλώσσες

Υπάρχουν και άλλες γλώσσες Ερμηνεύεται όπως Basic, ActionScript και Javascript, ή ένα μείγμα από τα δύο που έχουν συνταχθεί σε μια ενδιάμεση γλώσσα - αυτό περιλαμβάνει Java και C #.

Μια μεταφρασμένη γλώσσα επεξεργάζεται κατά το χρόνο εκτέλεσης. Κάθε γραμμή διαβάζεται, αναλύεται και εκτελείται. Το να αναπαραγάγετε μια γραμμή κάθε φορά σε ένα βρόχο είναι αυτό που καθιστά τις γλώσσες που ερμηνεύονται τόσο αργές. Αυτή η δαπάνη σημαίνει ότι ο ερμηνευμένος κώδικας διαρκεί 5-10 φορές πιο αργά από τον καταρτισμένο κώδικα. Οι ερμηνευμένες γλώσσες, όπως Βασικές ή JavaScript, είναι οι πιο αργές. Το πλεονέκτημά τους δεν χρειάζεται να ανασυγκροτηθεί μετά τις αλλαγές και αυτό είναι βολικό όταν μαθαίνετε να προγραμματίζετε.

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

Επίπεδο αφαίρεσης

Ο άλλος τρόπος σύγκρισης των γλωσσών είναι επίπεδο αφαίρεσης. Αυτό υποδεικνύει πόσο κοντά είναι μια συγκεκριμένη γλώσσα στο υλικό. Ο Κωδικός Μηχανής είναι το χαμηλότερο επίπεδο, με τη Γλώσσα Συναρμολόγησης ακριβώς πάνω από αυτό. Το C ++ είναι υψηλότερο από το C, επειδή η C ++ προσφέρει μεγαλύτερη αφαίρεση. Ιάβα και C # είναι υψηλότερες από τη C ++ επειδή μεταγλωττίζονται σε μια ενδιάμεση γλώσσα που ονομάζεται bytecode.

Πώς συγκρίνονται οι γλώσσες

  • Γρήγορη Σύνταξη Γλωσσών
  • Συμβολική γλώσσα
  • ντο
  • C ++
  • Pascal
  • ΝΤΟ#
  • Ιάβα
  • Λογικά γρήγορα ερμηνεύεται
  • Perl
  • PHP
  • Αργή ερμηνεία
  • JavaScript
  • ActionScript
  • Βασικός

Ο κώδικας μηχανής είναι οι οδηγίες που εκτελεί μια CPU. Είναι το μόνο πράγμα που μπορεί να κατανοήσει και να εκτελέσει μια CPU. Οι ερμηνευμένες γλώσσες χρειάζονται μια εφαρμογή που ονομάζεται Διερμηνέας που διαβάζει κάθε γραμμή του πηγαίου κώδικα του προγράμματος και στη συνέχεια "τρέχει" το.

Η διερμηνεία είναι ευκολότερη

Είναι πολύ εύκολο να σταματήσετε, να αλλάξετε και να ξαναρχίσετε εφαρμογές γραμμένες σε μια γλώσσα που έχει ερμηνευτεί και γι 'αυτό είναι δημοφιλείς για τον προγραμματισμό της μάθησης. Δεν απαιτείται στάδιο συλλογής. Η σύνταξη μπορεί να είναι μια αρκετά αργή διαδικασία. Μια μεγάλη εφαρμογή Visual C ++ μπορεί να διαρκέσει από λεπτά έως ώρες για να μεταγλωττίσει, ανάλογα με τον αριθμό του κώδικα που πρέπει να ξαναχτιστεί και την ταχύτητα της μνήμης και της CPU.

Όταν οι υπολογιστές εμφανίστηκαν για πρώτη φορά

Όταν οι υπολογιστές έγιναν για πρώτη φορά δημοφιλείς στη δεκαετία του 1950, τα προγράμματα γράφονταν στον κώδικα μηχανής, καθώς δεν υπήρχε άλλος τρόπος. Οι προγραμματιστές χρειάστηκαν φυσικά flip switches για να εισάγουν τιμές. Αυτός είναι ένας τόσο επίπονος και αργός τρόπος δημιουργίας μιας εφαρμογής που έπρεπε να δημιουργηθούν οι γλώσσες υπολογιστών υψηλότερου επιπέδου.

Assembler: Γρήγορη σε Run- αργά για να γράψετε!

Η γλώσσα συναρμολόγησης είναι η αναγνώσιμη έκδοση του Machine Code και μοιάζει με αυτό

Mov A, $ 45

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

Η γλώσσα συναρμολόγησης είναι το χαμηλότερο επίπεδο κωδικού

Η γλώσσα συναρμολόγησης είναι πολύ χαμηλή. το μεγαλύτερο μέρος του κώδικα μετακινεί μόνο τις τιμές μεταξύ των καταχωρητών της CPU και της μνήμης. Αν γράφετε ένα πακέτο μισθοδοσίας που θέλετε να σκεφτείτε όσον αφορά τους μισθούς και τις φορολογικές ελαφρύνσεις, μην εγγραφείτε στη θέση μνήμης XYZ. Αυτός είναι ο λόγος για τις γλώσσες υψηλότερου επιπέδου όπως η C ++, ΝΤΟ# ή Ιάβα είναι πιο παραγωγικοί. Ο προγραμματιστής μπορεί να σκεφτεί από την άποψη του τομέα προβλημάτων (μισθοί, παρακρατήσεις και δεδουλευμένα) όχι τον τομέα υλικού (μητρώα, μνήμη και οδηγίες).

Προγραμματισμός Συστημάτων με C

C σχεδιάστηκε στις αρχές της δεκαετίας του 1970 από τον Dennis Ritchie. Μπορεί να θεωρηθεί ως εργαλείο γενικού σκοπού - πολύ χρήσιμο και ισχυρό, αλλά πολύ εύκολο να αφήσει σφάλματα μέσω αυτού που μπορεί να κάνει τα συστήματα ανασφαλείς. C είναι μια γλώσσα χαμηλού επιπέδου και έχει περιγραφεί ως φορητή γλώσσα συναρμολόγησης. Η σύνταξη πολλών scripting languages ​​βασίζεται στο C, για παράδειγμα, JavaScript, PHP και ActionScript.

Perl: Ιστοτόποι και βοηθητικά προγράμματα

Πολύ δημοφιλής στον κόσμο του Linux, ο Perl ήταν μια από τις πρώτες γλώσσες του διαδικτύου και παραμένει πολύ δημοφιλής σήμερα. Για να κάνετε "γρήγορο και βρώμικο" προγραμματισμό στον ιστό παραμένει απαράμιλλη και οδηγεί πολλούς ιστότοπους. Έχει, όμως, κάπως εκλείψει PHP ως γλώσσα προγραμματισμού ιστού.

Κωδικοποίηση ιστότοπων με PHP

PHP σχεδιάστηκε ως γλώσσα για τους διακομιστές Web και είναι πολύ δημοφιλής σε συνδυασμό με το Linux, το Apache, το MySql και το PHP ή το LAMP για σύντομο χρονικό διάστημα. Είναι ερμηνευμένο, αλλά προ-compiled έτσι κώδικας εκτελείται αρκετά γρήγορα. Μπορεί να εκτελείται σε επιτραπέζιους υπολογιστές, αλλά δεν χρησιμοποιείται ευρέως για την ανάπτυξη εφαρμογών γραφείου. Με βάση τη σύνταξη C, περιλαμβάνει επίσης Αντικείμενα και τις κλάσεις.

Ο Pascal σχεδιάστηκε ως γλώσσα διδασκαλίας λίγα χρόνια πριν από το C, αλλά ήταν πολύ περιορισμένος με την άσχημη χειραγώγηση των αρχείων και των αρχείων. Πολλοί κατασκευαστές επέκτειναν τη γλώσσα, αλλά δεν υπήρξε γενικός ηγέτης μέχρι να εμφανιστούν τα Turbo Pascal (για το Dos) και οι Δελφοί (για τα Windows) του Borland. Αυτές ήταν ισχυρές εφαρμογές που προσέφεραν αρκετές λειτουργίες ώστε να καταστούν κατάλληλες για εμπορική ανάπτυξη. Ωστόσο, ο Borland ήταν ενάντια στην πολύ μεγαλύτερη Microsoft και έχασε τη μάχη.

C ++: Μια αριστοκρατική γλώσσα!

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

C #: Μεγάλο στοίχημα της Microsoft

Το C # δημιουργήθηκε από Δελφοίτου αρχιτέκτονα Anders Hejlsberg αφού μετακόμισε στην Microsoft και οι προγραμματιστές των Delphi θα νιώσουν σαν στο σπίτι με χαρακτηριστικά όπως τα Windows forms.

Η σύνταξη C # είναι πολύ παρόμοια με την Java, κάτι που δεν προκαλεί έκπληξη καθώς ο Hejlsberg εργάστηκε επίσης στο J + + μετά τη μετάβασή του στη Microsoft. Μάθετε το C # και είστε καλά στο δρόμο για τη γνώση της Java. Και οι δύο γλώσσες είναι ημι-μεταγλωττισμένες, έτσι ώστε αντί να μεταγλωττίζονται στον κώδικα του μηχανήματος, μεταγλωττίζονται σε bytecode (C # μεταγλωττίζονται σε CIL αλλά και Bytecode είναι παρόμοια) και στη συνέχεια ερμηνεύονται.

Javascript: Προγράμματα στο πρόγραμμα περιήγησης που χρησιμοποιείτε

Javascript δεν είναι τίποτα όπως η Java, αντ 'αυτού, είναι μια γλώσσα scripting που βασίζεται στη σύνταξη C αλλά με την προσθήκη Αντικείμενα και χρησιμοποιείται κυρίως σε προγράμματα περιήγησης. Το JavaScript ερμηνεύεται και είναι πολύ πιο αργό από το καταρτίζονται αλλά λειτουργεί καλά μέσα σε ένα πρόγραμμα περιήγησης.

Επινοηθεί από την Netscape έχει αποδειχθεί πολύ επιτυχής και μετά από αρκετά χρόνια στην ύφεση απολαμβάνει μια νέα μίσθωση ζωής λόγω της ΑΪΑΣ; Ασύγχρονη Javascript και XML. Αυτό επιτρέπει σε τμήματα ιστοσελίδων να ενημερώνονται από το διακομιστή χωρίς να αναδιαμορφώνουν ολόκληρη τη σελίδα.

ActionScript: Μια φανταστική γλώσσα!

ActionScript είναι μια υλοποίηση του JavaScript, αλλά υπάρχει μόνο στις εφαρμογές Macromedia Flash. Χρησιμοποιώντας γραφικά με βάση τον φορέα, χρησιμοποιείται κυρίως για παιχνίδια, αναπαραγωγή βίντεο και άλλα οπτικά εφέ και για την ανάπτυξη εξελιγμένων διεπαφών χρήστη, όλα λειτουργούν στο πρόγραμμα περιήγησης.

Βασικά για αρχάριους

Βασικός είναι ένα ακρωνύμιο για τον αρχαίο κώδικα Symbolic Instruction για αρχάριους και δημιουργήθηκε για να διδάξει προγραμματισμό στη δεκαετία του 1960. Η Microsoft έχει κάνει τη δική της γλώσσα με πολλές διαφορετικές εκδόσεις, συμπεριλαμβανομένου του VBScript για ιστοσελίδες και του πολύ επιτυχημένου Visual Basic. Η πιο πρόσφατη έκδοση του είναι το VB.NET και αυτό τρέχει στην ίδια πλατφόρμα .ΚΑΘΑΡΑ ως C # και παράγει τον ίδιο CIT bytecode.

Λουά είναι μια ελεύθερη γλώσσα σενάριο γραμμένη σε C που περιλαμβάνει συλλογή απορριμμάτων και coroutines. Διασυνδέεται καλά με το C / C ++ και χρησιμοποιείται στη βιομηχανία παιχνιδιών (και σε μη παιχνίδια) για τη γραφή λογικής παιχνιδιού, ενεργοποίησης συμβάντων και ελέγχου παιχνιδιών.

συμπέρασμα

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

E.G δεν θα χρησιμοποιήσετε το C για τη σύνταξη εφαρμογών ιστού και δεν θα γράψετε ένα λειτουργικό σύστημα σε Javascript. Αλλά όποια γλώσσα επιλέγετε, αν είναι C, C ++ ή C #, τουλάχιστον ξέρετε ότι είστε στο σωστό μέρος για να το μάθετε.