Περίληψη: Σύγχρονες γλώσσες και συστήματα προγραμματισμού. Γλώσσες προγραμματισμού. Προγραμματιστικά συστήματα. Visual Design Environments

Εισαγωγή…………………………………………………………………………………………………….

1 Γλώσσα και σύστημα προγραμματισμού – έννοια, ουσία………………….4

2 Ταξινόμηση γλωσσών προγραμματισμού…………………………….6

2.1 Μηχανοκεντρικές γλώσσες………………………………...6

2.1.1 Γλώσσες μηχανής…………………………………………………………………

2.1.2 Συμβολικές γλώσσες κωδικοποίησης…………………………………7

2.1.3 Αυτοκώδικες………………………………………………………………8

2.1.4 Μακροεντολή……………………………………………………………….9

2.2 Γλώσσες ανεξάρτητες από μηχανή……………………………………..9

2.2.1 Γλώσσες ανεξάρτητες από μηχανή……………………………………10

2.2.2 Καθολικές γλώσσες ………………………………………………………………10

2.2.3 Γλώσσες συνομιλίας…………………………………………………………………………………………………….

2.2.4 Μη διαδικαστικές γλώσσες ……………………………………………………………12

3 Σύγχρονες γλώσσες και συστήματα προγραμματισμού…………………………13

3.1 Βασικά ………………………………………………………………………………………………………………………………………………………………………………………………

3.2 Πασκάλ…………………………………………………………………………………………………………………………………….

3.3 Δελφοί …………………………………………………………………………..15

3.4 Fortran……………………………………………………………….17

3.5 C++………………………………………………………………………………………………………………………………….

3.6 Java……………………………………………………………………………..20

Συμπέρασμα……………………………………………………………………………..22

Κατάλογος πηγών που χρησιμοποιήθηκαν................................................ ........... ................23

Εισαγωγή

Η πρόοδος της τεχνολογίας των υπολογιστών έχει καθορίσει τη διαδικασία εμφάνισης νέων και ποικίλων συστημάτων σήμανσης για την καταγραφή αλγορίθμων – γλωσσών προγραμματισμού. Το νόημα της εμφάνισης μιας τέτοιας γλώσσας είναι ένα εξοπλισμένο σύνολο υπολογιστικών τύπων με πρόσθετες πληροφορίες που μετατρέπουν αυτό το σύνολο σε αλγόριθμο. Μια γλώσσα προγραμματισμού εξυπηρετεί δύο σχετικούς σκοπούς: δίνει στον προγραμματιστή μια συσκευή για τον καθορισμό των ενεργειών που πρέπει να εκτελεστούν και σχηματίζει τις έννοιες που χρησιμοποιεί ο προγραμματιστής όταν σκέφτεται τι να κάνει. Ο πρώτος στόχος επιτυγχάνεται ιδανικά από μια γλώσσα που είναι τόσο «κοντά στο μηχάνημα» ώστε όλες οι βασικές πτυχές της μηχανής μπορούν να λειτουργήσουν εύκολα και απλά με τρόπο που είναι αρκετά προφανής στον προγραμματιστή. Ο δεύτερος στόχος επιτυγχάνεται ιδανικά από μια γλώσσα που είναι τόσο «κοντά στο πρόβλημα» που οι έννοιες για την επίλυσή του μπορούν να εκφραστούν άμεσα και σύντομα. Η σύνδεση μεταξύ της γλώσσας που σκεφτόμαστε/προγραμματίζουμε με τα προβλήματα και τις λύσεις που μπορούμε να φανταστούμε στο μυαλό μας είναι πολύ στενή. Για αυτόν τον λόγο, ο περιορισμός των ιδιοτήτων μιας γλώσσας με μοναδικό σκοπό την εξάλειψη των σφαλμάτων προγραμματιστή είναι στην καλύτερη περίπτωση επικίνδυνος. Όπως και με τις φυσικές γλώσσες, υπάρχουν τεράστια οφέλη από το να είσαι τουλάχιστον δίγλωσσος. Η γλώσσα παρέχει στον προγραμματιστή ένα σύνολο εννοιολογικών εργαλείων εάν δεν ανταποκρίνονται στην εργασία, τότε απλώς αγνοούνται. Για παράδειγμα, σοβαροί περιορισμοί της έννοιας του δείκτη αναγκάζουν τον προγραμματιστή να χρησιμοποιήσει διανύσματα και ακέραιους αριθμούς για να εφαρμόσει δομές, δείκτες και παρόμοια. Ο καλός σχεδιασμός και η απαλλαγή από σφάλματα δεν μπορούν να διασφαλιστούν αποκλειστικά μέσω της γλώσσας Μπορεί να φαίνεται περίεργο, αλλά ένας δεδομένος υπολογιστής μπορεί να εκτελεί προγράμματα γραμμένα στη μητρική του γλώσσα μηχανής. Υπάρχουν σχεδόν τόσες διαφορετικές γλώσσες μηχανής όσες και οι υπολογιστές, αλλά όλες είναι παραλλαγές της ίδιας ιδέας: απλές πράξεις που εκτελούνται με ταχύτητα αστραπής σε δυαδικούς αριθμούς. Οι προσωπικοί υπολογιστές της IBM χρησιμοποιούν τη γλώσσα μηχανής της οικογένειας μικροεπεξεργαστών 8086 επειδή Το υλικό τους βασίζεται ειδικά σε αυτούς τους μικροεπεξεργαστές. Είναι δυνατό να γραφτούν προγράμματα απευθείας σε γλώσσα μηχανής, αν και αυτό είναι δύσκολο. Στην αυγή της μηχανογράφησης (στις αρχές της δεκαετίας του 1950), η γλώσσα μηχανής ήταν η μόνη γλώσσα που ο άνθρωπος δεν είχε εφεύρει τίποτα άλλο μέχρι τότε. Για να σωθούν οι προγραμματιστές από την αυστηρότητα της γλώσσας προγραμματισμού μηχανών, δημιουργήθηκαν γλώσσες υψηλού επιπέδου (δηλαδή γλώσσες μη μηχανής), οι οποίες έγιναν ένα είδος γέφυρας σύνδεσης μεταξύ των ανθρώπων και της γλώσσας μηχανής του υπολογιστή. Οι γλώσσες υψηλού επιπέδου λειτουργούν μέσω προγραμμάτων μετάφρασης που εισάγουν «πηγαίο κώδικα» (ένα υβρίδιο αγγλικών λέξεων και μαθηματικών εκφράσεων που διαβάζονται από μια μηχανή) και τελικά αναγκάζουν τον υπολογιστή να εκτελέσει τις αντίστοιχες εντολές που δίνονται στη γλώσσα μηχανής. Υπάρχουν δύο κύριοι τύποι μεταφραστών: διερμηνείς, οι οποίοι σαρώνουν και ελέγχουν τον πηγαίο κώδικα σε ένα βήμα και μεταγλωττιστές, που σαρώνουν τον πηγαίο κώδικα για να παράγουν κείμενο προγράμματος στη γλώσσα μηχανής που στη συνέχεια εκτελείται ξεχωριστά.

1 Γλώσσα και σύστημα προγραμματισμού - έννοια, ουσία

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

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

Οι πιο γενικές έννοιες με τις οποίες λειτουργεί ένας προγραμματιστής όταν χρησιμοποιεί μια συγκεκριμένη γλώσσα προγραμματισμού περιλαμβάνουν τις έννοιες ενός προγράμματος και μιας εικονικής μηχανής. Το πρόγραμμα πρέπει να ικανοποιεί τις απαιτήσεις (προδιαγραφές) μιας συγκεκριμένης γλώσσας προγραμματισμού και να χρησιμεύει ως κοντέινερ για την αποθήκευση μιας ακολουθίας ενεργειών και ενός συνόλου δεδομένων. Η εικονική μηχανή λειτουργεί ως διερμηνέας των βασικών εννοιών που χρησιμοποιούνται στη γλώσσα προγραμματισμού και είναι το περιβάλλον για την ύπαρξη του προγράμματος. Όλες οι άλλες αφαιρέσεις που συζητούνται στο άρθρο ομαδοποιούνται γύρω από αυτές τις βασικές αφαιρέσεις.

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

2 Ταξινόμηση γλωσσών προγραμματισμού

2.1 Μηχανοκεντρικές γλώσσες

Μηχανοκεντρικές γλώσσες είναι γλώσσες των οποίων τα σύνολα χειριστών και οπτικών μέσων εξαρτώνται σημαντικά από τα χαρακτηριστικά του υπολογιστή (εσωτερική γλώσσα, δομή μνήμης κ.λπ.). Οι γλώσσες προσανατολισμένες στη μηχανή σάς επιτρέπουν να χρησιμοποιείτε όλες τις δυνατότητες και τις δυνατότητες των γλωσσών που εξαρτώνται από τη μηχανή:

