Περιεχόμενο
Ο στόχος οποιασδήποτε γλώσσας προγραμματισμού είναι να μετατραπεί ένας ακριβός υπολογιστής βάρους χαρτιού σε μια χρήσιμη συσκευή επεξεργασίας και αποθήκευσης δεδομένων. Η γλώσσα που επιλέγεται για την εκτέλεση αυτής της εργασίας πρέπει να είναι ισορροπημένη μεταξύ αποτελεσματικότητας και ευκολίας χρήσης. Η γλώσσα της μηχανής αντιπροσωπεύει τα άκρα του φάσματος και για τους δύο παράγοντες.
Γλώσσα μηχανής
Η γλώσσα της μηχανής παράγει το μόνο σύνολο οδηγιών που ο υπολογιστής κατανοεί χωρίς μεταφραστή. Οι υπολογιστές μπορούν να αναπαράγουν ήχο και βίντεο, να επεξεργάζονται και να αποθηκεύουν δεδομένα, να επικοινωνούν με το Διαδίκτυο και να εκτελούν άλλες εξειδικευμένες εργασίες, ανταποκρινόμενοι σε ένα σύνολο οδηγιών που αναγνωρίζουν μόνο αυτές και μηδενικά. Η συγγραφή εκατοντάδων γραμμών κώδικα με μόνο αυτές και μηδενικά είναι μια κουραστική εργασία που συμβάλλει στη δημοτικότητα γλωσσών υψηλού επιπέδου, όπως C και Java.
Αρχικά πλεονεκτήματα
Ο πρώτος προσωπικός υπολογιστής της IBM ήταν εξοπλισμένος με μνήμη τυχαίας προσπέλασης 512 KB και μονάδα δισκέτας 360 KB. Αφού το λειτουργικό σύστημα φορτώθηκε στη μνήμη από τη δισκέτα, τα προγράμματα φορτώθηκαν στον υπόλοιπο χώρο μνήμης, αφήνοντας μια μικρή περιοχή μνήμης RAM, συνήθως μικρότερη από 100 KB, για το ενεργό πρόγραμμα για την επεξεργασία δεδομένων. Κατά τη διάρκεια αυτής της περιόδου, το κύριο μέλημα ενός προγραμματιστή ήταν η δημιουργία συνοπτικού και αποτελεσματικού κώδικα. Το εργαλείο προγραμματισμού που χρησιμοποιείται περισσότερο σε αυτούς τους υπολογιστές ήταν η γλώσσα του μηχανήματος, η οποία μπορεί να είναι σημαντικά μικρότερη από μια έκδοση γραμμένη σε BASIC ή C. Ήταν επίσης λίγο πιο εύκολο να χρησιμοποιήσετε τη γλώσσα συναρμολόγησης.
Εξάρτηση πλατφόρμας
Η γλώσσα του μηχανήματος κατευθύνεται κατευθείαν στο υλικό του υπολογιστή, δίνοντας στον προγραμματιστή τον πλήρη έλεγχο κάθε πτυχής της εκτέλεσης ενός προγράμματος. Το μειονέκτημα αυτής της προσέγγισης είναι ότι ο προγραμματιστής πρέπει να γνωρίζει την αρχιτεκτονική κάθε σετ ολοκληρωμένων κυκλωμάτων (chipsets) για να γράφει αποτελεσματικό κώδικα. Όταν αλλάξει ένα στοιχείο όπως μια κάρτα γραφικών ή ένας ελεγκτής δίσκου, ο κωδικός πρέπει να ενημερωθεί για να αναγνωρίσει και να χρησιμοποιήσει τη νέα συσκευή.
Γλώσσες υψηλού επιπέδου
Τα πλεονεκτήματα της ταχύτητας και της χαμηλής χρήσης μνήμης από τη γλώσσα του μηχανήματος αντισταθμίζονται από τη δυσκολία σύνταξης οδηγιών σε επίπεδο τσιπ σε δυαδικό κώδικα. Η διαθεσιμότητα gigabytes RAM και terabyte αποθήκευσης έχει εξαλείψει την ανάγκη για συνοπτικό και αποτελεσματικό κώδικα σε σύγχρονους προσωπικούς υπολογιστές. Οι πρόσθετες απαιτήσεις μνήμης και αποθήκευσης προγραμμάτων γραμμένων σε γλώσσες υψηλού επιπέδου, όπως C και Java, δεν αποτελούν πλέον παράγοντα κατά την επιλογή μιας πλατφόρμας ανάπτυξης. Η ευκολία χρήσης και συντήρησης είναι προτιμώμενοι παράγοντες για ταχύτητα και αποδοτικότητα στα περισσότερα σύγχρονα έργα λογισμικού.