Υψηλή ποιότητα δημιουργημένων προγραμμάτων (συμπαγής και ταχύτητα

εκτέλεση);

Δυνατότητα χρήσης συγκεκριμένων πόρων υλικού.

Προβλεψιμότητα κώδικα αντικειμένων και παραγγελιών μνήμης.

Για να δημιουργήσετε αποτελεσματικά προγράμματα πρέπει να γνωρίζετε το σύστημα

εντολές και χαρακτηριστικά της λειτουργίας αυτού του υπολογιστή.

Η πολυπλοκότητα της διαδικασίας ανάπτυξης του προγράμματος (ειδικά για

γλώσσες μηχανών και JSC), ελάχιστα προστατευμένα από την εμφάνιση

Χαμηλή ταχύτητα προγραμματισμού.

Αδυναμία άμεσης χρήσης προγραμμάτων

μεταγλωττίζεται σε αυτές τις γλώσσες σε άλλους τύπους υπολογιστών.

Οι μηχανοκεντρικές γλώσσες χωρίζονται σε τάξεις ανάλογα με τον βαθμό αυτόματου προγραμματισμού.

2.1.1 Γλώσσα μηχανής

Όπως ανέφερα ήδη στην εισαγωγή, ένας ξεχωριστός υπολογιστής έχει τη δική του συγκεκριμένη Γλώσσα Μηχανής (εφεξής ML), έχει εντολή να εκτελεί συγκεκριμένες λειτουργίες στους τελεστές που ορίζουν, επομένως η ML είναι μια εντολή. Ωστόσο, ορισμένες οικογένειες υπολογιστών (για παράδειγμα, ES Computers, IBM/370/, κ.λπ.) διαθέτουν ένα μόνο ME για υπολογιστές διαφορετικής ισχύος. Η εντολή οποιουδήποτε από αυτούς αναφέρει πληροφορίες σχετικά με τη θέση των τελεστών και τον τύπο της λειτουργίας που εκτελείται.

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

2.1.2 Γλώσσες συμβολικής κωδικοποίησης

Ας συνεχίσουμε την ιστορία σχετικά με τις γλώσσες εντολών Οι Συμβολικές Γλώσσες Κωδικοποίησης (στο εξής θα αναφέρονται ως YSC), όπως και η ML, είναι γλώσσες εντολών. Ωστόσο, οι κώδικες λειτουργίας και οι διευθύνσεις στις οδηγίες μηχανής, που είναι μια ακολουθία δυαδικών (σε εσωτερικό κώδικα) ή οκταδικών (συχνά χρησιμοποιούνται κατά τη σύνταξη προγραμμάτων) ψηφία, αντικαθίστανται στο YSC από σύμβολα (αναγνωριστικά), η μορφή γραφής των οποίων βοηθά τον προγραμματιστή θυμηθείτε ευκολότερα το σημασιολογικό περιεχόμενο της πράξης. Αυτό εξασφαλίζει σημαντική μείωση του αριθμού των σφαλμάτων κατά τη μεταγλώττιση προγραμμάτων.

Η χρήση συμβολικών διευθύνσεων είναι το πρώτο βήμα για τη δημιουργία ενός YASK. Οι εντολές υπολογιστή περιέχουν συμβολικές διευθύνσεις αντί για αληθινές (φυσικές) διευθύνσεις. Με βάση τα αποτελέσματα του μεταγλωττισμένου προγράμματος, προσδιορίζεται ο απαιτούμενος αριθμός κελιών για την αποθήκευση των αρχικών ενδιάμεσων και προκύπτουσες τιμές. Η εκχώρηση διευθύνσεων, που εκτελείται χωριστά από τη μεταγλώττιση του προγράμματος σε συμβολικές διευθύνσεις, μπορεί να πραγματοποιηθεί από έναν προγραμματιστή λιγότερο καταρτισμένο ή ένα ειδικό πρόγραμμα, το οποίο διευκολύνει πολύ την εργασία του προγραμματιστή.

2.1.3 Αυτοκωδικοί

Υπάρχουν επίσης γλώσσες που περιλαμβάνουν όλες τις δυνατότητες του YSC, μέσω της διευρυμένης εισαγωγής εντολών macro - ονομάζονται Autocodes.

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

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

Και τα δύο αυτά συστήματα χρησιμοποιούν μεταφραστές JSC και ένα σύνολο εντολών μακροεντολών, οι οποίες είναι επίσης τελεστές αυτόματης κωδικοποίησης.

Οι αυτοκώδικες που αναπτύχθηκαν ονομάζονται Assemblers. Τα προγράμματα υπηρεσιών κ.λπ., κατά κανόνα, είναι γραμμένα σε γλώσσες όπως η Συνέλευση. Για περισσότερες πληροφορίες σχετικά με τη γλώσσα Assembly, ανατρέξτε παρακάτω.

2.1.4 Μακροεντολή

Μια γλώσσα που είναι ένα εργαλείο για την αντικατάσταση μιας ακολουθίας χαρακτήρων που περιγράφουν την εκτέλεση των απαιτούμενων ενεργειών υπολογιστή σε μια πιο συμπιεσμένη μορφή ονομάζεται Macro (εργαλείο αντικατάστασης).

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

Οι μακροεντολές μπορούν να λειτουργήσουν εξίσου τόσο με προγράμματα όσο και με δεδομένα.

2.2 Γλώσσες ανεξάρτητες από μηχανή

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

Τέτοιες γλώσσες ονομάζονται γλώσσες προγραμματισμού υψηλού επιπέδου. Τα προγράμματα που μεταγλωττίζονται σε τέτοιες γλώσσες είναι ακολουθίες δηλώσεων δομημένες σύμφωνα με τους κανόνες προβολής της γλώσσας (εργασίες, τμήματα, μπλοκ, κ.λπ.). Οι τελεστές γλώσσας περιγράφουν τις ενέργειες που πρέπει να εκτελέσει το σύστημα μετά τη μετάφραση του προγράμματος σε ML.

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

2.2.1 Γλώσσες προσανατολισμένες στο πρόβλημα

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

Υπάρχουν πολλές προβληματικές γλώσσες, για παράδειγμα:

Fortran, Algol – γλώσσες που δημιουργήθηκαν για την επίλυση μαθηματικών προβλημάτων.

Simula, Slang - για μοντελοποίηση.

Lisp, Snoball - για εργασία με δομές λίστας.

2.2.2 Καθολικές γλώσσες

Οι καθολικές γλώσσες έχουν δημιουργηθεί για ένα ευρύ φάσμα εργασιών: εμπορικές, επιστημονικές, μοντελοποίηση κ.λπ. Η πρώτη καθολική γλώσσα αναπτύχθηκε από την IBM, η οποία έγινε Pl/1 στην ακολουθία των γλωσσών. Η δεύτερη πιο ισχυρή παγκόσμια γλώσσα ονομάζεται ALGOL-68. Σας επιτρέπει να εργάζεστε με χαρακτήρες, ψηφία, αριθμούς σταθερής και κινητής υποδιαστολής. Το PL/1 διαθέτει ένα ανεπτυγμένο σύστημα χειριστών για τη διαχείριση μορφών, για εργασία με πεδία μεταβλητού μήκους, με δεδομένα οργανωμένα σε πολύπλοκες δομές και για αποτελεσματική χρήση καναλιών επικοινωνίας. Η γλώσσα λαμβάνει υπόψη τις δυνατότητες διακοπής που περιλαμβάνονται σε πολλά μηχανήματα και έχει κατάλληλους χειριστές. Παρέχεται η δυνατότητα παράλληλης εκτέλεσης ενοτήτων προγράμματος.

Τα προγράμματα σε Pl/1 μεταγλωττίζονται χρησιμοποιώντας αυτόματες διαδικασίες. Η γλώσσα χρησιμοποιεί πολλά χαρακτηριστικά των Fortran, Algol και Cobol. Ωστόσο, επιτρέπει όχι μόνο δυναμική, αλλά και διαχειριζόμενη και στατιστική κατανομή μνήμης.

2.2.3 Γλώσσες συνομιλίας

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

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

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

Ένα παράδειγμα γλωσσών συνομιλίας είναι το BASIC.

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

2.2.4 Μη διαδικαστικές γλώσσες

Οι μη διαδικαστικές γλώσσες αποτελούν μια ομάδα γλωσσών που περιγράφουν την οργάνωση των δεδομένων που υποβάλλονται σε επεξεργασία με χρήση σταθερών αλγορίθμων (γλώσσες πίνακα και γεννήτριες αναφορών) και γλώσσες για την επικοινωνία με τα λειτουργικά συστήματα.

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

Οι μέθοδοι πινάκων κατακτώνται εύκολα από ειδικούς οποιουδήποτε επαγγέλματος.

Προγράμματα γραμμένα σε γλώσσα πίνακα περιγράφουν βολικά πολύπλοκες καταστάσεις που προκύπτουν κατά την ανάλυση του συστήματος.

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

3.1 Βασικός

Όπως τα περίφημα χάμπουργκερ, μπέιζμπολ και μπάσκετ, το Basic είναι προϊόν της Νέας Αγγλίας. Όπως είπα, δημιουργήθηκε το 1964 ως γλώσσα διδασκαλίας προγραμματισμού. Το BASIC είναι ένα κοινό αρκτικόλεξο του "Beginner's All-purpose Symbolic Instruction Code" (BASIC).

Σύντομα, τόσο οι μαθητές όσο και οι συντάκτες του προγράμματος ανακάλυψαν ότι το BASIC μπορούσε να κάνει σχεδόν ό,τι θα μπορούσε να κάνει το βαρετό, βαρετό Fortran. Και επειδή το BASIC ήταν εύκολο στην εκμάθηση και εύκολη στην εργασία, τα προγράμματα συνήθως γράφονταν σε αυτό πιο γρήγορα από ό,τι στο Fortran. Το BASIC ήταν επίσης διαθέσιμο σε προσωπικούς υπολογιστές, συνήθως ενσωματωμένους σε ROM. Έτσι το BASIC απέκτησε δημοτικότητα. Είναι ενδιαφέρον ότι 20 χρόνια μετά την εφεύρεση της BASIC, εξακολουθεί να είναι η πιο εύκολη εκμάθηση μεταξύ των δεκάδων γλωσσών προγραμματισμού γενικής χρήσης που είναι διαθέσιμες στους λάτρεις του προγραμματισμού. Επιπλέον, κάνει εξαιρετική δουλειά.

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

Παρά ορισμένες από τις ελλείψεις της BASIC, κανείς δεν θα αρνιόταν ότι ο Kemeny και ο Kurts πέτυχαν τον κύριο στόχο τους: να κάνουν τον προγραμματισμό πιο προσιτό σε περισσότερους ανθρώπους.

Ιστορικά, το BASIC συνήθως υλοποιούνταν ως διερμηνέας (ένα οικείο ισομερές είναι ο ίδιος ο διερμηνέας BASIC). Οι λόγοι για τη μετάβαση από το ερασιτεχνικό στο επαγγελματικό επίπεδο είναι οι πολυάριθμες επεκτάσεις της κλασικής έκδοσης της γλώσσας: η δυνατότητα απενεργοποίησης της αρίθμησης γραμμών, οι κατασκευές δομημένων προγραμμάτων πολλαπλών γραμμών, οι δομές τύπου εγγραφής, οι ονομασμένες υπορουτίνες με παραμέτρους και τοπικές μεταβλητές.

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

3.2 Πασκάλ

Η γλώσσα Pascal δημιουργήθηκε ως γλώσσα εκπαιδευτικού προγραμματισμού το 1968–1971. Νίκλαους Βιρθ. Επί του παρόντος, αυτή η γλώσσα έχει ευρύτερο πεδίο εφαρμογής από αυτό που προβλεπόταν όταν δημιουργήθηκε. Ο στόχος της δουλειάς του Wirth ήταν να δημιουργήσει μια γλώσσα που:

Θα βασιζόταν σε έναν μικρό αριθμό βασικών εννοιών.

Θα είχε μια απλή σύνταξη.

Θα επέτρεπε τα προγράμματα να μεταφραστούν σε κώδικα μηχανής από έναν απλό μεταγλωττιστή.

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

Η Pascal είναι μια επαγγελματική γλώσσα προγραμματισμού που πήρε το όνομά της από τον Γάλλο μαθηματικό και φιλόσοφο Blaise Pascal (1623–1662) και αναπτύχθηκε το 1968–1971. Nikolaus Wirth, για να διδάξει στους μαθητές μεθόδους ανάπτυξης προγραμμάτων, όπως «προγραμματισμός από πάνω προς τα κάτω», «δομημένος προγραμματισμός» κ.λπ. . Η πρώτη έκδοση της γλώσσας δημιουργήθηκε για τον υπολογιστή CDC 6000 Χάρη στη σαφήνεια, τη λογική και άλλα χαρακτηριστικά, η Pascal κατέλαβε τη θέση της για μεγάλο χρονικό διάστημα, αποτελώντας μια εξαιρετική γλώσσα για την εκμάθηση προγραμματισμού. Το Pascal χρησιμοποιήθηκε επίσης για την ανάπτυξη σοβαρών προγραμμάτων εφαρμογών. Αστειεύονταν ότι ο Wirth ανέπτυξε το παιχνίδι, αλλά πολλοί το πήραν πολύ σοβαρά

Στη συνέχεια, εμφανίστηκαν διάφορες εκδόσεις της γλώσσας και οι επεκτάσεις της. Η πιο διάσημη επέκταση ήταν το πακέτο Turbo Pascal της Borland, το οποίο εμφανίστηκε το 1983 και έγινε αμέσως ένα γεγονός στον κόσμο της τεχνολογίας των υπολογιστών.

Το Turbo Pascal είναι ένα σύστημα προγραμματισμού που δημιουργήθηκε για να βελτιώσει την ποιότητα και την ταχύτητα ανάπτυξης του προγράμματος (δεκαετία '80). Η λέξη Turbo στο όνομα του συστήματος προγραμματισμού αντικατοπτρίζει το εμπορικό σήμα του προγραμματιστή Borland International (ΗΠΑ).

Το σύστημα προγραμματισμού Turbo Pascal ονομάζεται ολοκληρωμένο (ολοκλήρωση - συνδυασμός μεμονωμένων στοιχείων σε ένα ενιαίο σύνολο) προγραμματιστικό περιβάλλον, επειδή Περιλαμβάνει πρόγραμμα επεξεργασίας, μεταγλωττιστή, πρόγραμμα εντοπισμού σφαλμάτων και έχει δυνατότητες υπηρεσίας.

Η πρώτη αναφορά του περιέχεται σε μια διαφήμιση που δημοσιεύτηκε στο περιοδικό Byte και το ίδιο το πακέτο προορίζεται για το λειτουργικό σύστημα CP/M. Στις αρχές του 1984, μεταφέρθηκε στο περιβάλλον MS-DOS και κέρδισε τεράστια δημοτικότητα. Έκτοτε, έχουν εμφανιστεί αρκετές εκδόσεις του Turbo Pascal, με την τελευταία να είναι η έβδομη.

3.3 Δελφοί

Η εμφάνιση των Δελφών δεν θα μπορούσε να περάσει απαρατήρητη από πολλούς χρήστες υπολογιστών. Οι αξιολογήσεις των ειδικών που μελετούν τις δυνατότητες αυτού του νέου προϊόντος Borland είναι συνήθως ζωγραφισμένες σε ενθουσιώδεις τόνους. Το κύριο πλεονέκτημα του Delphi είναι ότι υλοποιεί τις ιδέες του οπτικού προγραμματισμού. Το οπτικό περιβάλλον προγραμματισμού μετατρέπει τη διαδικασία δημιουργίας ενός προγράμματος σε μια ευχάριστη και κατανοητή σχεδίαση μιας εφαρμογής από ένα μεγάλο σύνολο γραφικών και δομικών αρχέγονων στοιχείων.

Το σύστημα Delphi σάς επιτρέπει να λύσετε πολλά προβλήματα, ιδίως:

Δημιουργήστε πλήρεις εφαρμογές για Windows διαφόρων τύπων: από καθαρά υπολογιστικές και λογικές έως γραφικές και πολυμέσα.

Δημιουργήστε γρήγορα (ακόμη και για αρχάριους προγραμματιστές) μια επαγγελματική διεπαφή παραθύρου για οποιαδήποτε εφαρμογή.

Δημιουργήστε ισχυρά συστήματα για εργασία με τοπικές και απομακρυσμένες βάσεις δεδομένων.

Δημιουργήστε συστήματα βοήθειας (αρχεία .hlp) για τις εφαρμογές σας και πολλές άλλες. και τα λοιπά.

Το Delphi είναι ένα εξαιρετικά ταχέως αναπτυσσόμενο σύστημα. Η πρώτη έκδοση, Delphi 1.0, κυκλοφόρησε τον Φεβρουάριο του 1995. Και στη συνέχεια κυκλοφόρησαν νέες εκδόσεις κάθε χρόνο.

Οι περισσότερες εκδόσεις του Delphi είναι διαθέσιμες σε διάφορες εκδόσεις: Standard - Standard, Professional - Professional, Client/Server - client/server, Enterprise - ανάπτυξη βάσεων δεδομένων θεματικής περιοχής. Οι επιλογές διαφέρουν κυρίως σε διαφορετικά επίπεδα πρόσβασης σε συστήματα διαχείρισης βάσεων δεδομένων. Οι πιο πρόσφατες επιλογές είναι Client/Server και Enterprise και είναι οι πιο ισχυρές από αυτή την άποψη.

Το Delphi είναι ένας συνδυασμός πολλών βασικών τεχνολογιών:

Μεταγλωττιστής σε κώδικα μηχανής υψηλής απόδοσης.

Αντικειμενοστραφή μοντέλο συστατικού.

Οπτική (και, επομένως, υψηλής ταχύτητας) κατασκευή εφαρμογών από πρωτότυπα λογισμικού.

Κλιμακόμενα εργαλεία για τη δημιουργία βάσεων δεδομένων.

3.4 Fortran

Ένας από τους πρώτους και πιο επιτυχημένους μεταγλωττιστές ήταν η γλώσσα Fortran, που αναπτύχθηκε από την IBM. Ο καθηγητής J. Books και μια ομάδα Αμερικανών ειδικών προγραμματισμού δημοσίευσαν την πρώτη έκθεση για τη γλώσσα το 1954. Κυριολεκτικά, το όνομα της γλώσσας είναι FORmulaeTRANslation - μετασχηματισμός τύπου.

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

Το Fortran σχεδιάστηκε για χρήση σε επιστημονικούς και μηχανικούς υπολογιστές. Ωστόσο, αυτή η γλώσσα περιγράφει εύκολα εργασίες με διακλαδισμένη λογική (μοντελοποίηση διαδικασιών παραγωγής, επίλυση καταστάσεων παιχνιδιού κ.λπ.), ορισμένες οικονομικές εργασίες και ειδικά εργασίες επεξεργασίας (σύνταξη πινάκων, περιλήψεων, δηλώσεων κ.λπ.).

Μια τροποποίηση της γλώσσας Fortran, η οποία εμφανίστηκε το 1958, ονομάστηκε Fortran II και περιείχε την έννοια μιας υπορουτίνας και κοινές μεταβλητές για την παροχή επικοινωνίας μεταξύ των τμημάτων.

Μέχρι το 1962, εμφανίστηκε η γλώσσα που είναι γνωστή ως Fortran IV και έχει γίνει η πιο συχνά χρησιμοποιούμενη γλώσσα σήμερα. Το έργο της επιτροπής στην Αμερικανική Ένωση Προτύπων (ASA) χρονολογείται από την ίδια εποχή, η οποία μέχρι το 1966 ανέπτυξε δύο πρότυπα - τις γλώσσες FORTRAN και το BasicFORTRAN. Αυτές οι γλώσσες αντιστοιχούν κατά προσέγγιση στις τροποποιήσεις IV και II, αλλά το βασικό Fortran είναι υποσύνολο του Fortran, ενώ το Fortran II δεν είναι υποσύνολο του Fortran IV. Η γλώσσα Fortran συνεχίζει να αναπτύσσεται και να βελτιώνεται μέχρι σήμερα, επηρεάζοντας τη δημιουργία και την ανάπτυξη άλλων γλωσσών. Για παράδειγμα, η Fortran είναι η βάση για τη Basic, μια γλώσσα συνομιλίας πολύ δημοφιλής για την επίλυση μικρών προβλημάτων και μια εξαιρετική γλώσσα για τη διδασκαλία των δεξιοτήτων χρήσης αλγοριθμικών γλωσσών στην πρακτική προγραμματισμού. Αυτή η γλώσσα αναπτύχθηκε - Beginner'sAll - purposeSymbolicInstructionCode - από μια ομάδα εργαζομένων του Υπολογιστικού Κέντρου στο Darmouth College του Νιού Χάμσαϊρ, που δημιουργήθηκε το 19... . Αλλά αυτή είναι η επόμενη γλώσσα.

3,5 C και C++

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

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

Η γλώσσα C δεν έχει λειτουργίες που ασχολούνται απευθείας με σύνθετα αντικείμενα, όπως συμβολοσειρές χαρακτήρων, σύνολα, λίστες ή πίνακες που θεωρούνται ως σύνολο. Εδώ, για παράδειγμα, δεν υπάρχει ανάλογο με τις πράξεις PL/1 που λειτουργούν σε ολόκληρους πίνακες και συμβολοσειρές. Η γλώσσα δεν παρέχει άλλες δυνατότητες εκχώρησης μνήμης εκτός από τον στατικό ορισμό και τον μηχανισμό στοίβας που παρέχεται από τις τοπικές μεταβλητές συνάρτησης. δεν υπάρχουν "σωρούς" (HEAP) ή "συλλογή σκουπιδιών" όπως προβλέπεται στο ALGOL-68. Τέλος, το ίδιο το "C" δεν παρέχει δυνατότητες εισόδου/εξόδου: δεν υπάρχουν δηλώσεις READ ή WRITE και δεν υπάρχουν ενσωματωμένες μέθοδοι πρόσβασης αρχείων. Όλοι αυτοί οι μηχανισμοί υψηλού επιπέδου πρέπει να παρέχονται από ρητά καλέσιμες λειτουργίες.

Ομοίως, η γλώσσα "C" προσφέρει μόνο απλές, διαδοχικές κατασκευές ροής ελέγχου: δοκιμές, βρόχους, ομαδοποίηση και υπορουτίνες, αλλά όχι πολυπρογραμματισμό, συγχρονισμό, συγχρονισμό ή κορουτίνες. Αν και η απουσία ορισμένων από αυτές τις δυνατότητες μπορεί να φαίνεται σαν μια απογοητευτική ανεπάρκεια ("Έτσι πρέπει να καλέσω μια συνάρτηση για να συγκρίνω δύο σειρές χαρακτήρων;!"), υπάρχουν πραγματικά οφέλη από τη διατήρηση της σεμνότητας της γλώσσας. Δεδομένου ότι το "C" είναι σχετικά μικρό, δεν απαιτεί πολύ χώρο για να το περιγράψει και μπορεί να μάθει γρήγορα. Ένας μεταγλωττιστής με "C" μπορεί να είναι απλός και συμπαγής. Επιπλέον, οι μεταγλωττιστές είναι εύκολο να γραφτούν. Χρησιμοποιώντας τη σύγχρονη τεχνολογία, μπορείτε να περιμένετε να γράψετε έναν μεταγλωττιστή για έναν νέο υπολογιστή σε μερικούς μήνες και θα αποδειχθεί ότι το 80 τοις εκατό του προγράμματος για τον νέο μεταγλωττιστή θα είναι κοινό με το πρόγραμμα για τους υπάρχοντες μεταγλωττιστές. Αυτό εξασφαλίζει υψηλό βαθμό γλωσσικής κινητικότητας. Δεδομένου ότι οι τύποι δεδομένων και οι δομές ελέγχου που βρίσκονται στο C υποστηρίζονται άμεσα από τους περισσότερους υπάρχοντες υπολογιστές, η βιβλιοθήκη που απαιτείται κατά την εκτέλεση μεμονωμένων προγραμμάτων είναι πολύ μικρή. Στο PDP-11, για παράδειγμα, περιέχει μόνο προγράμματα για πολλαπλασιασμό και διαίρεση 32-bit και για την εκτέλεση προγραμμάτων εισόδου και εξόδου ακολουθίας. Φυσικά, κάθε υλοποίηση

Το tion παρέχει μια ολοκληρωμένη, διαλειτουργική βιβλιοθήκη συναρτήσεων για την εκτέλεση I/O, επεξεργασία συμβολοσειρών και εκχώρηση μνήμης, αλλά δεδομένου ότι η πρόσβαση σε αυτές γίνεται μόνο ρητά, μπορούν να αποφευχθούν εάν είναι απαραίτητο. Αυτές οι συναρτήσεις μπορούν να γραφτούν συμπαγή στο ίδιο το "C".

3.6 Ιάβα

Σήμερα, ο Παγκόσμιος Ιστός είναι ένα περιβάλλον ανταλλαγής πληροφοριών για εκατομμύρια ανθρώπους. Δημοσιεύουν κείμενο, βίντεο, ήχο και πληροφορίες, και όλο και περισσότερο, προσθέτουν πολυπλοκότητα στις σελίδες τους, καθιστώντας τις διαδραστικές στον Ιστό. Η JavaScript είναι μια νέα γλώσσα προγραμματισμού που χρησιμοποιείται ως μέρος σελίδων HTML για την αύξηση της λειτουργικότητας και της εμπειρίας χρήστη. Αναπτύχθηκε από το Netscape σε συνεργασία με τη Sun Microsystems με βάση τη γλώσσα Java της Sun Χρησιμοποιώντας JavaScript σε μια ιστοσελίδα, μπορείτε να κάνετε πράγματα που δεν μπορούν να γίνουν με τυπικές ετικέτες HTML ενέργειες χρήστη Η δημιουργία εγγράφων Ιστού που περιλαμβάνουν προγράμματα JavaScript απαιτεί ένα πρόγραμμα επεξεργασίας κειμένου και ένα κατάλληλο πρόγραμμα περιήγησης, επομένως δεν υπάρχει ανάγκη για εξωτερικό πρόγραμμα επεξεργασίας.

Αν και δεν σχετίζεται άμεσα με τη γλώσσα Java, η JavaScript μπορεί να έχει πρόσβαση σε εξωτερικές ιδιότητες και μεθόδους εφαρμογών Java που είναι ενσωματωμένες σε μια σελίδα HTML. Η διαφορά οφείλεται στο γεγονός ότι οι μικροεφαρμογές υπάρχουν εκτός του προγράμματος περιήγησης, ενώ τα προγράμματα JavaScript μπορούν να εκτελεστούν μόνο μέσα στο πρόγραμμα περιήγησης. Με την πρώτη ματιά, φαίνεται ότι η εύρεση πληροφοριών στο JavaScript είναι εύκολη. Αρχικά φαίνεται ότι φαίνεται παντού: στον διακομιστή Natscape, με τη μορφή ηλεκτρονικών εγχειριδίων και παραδειγμάτων, σε πολλά άλλα μέρη. Ωστόσο, είναι δύσκολο να βρείτε πληροφορίες για αντικείμενα, τελεστές, χρώματα και οτιδήποτε άλλο σε μια πηγή, ώστε να είναι πάντα στη διάθεσή σας.

συμπέρασμα

Η εφεύρεση μιας γλώσσας προγραμματισμού υψηλότερου επιπέδου μας επέτρεψε να επικοινωνήσουμε με τη μηχανή, να την κατανοήσουμε. Η επιστήμη του προγραμματισμού αναπτύχθηκε από την εποχή που εμφανίστηκαν οι γλώσσες προγραμματισμού, αλλά η γλώσσα προγραμματισμού υψηλότερου επιπέδου είναι, προφανώς, ακόμη βρέφος. Αλλά αν δώσετε προσοχή στον ρυθμό ανάπτυξης και ανάπτυξης των πιο πρόσφατων τεχνολογιών στον τομέα του προγραμματισμού, μπορούμε να υποθέσουμε ότι στο εγγύς μέλλον, η ανθρώπινη γνώση σε αυτόν τον τομέα θα βοηθήσει στην παραγωγή γλωσσών που μπορούν να λαμβάνουν, να επεξεργάζονται και να μεταδίδουν πληροφορίες με τη μορφή σκέψεων, λέξεων, ήχου ή χειρονομίας. Θα ήθελε κανείς να ονομάσει αυτό το πνευματικό τέκνο του ηλεκτρονικού μέλλοντος: «γλώσσες προγραμματισμού του «υψηλότερου» επιπέδου». Ίσως η ιδέα της επίλυσης αυτού του ζητήματος είναι απλή και το εγγύς μέλλον αυτού του έργου δεν είναι μακριά.

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

Κατάλογος πηγών που χρησιμοποιήθηκαν

1) Rodley John Creation of Java applets - The Coriolis Group, Inc., 1996, Εκδοτικός οίκος NIPF "DiaSoft Ltd.", 1996.

2) Efergan Michael Java: βιβλίο αναφοράς - QUE Corporation, 1997, Peter Kom Publishing House, 1998

3) Davidov Mikhail Izgiyaevich; Antonov Vadim Gennadievich "LEX - γεννήτρια προγραμμάτων λεξιλογικής ανάλυσης" ΜΟΣΧΑ – 1985;

4) “BASIC Face-off”, Justin J. Crom, PC Tech Journal, Σεπτέμβριος 1987, 136 Μετάφραση: Lopukhov V.N. (Integrator Promt98);

5) Kernighan B.V., Ritchie D., Fewer A. «Γλώσσα προγραμματισμού C». Ρωσική μετάφραση: Μόσχα: Οικονομικά και Στατιστική. 1985;

6) Zolotarev V.V., “Fundamentals of Automation” part 1, 1978;

7) Vaulin A.S., “Programming languages” βιβλίο 5, 1993;

8) Terrence P. “Programming languages: design and implement”, 1979;

9) Kasvands E.G. «Εισαγωγή στον προγραμματισμό στη γλώσσα Assembly» μέρος 1.

10) Khrotko G., “High-level programming languages”, 1982;

11) Malyutin E.A., Malutina L.V., “Programming languages”, 1982;

12) Ushkova V. «Νέες γλώσσες προγραμματισμού και τάσεις στην ανάπτυξή τους», 1982;

13) Huvenen E., Seppenen J., «The World of Lisp» τομ. 1, 1990;

14) Young S., “Real-time Algorithmic Languages”, 1985.

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

Έγραψα γρήγορα, μπορεί να υπάρχουν λάθη.
Ή, ποιες γλώσσες να επιλέξετε, ώστε αργότερα να μπορείτε να γράφετε εύκολα σε 10 γλώσσες. (σημαντικό, ελέγξτε, δεν χάνεται χρόνος).

************************************************************************************************************

Διδάσκω μια γλώσσα προγραμματισμού εδώ και αρκετά χρόνια.
Παρακολούθησα διαφορετικούς ανθρώπους.Κατά κανόνα, το επιλεγμένο θέμα οδηγεί ένα άτομο στη γλώσσα.
Σε άλλους αρέσουν τα παιχνίδια, σε άλλους αρέσουν τα προγράμματα. κάποιος θέλει να γράψει bots κ.λπ.

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

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

Σκέφτηκα αυτή την ερώτηση για αρκετά χρόνια και κατέληξα σε αυτό το συμπέρασμα.

1. Σφάλμα.Δεν μπορείτε να επιλέξετε γλώσσα στενού προφίλ.
Πρέπει πρώτα να επιλέξετε μια γλώσσα γενικής χρήσης για να σπουδάσετε. Η Python είναι πιο κατάλληλη για αυτό.
Η Python θα ανοίξει το δρόμο σε οποιοδήποτε λογισμικό, καθώς περιέχει μεγάλο αριθμό βιβλιοθηκών.
Για παράδειγμα, μπορείτε να γράψετε ιστότοπους χρησιμοποιώντας το Django. Ή μπορείτε να γράψετε γραφικά προγράμματα, για παράδειγμα, χρησιμοποιώντας PyQt (μια βιβλιοθήκη γραμμένη σε C++, που εκτελεί Python).
Μπορείτε να κάνετε δοκιμές ή μηχανική εκμάθηση (δηλαδή, να κάνετε έξυπνους ιστότοπους και προγράμματα που μπορούν να λαμβάνουν αποφάσεις μόνοι τους. Όλα αυτά τα πακέτα χρησιμοποιούν τη βιβλιοθήκη NumPy γραμμένη σε C. Και υπάρχει ένας μεγάλος αριθμός από αυτά.
Το Skipy είναι ένα πακέτο που περιέχει μια συλλογή προγραμμάτων για οποιαδήποτε, όσο περίπλοκη και αν είναι, επεξεργασία οτιδήποτε.

Ελπίζω ότι οι δυνατότητες είναι σαφείς.

Η Python είναι μια δυναμικά πληκτρολογημένη γλώσσα. δηλαδή η μισή δουλειά σου γίνεται.
Έχοντας σπουδάσει Python, γενικά θα ασχοληθείτε με τον προγραμματισμό και θα φτιάχνετε ήδη λογισμικό και πιθανώς θα κερδίζετε χρήματα.

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

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

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

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

Γιατί λειτουργεί αυτό το σχήμα;

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

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

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

Έχουν γίνει πολλές επεμβάσεις στο κεφάλι σου.

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

Αυτός ακριβώς είναι ο λόγος που εφευρέθηκαν οι γλώσσες προγραμματισμού.

Λέω συχνά στους μαθητές μου,ότι όλοι είναι ήδη προγραμματιστές, αφού εκτελούν συγκεκριμένες ενέργειες καθημερινά.
Για το πρόγραμμα υπήρχε η ίδια λίστα, ή μάλλον ένας τύπος δεδομένων ή ένας τύπος αντικειμένου, που ονομάζεται λίστα.
Απλώς υποδηλώνεται στη γλώσσα, για παράδειγμα, στην Python με δύο αγκύλες ["τεύτλα", "καρότα"]

Σημειώστε ότι μια γλώσσα προγραμματισμού, κατά κανόνα, έχει ήδη εφευρεθεί για να ταιριάζει στις ανάγκες των ανθρώπων.
Μπορείτε να προσθέσετε οτιδήποτε στη λίστα, όπως αλάτι.
Αυτή η περιοχή ονομάζεται λειτουργίες αντικειμένου.
Αν υπολογίσαμε γρήγορα στο κεφάλι μας, φτάναμε στον πάγκο, απλώναμε το χέρι μας και βάζαμε, για παράδειγμα, καρότα στο καλάθι.
Λοιπόν, ο υπολογιστής πρέπει να εξηγηθεί. Καταλαβαίνουμε δηλαδή. ότι πρέπει να προσθέσετε τα ίδια καρότα στο καλάθι, αλλά ο υπολογιστής θα καταλάβει μόνο την εντολή του, για παράδειγμα, θα ακούγεται add in Python Προσθήκη.

Νομίζω ότι η διαδικασία είναι ξεκάθαρη.

Στη συνέχεια θα επανέλθω στις παραπάνω δηλώσεις.
Έτσι η Python θα σας δώσει την ευκαιρία να ξεκινήσετε να γράφετε οτιδήποτε, προγράμματα. παιχνίδια, προγράμματα για Android, ιστοσελίδες.
Αν κάποιος σας πει (επαναλαμβάνω) ότι η Python είναι αργή, μην το πιστεύετε.
Χρησιμοποιείτε το YouTube; Έτσι, το μεγαλύτερο μέρος του είναι γραμμένο σε Python. (πηγή M. Lutz).
Δεύτερον, όπως είπα νωρίτερα, η Python έχει έναν τεράστιο αριθμό βιβλιοθηκών, για παράδειγμα, πάρτε PyQt, γράφοντας γραφικά προγράμματα. Η ίδια η βιβλιοθήκη είναι γραμμένη σε C++ (η πιο γρήγορη γλώσσα σήμερα). Και το διαχειριζόμαστε χρησιμοποιώντας Python.
Η ουσία του προγραμματισμού είναι απλή. Πήρα ένα widget που είχε ήδη πολλές ενέργειες και το πρόγραμμα ήταν έτοιμο.

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

Αφού γράψετε εφαρμογές στην Python, σε περίπου 1-1,5 χρόνο, θα αρχίσετε να καταλαβαίνετε τον εαυτό σας, δηλαδή να καταλαβαίνετε τι πραγματικά θέλετε.

Θα αρχίσετε να αναπτύσσετε πραγματικές, συγκεκριμένες επιθυμίες.
Δηλαδή, για παράδειγμα, σίγουρα θα καταλάβετε ότι θα γράφετε ιστοσελίδες. Το Django Framework θα σας είναι υπεραρκετό.

Θα σταματήσω εδώ.
Η σύνδεση του Django Python είναι μια πολύ επικίνδυνη προσέγγιση.
αφού το Django είναι τόσο μεγάλος κόσμος που όταν παρασυρθεί από αυτόν, ένα άτομο αρχίζει να αποκτά έναν τέτοιο εθισμό όπως ο εθισμός στο πλαίσιο. Τι είναι;
Ένα άτομο αρχίζει να χάνει την ικανότητα να γράφει σε Python, αφού το Django είναι ένα εντελώς αυτόνομο πλαίσιο που έχει τις δικές του ενότητες, τάξεις, αρχιτεκτονική και δομή.

Και η ίδια η Python αρχίζει να ξεχνιέται.

Σπουδαίος. Μελετήστε για παράδειγμα το Django και το PyQt. Ποιο ειναι το νοημα;
Φροντίστε να μελετήσετε τι θα σας αναπτύξει στην καθαρή Python. Προτείνω το android γιατί δεν είναι μόνο χρήσιμο, αλλά και πολλά υποσχόμενο.

Παρεμπιπτόντως, παρεπιπτόντως, θα απαντήσω στην ερώτηση, είναι απαραίτητο να μάθω Python για το Django;
Ναι ανάγκη. Τι πρέπει να μελετήσετε; Τουλάχιστον, τύποι αντικειμένων και αρχική κατανόηση του OOP.
Απαιτούνται τύποι αντικειμένων για να ελαχιστοποιηθεί η απώλεια χρόνου.
Για παράδειγμα, παρακολούθησα έναν νεοφερμένο να αγωνίζεται για μια εβδομάδα. και μετά δήλωσε ότι δεν έβαλε ούτε ένα απόσπασμα.

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

Δεύτερον, η βοήθεια του Django δεν θα είναι σαφής, επειδή εξηγεί τύπους δεδομένων.

Και επιτέλους θα τελειώσω. Επειδή έχω ήδη αποτύχει στο VK C αρκετές φορές, αλλά συνεχίζω να το αναβάλλω.

Μέχρι να γράψετε Python, θα έχετε μια ιδέα για το τι θέλετε.
Επομένως, θα επιλέξετε την επόμενη γλώσσα προγραμματισμού σας συνειδητά.

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

Έτσι η εκμάθηση μόνο δύο γλωσσών θα σας δώσει πρόσβαση σε δώδεκα γλώσσες.

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

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

Παραπάνω περιέγραψα τη διαδικασία μετάβασης στο κατάστημα. Και για έναν λόγο. Πολλοί άνθρωποι δεν καταλαβαίνουν ότι η γλώσσα επινοήθηκε για να διευκολύνει τη ζωή. (αυτό έγραψε η κοπέλα Άννα, όπως το είπε, της διέφυγε.).

Αλλά η παρανόηση αυτού του απλού σημείου εμποδίζει τους περισσότερους ανθρώπους να μάθουν μια γλώσσα. Έχουν μια διαταραχή στο κεφάλι τους, η γλώσσα είναι μόνη της και η σκέψη του μαθητή είναι μόνη της. Και το άτομο αρχίζει να σκέφτεται, πώς μπορεί να σκέφτεται σαν προγραμματιστής εκείνη την ώρα; πώς σκέφτεται ήδη σαν προγραμματιστής.

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

Ελπίζω ότι το άρθρο αποδείχθηκε απλό και περιεκτικό.

Μια ακόμη λεπτομέρεια.
Είναι σημαντικό να κάνουμε τη γλώσσα μέρος της ζωής.
Πώς καταλαβαίνει κανείς μια γλώσσα από το μηδέν έως τον βιομηχανικό προγραμματισμό; ()

Σου εύχομαι επιτυχία.

Σε ευχαριστώ για την εμπιστοσύνη σου.

ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

1. Προγραμματιστικά συστήματα

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

Επί του παρόντος, η ανάπτυξη οποιουδήποτε λογισμικού συστήματος και εφαρμογής πραγματοποιείται με τη χρήση συστημάτων προγραμματισμού, τα οποία περιλαμβάνουν:

    μεταφραστές από γλώσσες υψηλού επιπέδου·

    εργαλεία για την επεξεργασία, τη σύνθεση και τη φόρτωση προγραμμάτων.

    macroassemblers (μηχανοκεντρικές γλώσσες).

    προγράμματα εντοπισμού σφαλμάτων μηχανής.

Τα συστήματα προγραμματισμού συνήθως περιλαμβάνουν

    ένα πρόγραμμα επεξεργασίας κειμένου (Επεξεργασία), το οποίο εκτελεί τις λειτουργίες εγγραφής και επεξεργασίας του κειμένου πηγής του προγράμματος.

    πρόγραμμα φόρτωσης (Load), το οποίο σας επιτρέπει να επιλέξετε το επιθυμητό αρχείο κειμένου προγράμματος από τον κατάλογο.

    πρόγραμμα εκκίνησης (Run), που εκτελεί τη διαδικασία εκτέλεσης του προγράμματος.

    μεταγλωττιστής (Compile), σχεδιασμένος να μεταγλωττίζει ή να ερμηνεύει το κείμενο πηγής ενός προγράμματος σε κώδικα μηχανής με τη διάγνωση συντακτικών και σημασιολογικών (λογικών) σφαλμάτων.

    εντοπισμός σφαλμάτων (Debug), ο οποίος εκτελεί λειτουργίες υπηρεσίας για τον εντοπισμό σφαλμάτων και τη δοκιμή του προγράμματος.

    διαχειριστής αρχείων (File), ο οποίος παρέχει τη δυνατότητα εκτέλεσης λειτουργιών με αρχεία: αποθήκευση, αναζήτηση, διαγραφή κ.λπ.

Ο πυρήνας ενός συστήματος προγραμματισμού είναι η γλώσσα.

Τα συστήματα προγραμματισμού "Turbo" της Borland, ο πυρήνας των οποίων είναι μεταφραστές από τις γλώσσες προγραμματισμού BASIC, Pascal, C, Prolog κ.λπ., χρησιμοποιούνται ευρέως μεταξύ των προγραμματιστών προγραμμάτων, καθώς και κατά τη διδασκαλία του προγραμματισμού του κελύφους για οποιοδήποτε εξωτερικό Τα συστήματα προγραμματισμού είναι ακριβώς τα ίδια και παρέχουν στον χρήστη ένα τυπικό σύνολο λειτουργιών και εντολών.

Η τεχνολογία για την ανάπτυξη προγραμμάτων που χρησιμοποιούν το δημοφιλές σύστημα προγραμματισμού Turbo Pascal 7 θα συζητηθεί αργότερα. Σε τέτοια ολοκληρωμένα συστήματα προγραμματισμού, γίνεται προσπάθεια να παρέχονται στον προγραμματιστή του προγράμματος οι μέγιστες δυνατότητες εξυπηρέτησης.

2. Ταξινόμηση γλωσσών προγραμματισμού

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

Οι υπάρχουσες γλώσσες προγραμματισμού μπορούν να χωριστούν σε δύο ομάδες: διαδικαστικές και μη διαδικαστικές (βλ. Εικ. 1).

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

Οι διαδικαστικές γλώσσες χωρίζονται σε γλώσσες χαμηλού και υψηλού επιπέδου.

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

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

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

Οι γλώσσες χαμηλού επιπέδου δημιουργούν πολύ αποτελεσματικά και συμπαγή προγράμματα επειδή ο προγραμματιστής έχει πρόσβαση σε όλες τις δυνατότητες του επεξεργαστή.

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

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

Η δουλειά όλων των μεταφραστών βασίζεται σε μία από τις δύο αρχές: την ερμηνεία ή τη συλλογή.

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

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

Στο συλλογήΟι διαδικασίες μετάφρασης και εκτέλεσης διαχωρίζονται χρονικά: πρώτα, το πρόγραμμα πηγής μεταφράζεται πλήρως στη γλώσσα μηχανής (μετά από την οποία η παρουσία μεταφραστή στη μνήμη RAM καθίσταται περιττή) και στη συνέχεια το μεταφρασμένο πρόγραμμα μπορεί να εκτελεστεί πολλές φορές. Κατά συνέπεια, για το ίδιο πρόγραμμα, η μετάφραση με τη χρήση της μεθόδου μεταγλώττισης παρέχει υψηλότερη απόδοση του υπολογιστικού συστήματος ενώ μειώνει την απαιτούμενη μνήμη RAM.

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

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

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

Ρύζι. 1. Γενική ταξινόμηση γλωσσών προγραμματισμού

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

Μια θεμελιωδώς διαφορετική κατεύθυνση στον προγραμματισμό συνδέεται με μεθοδολογίες (μερικές φορές αποκαλούμενες «παραδείγματα») μη διαδικαστικού προγραμματισμού. Αυτά περιλαμβάνουν αντικειμενοστραφή και δηλωτικό προγραμματισμό. Μια αντικειμενοστραφή γλώσσα δημιουργεί ένα περιβάλλον με τη μορφή πολλών ανεξάρτητων αντικειμένων. Κάθε αντικείμενο συμπεριφέρεται σαν ξεχωριστός υπολογιστής, μπορούν να χρησιμοποιηθούν για την επίλυση προβλημάτων ως «μαύρα κουτιά» χωρίς να εμβαθύνουμε στους εσωτερικούς μηχανισμούς της λειτουργίας τους. Από τις γλώσσες προγραμματισμού αντικειμένων που είναι δημοφιλείς μεταξύ των επαγγελματιών, η C++ θα πρέπει να αναφέρεται πρώτα για ένα ευρύτερο φάσμα προγραμματιστών, προτιμώνται περιβάλλοντα όπως οι Delphi και Visual Basic

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

Ας χαρακτηρίσουμε τις πιο διάσημες γλώσσες προγραμματισμού.

    Fortran(FORmula TRANSlating system - formula translation system); η αρχαιότερη γλώσσα που χρησιμοποιείται ακόμα ενεργά στην επίλυση προβλημάτων μαθηματικού προσανατολισμού. Είναι μια κλασική γλώσσα προγραμματισμού υπολογιστών μαθηματικών και μηχανικών προβλημάτων.

    ΒΑΣΙΚΟΣ(Συμβολικός κώδικας εντολών για αρχάριους - ένας καθολικός συμβολικός κώδικας οδηγιών για αρχάριους, παρά τις πολλές ελλείψεις και την πληθώρα κακώς συμβατών εκδόσεων, είναι ο πιο δημοφιλής ως προς τον αριθμό των χρηστών).

    ΑΛΥΌΛ(ALGOrithmic Language - algorithmic language); έπαιξε μεγάλο ρόλο στη θεωρία, αλλά πλέον δεν χρησιμοποιείται σχεδόν ποτέ για πρακτικό προγραμματισμό.

    PL/1(PL/1 Γλώσσα Προγραμματισμού - η πρώτη γλώσσα προγραμματισμού). γλώσσα πολλαπλών χρήσεων? τώρα σχεδόν ποτέ δεν χρησιμοποιείται.

    Πασκάλ(Πασκάλ - πήρε το όνομά του από τον επιστήμονα Blaise Pascal). εξαιρετικά δημοφιλής τόσο κατά την εκμάθηση προγραμματισμού όσο και μεταξύ των επαγγελματιών. Δημιουργήθηκε στις αρχές της δεκαετίας του '70 από τον Ελβετό επιστήμονα Niklaus Wirth. Η γλώσσα Pascal αναπτύχθηκε αρχικά ως εκπαιδευτική γλώσσα και, πράγματι, τώρα είναι μια από τις κύριες γλώσσες για τη διδασκαλία του προγραμματισμού σε σχολεία και πανεπιστήμια. Ωστόσο, οι συνολικές του ιδιότητες αποδείχθηκαν τόσο υψηλές που οι επαγγελματίες προγραμματιστές το χρησιμοποιούν πρόθυμα. Όχι λιγότερο εντυπωσιακή, συμπεριλαμβανομένης της οικονομικής, επιτυχία πέτυχε ο Philip Kahn, ο Γάλλος που ανέπτυξε το σύστημα Turbo Pascal. Η ουσία της ιδέας του ήταν να συνδυάσει διαδοχικά στάδια επεξεργασίας προγράμματος - μεταγλώττιση, επεξεργασία συνδέσμων, εντοπισμό σφαλμάτων και διάγνωση σφαλμάτων - σε μια ενιαία διεπαφή. Οι εκδόσεις του Turbo Pascal έχουν γεμίσει σχεδόν όλα τα εκπαιδευτικά ιδρύματα, τα κέντρα προγραμματισμού και τις ιδιωτικές εταιρείες. Πολλές πιο ισχυρές γλώσσες έχουν δημιουργηθεί με βάση τη γλώσσα Pascal (Modula, Ada, Delphi).

    COBOL(Κοινή Επιχειρηματική Γλώσσα - μια γλώσσα προσανατολισμένη προς τις γενικές επιχειρήσεις). σε μεγάλο βαθμό έχει πέσει εκτός χρήσης. Σχεδιάστηκε ως η κύρια γλώσσα για τη μαζική επεξεργασία δεδομένων στους τομείς της διαχείρισης και των επιχειρήσεων.

    ΕΑΒΕίναι η γλώσσα που κέρδισε (Μάιος 1979) έναν διαγωνισμό για την ανάπτυξη μιας παγκόσμιας γλώσσας που πραγματοποιήθηκε από το Πεντάγωνο από το 1975. Οι προγραμματιστές ήταν μια ομάδα επιστημόνων με επικεφαλής τον Jean Ihbia. Η νικήτρια γλώσσα ονομάστηκε ADA, προς τιμήν της Augusta Ada Lovelace. Η γλώσσα ADA είναι άμεσος απόγονος της γλώσσας Pascal. Αυτή η γλώσσα προορίζεται για τη δημιουργία και τη μακροπρόθεσμη (μακροπρόθεσμη) συντήρηση μεγάλων συστημάτων λογισμικού, επιτρέπει την παράλληλη επεξεργασία, τον έλεγχο διεργασιών σε πραγματικό χρόνο και πολλά άλλα, κάτι που είναι δύσκολο ή αδύνατο να επιτευχθεί χρησιμοποιώντας απλούστερες γλώσσες.

    Σι(C - "si"); χρησιμοποιείται ευρέως στη δημιουργία λογισμικού συστήματος. Άφησε μεγάλο αποτύπωμα στον σύγχρονο προγραμματισμό (η πρώτη έκδοση - 1972) και είναι πολύ δημοφιλής μεταξύ των προγραμματιστών συστημάτων λογισμικού (συμπεριλαμβανομένων των λειτουργικών συστημάτων). Η C συνδυάζει τα χαρακτηριστικά μιας γλώσσας υψηλού επιπέδου και μιας γλώσσας προσανατολισμένης στη μηχανή, επιτρέποντας στον προγραμματιστή πρόσβαση σε όλους τους πόρους μηχανής, τους οποίους γλώσσες όπως η BASIC και η Pascal δεν παρέχουν.

    C++(C++) μια αντικειμενοστραφή επέκταση της γλώσσας C που δημιουργήθηκε από τον Bjarne Stroustrup το 1980. Πολλά νέα ισχυρά χαρακτηριστικά που έχουν αυξήσει δραματικά την παραγωγικότητα του προγραμματιστή έχουν επιτεθεί σε μια συγκεκριμένη φύση χαμηλού επιπέδου που κληρονομήθηκε από τη γλώσσα C.

    Δελφοί(Δελφοί);

    αντικειμενοστραφής "οπτική" γλώσσα προγραμματισμού. εξαιρετικά δημοφιλής αυτή τη στιγμή. Δημιουργημένη με βάση τη γλώσσα Pascal από ειδικούς Borland, η γλώσσα Delphi, έχοντας τη δύναμη και την ευελιξία των γλωσσών C και C++, τις ξεπερνά στην ευκολία και την απλότητα της διεπαφής κατά την ανάπτυξη εφαρμογών που παρέχουν αλληλεπίδραση με βάσεις δεδομένων και υποστήριξη για διάφορες είδη εργασιών στα εταιρικά δίκτυα και στο Διαδίκτυο.Ιάβα

    (Ιάβα);Η (Lisp) είναι μια λειτουργική γλώσσα προγραμματισμού. Επικεντρώνεται σε μια δομή δεδομένων με τη μορφή λίστας και σας επιτρέπει να οργανώσετε αποτελεσματική επεξεργασία μεγάλου όγκου πληροφοριών κειμένου.

    Πρόλογος(ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ στο LOGic - λογικός προγραμματισμός). Ο κύριος σκοπός της γλώσσας είναι η ανάπτυξη ευφυών προγραμμάτων και συστημάτων. Η Prolog είναι μια γλώσσα προγραμματισμού που δημιουργήθηκε ειδικά για εργασία με βάσεις γνώσεων που βασίζονται σε γεγονότα και κανόνες (ένα από τα στοιχεία των συστημάτων τεχνητής νοημοσύνης). Η γλώσσα εφαρμόζει έναν μηχανισμό οπισθοδρόμησης για να εκτελέσει μια οπισθοδρομική αλυσίδα συλλογισμών, στην οποία ορισμένα συμπεράσματα ή συμπεράσματα θεωρούνται αληθή, και στη συνέχεια αυτές οι υποθέσεις ελέγχονται με βάση μια βάση γνώσεων που περιέχει γεγονότα και κανόνες εξαγωγής συμπερασμάτων. Εάν η υπόθεση δεν επιβεβαιωθεί, γίνεται επιστροφή και νέα υπόθεση. Η γλώσσα βασίζεται σε ένα μαθηματικό μοντέλο της θεωρίας του λογισμού κατηγορήματος.

Γλώσσες προγραμματισμού για το Διαδίκτυο:

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

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

    Tcl/ Tk. Αυτή η γλώσσα επικεντρώνεται στην αυτοματοποίηση των διαδικασιών ρουτίνας και αποτελείται από ισχυρές εντολές. Είναι ανεξάρτητο από το σύστημα και εξακολουθεί να σας επιτρέπει να δημιουργείτε προγράμματα με γραφική διεπαφή.

    VRML. Δημιουργήθηκε για την οργάνωση εικονικών τρισδιάστατων διεπαφών στο Διαδίκτυο. Σας επιτρέπει να περιγράφετε διάφορες τρισδιάστατες σκηνές, φωτισμό και σκιές και υφές σε μορφή κειμένου.

Οι πιο δημοφιλείς καθολικές γλώσσες προγραμματισμού σήμερα είναι:

    BASIC - απαιτεί αρχική εκπαίδευση για να κυριαρχήσει.

    Pascal – απαιτεί ειδική εκπαίδευση.

    C++, Java - απαιτούν επαγγελματική κατάρτιση.

Για κάθε μία από αυτές τις γλώσσες προγραμματισμού σήμερα υπάρχουν πολλά συστήματα προγραμματισμού που παράγονται από διάφορες εταιρείες και απευθύνονται σε διάφορα μοντέλα και λειτουργικά συστήματα Η/Υ. Τα πιο δημοφιλή οπτικά περιβάλλοντα για γρήγορη σχεδίαση προγραμμάτων για Windows είναι:

      Βασικό: Microsoft Visual Basic

      Pascal: Borland Delphi

      C++: Borland C++Bulder

      Java: Symantec Cafe

Για να αναπτύξετε εφαρμογές διακομιστή και κατανεμημένων εφαρμογών, μπορείτε να χρησιμοποιήσετε το σύστημα προγραμματισμού Microsoft VisualC++, προϊόντα από την Inprise με την επωνυμία Borland. Σχεδόν οποιοδήποτε εργαλείο προγραμματισμού σε Java.

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

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

Γενικές πληροφορίες

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

  • μηχανή (γλώσσες προγραμματισμού χαμηλού επιπέδου).
  • Μηχανοκεντρική (συναρμολογητές).
  • ανεξάρτητα από τη μηχανή (υψηλού επιπέδου).

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

  1. Ιάβα.
  2. HTML.
  3. Visual Basic.
  4. Δελφοί.

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

Βασικά στοιχεία προγραμματισμού

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

Είναι δύσκολο να ονομάσουμε τις διαφορετικές γλώσσες προγραμματισμού χαμηλού επιπέδου. Η λίστα θα εξακολουθήσει να περιορίζεται σε μία κυρίαρχη γλώσσα - τη γλώσσα assembly. Δεδομένου ότι σας επιτρέπει να συνθέσετε κώδικες προγραμμάτων σε σημειώσεις κοντά στον κώδικα μηχανής, το assembler χρησιμοποιείται αποκλειστικά κατά τη σύνταξη λογισμικού συστήματος, όπως λειτουργικά συστήματα, προγράμματα οδήγησης συσκευών και κατά τον προγραμματισμό κωδικών ελέγχου μικροκυκλωμάτων.

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

Ανάπτυξη εφαρμογής

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

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

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

SQL

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

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

Javascript

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

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

XML

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

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

Προγραμματισμός στα ρωσικά

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

  • 1C: Επιχείρηση. Ένα ολόκληρο σύστημα σχεδιασμένο για τη διαχείριση ενός οργανισμού σε όλους τους τομείς δραστηριότητας. Μπορείτε συχνά να βρείτε το "1C Programmer" σε αγγελίες εργασίας.
  • Ρήμα. Ένα ανάλογο του αγγλόφωνου Pascal.
  • Ρόμπικ. Μια εξειδικευμένη γλώσσα προγραμματισμού σχεδιασμένη να διδάσκει στα παιδιά τα βασικά του προγραμματισμού.
  • Ξίφος. Μια γλώσσα που βασίζεται σε διαδικασίες.

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

Όνομα παραμέτρου Εννοια
Θέμα άρθρου: Γλώσσες προγραμματισμού και συστήματα
Ρουμπρίκα (θεματική κατηγορία) Επιστήμη των υπολογιστών

Πρόγραμμα- ϶ᴛᴏ μια λογικά διατεταγμένη ακολουθία εντολών που είναι απαραίτητες για τον έλεγχο ενός υπολογιστή (εκτέλεση συγκεκριμένων λειτουργιών από αυτή την άποψη, ο προγραμματισμός καταλήγει στη δημιουργία μιας ακολουθίας εντολών που είναι εξαιρετικά σημαντική για την επίλυση μιας συγκεκριμένης εργασίας).

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

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

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

Μεταγλωττιστέςεπεξεργαστείτε πλήρως ολόκληρο τον πηγαίο κώδικα: σαρώστε τον για συντακτικά λάθη (μερικές φορές αρκετές φορές), εκτελέστε μια συγκεκριμένη σημασιολογική ανάλυση και στη συνέχεια μεταφράστε αυτόματα (μεταφράστε) στη γλώσσα μηχανής - δημιουργήστε κώδικα μηχανής.

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

Συναρμολογητέςέχουν σχεδιαστεί για να μεταφράζουν ένα πρόγραμμα γραμμένο σε γλώσσα assembly σε κώδικα μηχανής.

Γλώσσες προγραμματισμού– τεχνητές γλώσσες. Διαφέρουν από τα φυσικά στον περιορισμένο αριθμό «λέξεων» και τους πολύ αυστηρούς κανόνες για τη σύνταξη εντολών (χειριστές).Το σύνολο των εντύπων αυτών των απαιτήσεων σύνταξηγλώσσα προγραμματισμού και έννοιακάθε εντολή και άλλες γλωσσικές κατασκευές - του σημασιολογία.Η παραβίαση της φόρμας εγγραφής του προγράμματος οδηγεί στο γεγονός ότι ο μεταφραστής δεν μπορεί να κατανοήσει το σκοπό του χειριστή και εμφανίζει ένα μήνυμα σχετικά με συντακτικό λάθος. Σωστά γραμμένες, αλλά όχι συνεπείς με τον αλγόριθμο, η χρήση γλωσσικών εντολών οδηγεί σε σημασιολογικά λάθη, που ονομάζονται επίσης λογικά σφάλματα ή σφάλματα χρόνου εκτέλεσης.

Η διαδικασία εύρεσης σφαλμάτων σε ένα πρόγραμμα συνήθως ονομάζεται δοκιμή,διαδικασία εξάλειψης σφαλμάτων αποσφαλμάτωση



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: