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

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

06/15/2011 Andrei Adinets

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

Πριν από τρία χρόνια, ο εξοπλισμός γραφικού επεξεργαστή (γραφική μονάδα επεξεργασίας, GPU) εξετάστηκε μόνο ως κάρτες βίντεο για έναν υπολογιστή, τώρα η στάση απέναντι στους αλκοώς - υπήρχαν ειδικά μοντέλα διακομιστή GPU επικεντρώθηκαν στην επίλυση υπολογισμών υπολογισμού, η απόδοση σε υπολογισμούς διπλής ακρίβειας αυξήθηκε , τα συστήματα καταγράφουν την απόδοση, τα οποία καταλαμβάνουν κορυφαίες γραμμές στο Top500. Πώς να γράψετε αποτελεσματικά προγράμματα για τέτοιες μηχανές; Πρότυπη απάντηση - μια δέσμη cuda ή opencl για τον προγραμματισμό GPU και MPI στο επίπεδο συμπλέγματος. Αυτά τα εργαλεία είναι διαθέσιμα, υποστηρίζονται ενεργά από τους κατασκευαστές εξοπλισμού, πολλά προγράμματα έχουν ήδη γραφτεί γι 'αυτούς, αλλά υπάρχουν επίσης μειονεκτήματα.

CUDA και OPENCL - επεκτάσεις της γλώσσας SI, δεν είναι δύσκολο να μελετηθούν, αν και είναι επαρκώς χαμηλού επιπέδου εργαλεία. Με τη βοήθειά τους, μπορείτε να εφαρμόσετε σχετικά γρήγορα τον αλγόριθμο GPU, αλλά η έκδοση που βελτιστοποιείται για μια συγκεκριμένη εφαρμογή και η διαμόρφωση είναι πολύ πιο περίπλοκη. Όλες οι βελτιστοποιήσεις θα γίνουν χειροκίνητα, οι οποίες θα οδηγήσουν σε αύξηση του μεγέθους του κώδικα και την επιδείνωση της αναγνωρίσιμής της. Και παρόλο που τα προγράμματα που δημιουργούνται χρησιμοποιώντας το OPENCL θα μεταφερθούν μεταξύ ενός ευρέος φάσματος αρχιτεκτονικών, η απόδοση με μια τέτοια μεταφορά δεν θα αποθηκευτεί. Ζήτησε εργαλεία για προγραμματισμό GPU υψηλότερα επίπεδα.

Δημιουργία τέτοιων εργαλείων μπορούν να δημιουργηθούν με διαφορετικούς τρόπους: Εισάγετε μια νέα γλώσσα προγραμματισμού. Προσθέστε οδηγίες σε μια υπάρχουσα γλώσσα, όπως γίνεται στο μοντέλο PGI Accelerator ή Caps HMPP. Επωφεληθείτε από τις εκτατές γλώσσες. Επεκτάσιμες γλώσσες- Οι γλώσσες προγραμματισμού, η σύνταξη και η σημασιολογία των οποίων δεν είναι σταθερά και μπορούν να αλλάξουν ανάλογα με τις ανάγκες του προγραμματιστή. Σε σύγκριση με τις παραδοσιακές, επεκτάσιμες γλώσσες έχουν πολλά οφέλη: είναι ευκολότερο να προστεθούν νέες λειτουργίες. Είναι ανοιχτά. Η μελέτη των νέων μοντέλων προγραμματισμού με βάση τέτοιες γλώσσες είναι ευκολότερη, δεδομένου ότι είναι απαραίτητο να μελετηθεί μόνο σχετικά μικρός όσον αφορά την επέκταση. Με τη βοήθεια τέτοιων γλωσσών, είναι ευκολότερο να εκτελεστεί μια λεπτή διαμόρφωση και βελτιστοποίηση προγραμμάτων.

Επεκτάσιμες γλώσσες

Προκειμένου η χρήση της γλώσσας, είναι απαραίτητο να υπάρχει σε αυτό:

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

Αποδεικνύεται ότι οι γλώσσες που πληρούν αυτές τις απαιτήσεις είναι σχετικά λίγες: LISP, NEMERLE, SEET7, XOC και Stratego. Ταυτόχρονα, το XOC, το οποίο προορίζεται να επεκτείνει τη γλώσσα SI, χρησιμοποιεί μια ξεχωριστή γλώσσα zeta για να γράψει επεκτάσεις και η Stratego είναι η γλώσσα του θέματος του θέματος για τη δημιουργία των μετατροπέων πηγαίου κώδικα. Το Nemerle είναι μια εκτατή γλώσσα χρησιμοποιώντας την Τετάρτη. ΚΑΘΑΡΑ.

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

Στη γλώσσα Nemerle, χρησιμοποιείται ένας σχεδιασμός για αυτό, για παράδειγμα, δημιουργεί ένα δέντρο που αποτελείται από μια μεταβλητή δήλωση I με μια αρχική τιμή 0. Quasiticization είναι παρόμοια με τη δημιουργία αντικειμένων χορδών με σταθερές συμβολοσειρών. Στο ΣΧ. Το 1 δείχνει ένα παράδειγμα κουραστικοποίησης. Ο σχεδιασμός παρεμβολής σάς επιτρέπει να αντικαταστήσετε τις τιμές των μεταβλητών σε ένα σταθερό πρότυπο μέσα στην κουξαξία. Στο Nemerle, χρησιμοποιεί σχέδια $ (...) για αυτό, αν θέλετε να αντικαταστήσετε μια λίστα, για παράδειγμα. Επίσης σε επεκτάσιμες γλώσσες υπάρχουν σχέδια για την ανάλυση του προγράμματος. Στη γλώσσα Nemerle, χρησιμοποιείται ο αγώνας χειριστή (...) (...) (...), ένα ανάλογο του διακόπτη από τη γλώσσα SI, καθώς οι κλάδοι των οποίων χρησιμοποιούνται από τα σχέδια quasiticization. Στην περίπτωση αυτή, η παρεμβολή αντιμετωπίζεται ως νέες μεταβλητές διαφήμισης, οι οποίες, αν η επιτυχή σύγκριση, λαμβάνουν τιμές των αντίστοιχων υπογείων. Για παράδειγμα, για τον αντιστοίχιση αντιστοίχισης του χειριστή (e) (| \u003d\u003e ...), εάν το E περιέχει ένα δέντρο, σε μια μεταβλητή Α θα πέσει και στη μεταβλητή b.

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

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

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

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

Πώς να χρησιμοποιήσετε γλώσσες;

Για μια επεκτάσιμη γλώσσα προγραμματισμού, μπορείτε να γράψετε δομές που επιτρέπουν τον πιο βολικό τρόπο για να προγραμματίσετε τους επεξεργαστές γραφικών, η οποία έγινε ως μέρος του έργου Nuda (αρχιτεκτονική Unemerle Unified Device), ο σκοπός του οποίου είναι η δημιουργία των επεκτάσεων γλώσσας NEMERLE για GPU για GPU προγραμματισμός. Το OPENCL χρησιμοποιείται ως διεπαφή αλληλεπίδρασης με τη ΓΡΑ και τη γλώσσα-στόχο να αντιπροσωπεύει το πρόγραμμα.

Για να ξεκινήσετε, είναι απαραίτητο να εφαρμοστεί η εκτέλεση στον κώδικα υποσύνησης GPU στη γλώσσα Nemerle. Αυτό πρέπει να υποστηρίζεται από τους συνήθεις γλωσσικούς φορείς, όπως κύκλους και κλαδιά, καθώς και εργασία με απλούς τύπους δεδομένων, δομές και συστοιχίες. Ο κώδικας για την GPU υποβάλλεται σε μεμονωμένες λειτουργίες ή στον πυρήνα Nuda. Κάθε πυρήνας σημειώνεται από μια μακροεντολή Nukernel, η οποία παράγεται από τον κώδικα στον κώδικα OPENCL και τη μέθοδο βύσματος για να καλέσετε τον πυρήνα στην πλευρά του ξενιστή. Πριν από τη δημιουργία του κώδικα, πραγματοποιείται η αποκάλυψη όλων των μακροεντολών, με εξαίρεση τους κύκλους και τις μακροεντολές υποκαταστημάτων. Εάν ο πυρήνας του πυρήνα απαιτείται να καλέσετε μια λειτουργία, αυτή η λειτουργία πρέπει να επισημανθεί από τη μακροεντολή Nucode, η οποία θα δημιουργήσει κώδικα για αυτή τη λειτουργία στο OPENCL. Η κλήση πυρήνα διεξάγεται χρησιμοποιώντας μια μακροεντολή νουπλιού. Εκτός από τις παραμέτρους του πυρήνα, μεταδίδεται επίσης στη διαμόρφωση του πλέγματος ροής με το οποίο ξεκινάει.

Τις περισσότερες φορές, το σώμα του κύκλου χρησιμοποιείται ως πυρήνας για την GPU, οπότε θα ήθελα να μεταφέρω αμέσως τον κύκλο στο GPU. Στο Nerlele, αυτό μπορεί να εφαρμοστεί - η αντίστοιχη μακροεντολή στη Nuda ονομάζεται Nuwork. Όπως απαιτούνται παραμέτρους, παίρνει το μέγεθος του μπλοκ ροής και με βάση το τρέχον πλαίσιο και η ανάλυση του κώδικα σώματος του κύκλου καθορίζει το σύνολο μεταβλητών που πρέπει να μεταφερθούν στον πυρήνα ως παράμετροι. Το σώμα του πυρήνα δημιουργείται από το σώμα του κύκλου, υπολογίζοντας τους δείκτες του κύκλου μέσω του παγκόσμιου αριθμού ροής, καθώς και τις συνθήκες που σας επιτρέπει να εκτελέσετε σωστά τον κύκλο, ακόμη και αν το παγκόσμιο μέγεθος πλέγματος δεν χωρίζεται στο μέγεθος του μεγέθους του Ομάδα ροής. Μια μακροεντολή Nucall κλήσεις προς τη θέση του κύκλου, η οποία ονομάζει τον παραγόμενο πυρήνα.

Κατ 'αρχήν, μπορείτε να επιτρέψετε τη χρήση συστοιχιών γλωσσών Nemerle σε προγράμματα GPU, αλλά οδηγεί σε υψηλά έξοδα γενικής χρήσης - ο πίνακας απαιτείται να αντιγράψει στη μνήμη GPU κάθε φορά που ο πυρήνας ονομάζεται και στη συνέχεια να το αντιγράψετε πίσω. Επομένως, οι ειδικοί τύποι συστοιχιών χρησιμοποιούνται σε προγράμματα GPU με τεμπέλης συγχρονισμό μεταξύ GPU και CPU. Αυτό επιτρέπει, αφενός, να μην συμπλέκτη το κείμενο του προγράμματος με την αντιγραφή εντολών δεδομένων και από την άλλη - για να αποφευχθεί η υπέρβαση των δεδομένων αντιγραφής. Για τέτοιες συστοιχίες, όπως για τις συνήθεις συστοιχίες στο Nerlele, η διαχείριση της μνήμης χρησιμοποιείται χρησιμοποιώντας τη συλλογή απορριμμάτων. Για να επισημάνετε τη μνήμη για τέτοιες συστοιχίες, υπάρχει μια nunew macro, η οποία πρέπει να εφαρμοστεί στον συνήθη χειριστή κατανομής μνήμης.

Στο ΣΧ. 4 Στα αριστερά είναι ένα συμβατικό πρόγραμμα συστοιχιών και στα δεξιά - παρόμοιο πρόγραμμα, αλλά εκτελεί υπολογισμούς στο GPU. Λάβετε προγράμματα GPU από τα συνηθισμένα απλά απλά - εφαρμόστε μόνο μακροεντολές σε κύκλους και λειτουργίες κατανομής μνήμης και το ποσό του κώδικα δεν έχει αλλάξει πρακτικά. Το πρόγραμμα που γράφτηκε χρησιμοποιώντας τη Nuda διαρκεί λιγότερες από 20 γραμμές κώδικα. Ένα παρόμοιο πρόγραμμα, αλλά στην καθαρή γλώσσα SI και OPENCL διαρκεί περισσότερες από 100 γραμμές.

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

Αποτέλεσμα

Γιατί ο προγραμματιστής πρέπει να μάθει μια νέα γλώσσα και να αναπτύξει νέες βιβλιοθήκες επεκτάσιμων γλωσσών; Η κύρια απάντηση είναι η παραγωγικότητα. Έχοντας έναν αλγόριθμο από παράλληλους κύκλους που λειτουργούν με συστοιχίες και καταγράφονται στη γλώσσα Nemerle, αρκεί να προσθέσετε αρκετούς σχολιασμούς για να πάρετε ένα πρόγραμμα για το GPU. Ταυτόχρονα, το πρόγραμμα θα εκτελεστεί σε οποιαδήποτε συσκευή με υποστήριξη OPENCL, συμπεριλαμβανομένων των μεταποιητών γραφικών NVIDIA και AMD, καθώς και επεξεργαστές X86. Για να επιτευχθεί ο ίδιος μόνο με τεχνολογίες OPENCL ή CUDA, θα χρειαστεί να δαπανήσετε πολύ περισσότερους πόρους που θα πραγματοποιηθούν όχι μόνο για να γράψετε τον πηγαίο κώδικα, αλλά και για την αλληλεπίδραση εντοπισμού σφαλμάτων μεταξύ του οικοδεσπότη και της GPU.

Ένας άλλος λόγος είναι η απόδοση του δημιουργημένου κώδικα. Στις Cuda ή Opencl, η μετατροπή των κύκλων θα γίνει με το χέρι και ξεχωριστά για κάθε αρχιτεκτονική. Αυτή είναι μια μακρά και τυλιγμένη διαδικασία σφάλματος και ο προκύπτων κώδικας είναι δύσκολος και άβολος για συνοδεία. Με τη Nuda, αυτή η εργασία μπορεί να γίνει με τη βοήθεια σχολιασμών. Για παράδειγμα, για πολλαπλούς πυρήνες, μπορείτε να βελτιστοποιήσετε τη συνεποποίηση εικόνων ή πολλαπλασιασμού των πινάκων με τις εντολές inline και dmine. Χωρίς να αυξάνεται το μέγεθος του πηγαίου κώδικα, είναι δυνατόν να επιτευχθεί αύξηση της παραγωγικότητας σε δύο ή πέντε φορές. Ταυτόχρονα, εάν οι ίδιοι μετασχηματισμοί εκτελέστηκαν με το χέρι, θα οδηγούσε σε αύξηση του κώδικα κατά καιρούς και μερικές φορές μια σειρά μεγέθους, για να μην αναφέρουμε το χρόνο που δαπανάται για την εντοπισμό σφαλμάτων και την επιλογή των βέλτιστων παραμέτρων Sweep. Για παράδειγμα, ένα παγκόσμιο σχολιασμένο πρόγραμμα από επτά σειρές στο Nuda πολλαπλασιασμό ενός μεταφερθείσματος Matrix σε μια μήτρα διπλής ακρίβειας πραγματοποιείται στο NVIDIA TESLA C2050 μόνο το 40% πιο αργά το σωστό κατά τη στιγμή της εφαρμογής (Cublas 3.2). Ένα παρόμοιο πρόγραμμα που γράφτηκε με το χέρι θα καταλάβει 70 γραμμές κώδικα. Φυσικά, για τυποποιημένες εργασίες, μπορείτε να γράψετε χειροκίνητα κώδικα μία φορά για να αυξήσετε την παραγωγικότητα, αλλά για συγκεκριμένες εργασίες, η μείωση του κόστους εργασίας και της παραγωγικότητας θα είναι πολύ χρήσιμη. Τέλος, η αύξηση της παραγωγικότητας περιλαμβάνει επίσης τη δημιουργία των ίδιων των επεκτάσεων: η δημιουργία τους με τη βοήθεια των επεκτάσιμων γλωσσών είναι ευκολότερη από τη χρήση παραδοσιακών εργαλείων. Το σύνολο του συστήματος Nuda, παρά τη λειτουργικότητά του, διαρκεί μόνο 12 χιλιάδες γραμμές κώδικα, μη μετρώντας τις δοκιμές. Αυτό είναι σχετικά λίγους, για παράδειγμα, ο μεταγλωττιστής γλώσσας Nemerle (συγκρότημα 9025) διαρκεί περίπου 130 χιλιάδες γραμμές.

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

Andrey Adinets([Προστατεύεται μέσω ηλεκτρονικού ταχυδρομείου]) - M.N.S. ΝΙΒΖ Κρατικό Πανεπιστήμιο της Μόσχας (Μόσχα).



Τίτλος της έκθεσης

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

Ο συγγραφέας του έργου

Δομή έργου

● Σχέδιο ταξινόμησης γλωσσών προγραμματισμού

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

● Επισκόπηση γλωσσών προγραμματισμού

● Χρήσιμοι πόροι

Γλώσσες προγραμματισμού του συστήματος ταξινόμησης

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

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

Υπάρχουν παρόμοιες γλώσσες προγραμματισμού διαδικασίας:

 Η γλώσσα Fortran δημιουργήθηκε στις αρχές της δεκαετίας του '50 του 20ού αιώνα για προγραμματισμό επιστημονικών και τεχνικών καθηκόντων.

 COBOL - που δημιουργήθηκε στα τέλη της δεκαετίας του '60 του 20ου αιώνα για την επίλυση προβλημάτων επεξεργασίας μεγάλων ποσοτήτων δεδομένων που είναι αποθηκευμένες σε διάφορους φορείς δεδομένων.

 Το Algol (1960) είναι μια προηγμένη γλώσσα προγραμματισμού πολλαπλών χρήσεων. Για πρώτη φορά, εισήχθησαν οι έννοιες της "δομής μπλοκ του προγράμματος" και "Δυναμική κατανομή μνήμης".

 Στα μέσα της δεκαετίας του '60 του 20ού αιώνα δημιουργήθηκε μια εξειδικευμένη γλώσσα προγραμματισμού για αρχάριους - Basic. Χαρακτηρίζεται από την απλότητα της ανάπτυξης και την παρουσία καθολικών μέσων για την επίλυση επιστημονικών, τεχνικών και οικονομικών καθηκόντων, καθώς και καθήκοντα, για παράδειγμα, τυχερά παιχνίδια.

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

 Το 1963-1966 δημιουργήθηκε μια γενική γλώσσα πολλαπλών χρήσεων PL-1. Αυτή η γλώσσα είναι καλά προσαρμοσμένη για διεργασίες έρευνας και σχεδιασμού υπολογιστών, μοντελοποίηση, επίλυση λογικών εργασιών, αναπτύσσοντας συστήματα μαθηματικών στήριξης.

 Γλώσσα Pascal (Pascal) (1968-1971GG) - Η διαδικαστική γλώσσα προγραμματισμού είναι η πιο δημοφιλής για το PC, το οποίο εφαρμόζεται επί του παρόντος επιτυχώς. Η γλώσσα Pascal βασίζεται σε ένα κοινό καθήκον σε ιδιωτικό (απλούστερο και λιγότερο σε όγκο). Οι βασικές αρχές με τις οποίες οι Pascal διαθέτουν μπορούν να είναι: α) διαρθρωτικός προγραμματισμός, ο οποίος βασίζεται στη χρήση υπονόμων και ανεξάρτητων δομών δεδομένων · β) Προγραμματισμός "Top-down" όταν η εργασία χωρίζεται σε απλά, ανεξάρτητα επιλυμένα καθήκοντα. Στη συνέχεια, η λύση του αρχικού προβλήματος ολοκληρώνεται πλήρως.

 Στη διαδικασία προγραμματισμού Οι γλώσσες περιλαμβάνουν τη γλώσσα της κόλασης (1979 δ), η γλώσσα ονομάζεται από τον πρώτο προγραμματιστή των Dooms του Bairon Lavlayers. Διαθέτει τη διαμόρφωση των δομών.

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

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

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

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

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

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

Οι πιο προηγμένες γλώσσες προγραμματισμού είναι C ++ και Java. Από τα μέσα της δεκαετίας του '90, πολλές αντικειμενοστρεφείς γλώσσες υλοποιούνται ως συστήματα οπτικού σχεδιασμού στα οποία δημιουργείται το τμήμα διασύνδεσης του προϊόντος λογισμικού στη λειτουργία διαλόγου, ουσιαστικά μη συνδεδεμένοι χειριστές λογισμικού. Τα αντικειμενικά προσανατολισμένα συστήματα οπτικού σχεδιασμού περιλαμβάνουν οπτική βασική, DELPHI, C ++ Builder, Visual C ++. VBA Language (Visual Basic For Application) - Γλώσσα εφαρμογής της Microsoft Office (Excel, Word, Power Point, κλπ.). Η VBA συμμορφώνεται με την κύρια σύνταξη των βασικών κανόνων της γλώσσας και του προγραμματισμού, σας επιτρέπει να δημιουργήσετε μακροεντολές για την αυτοματοποίηση ορισμένων λειτουργιών και τη γραφική διεπαφή χρήστη, την ενσωμάτωση μεταξύ διαφορετικών προϊόντων λογισμικού.

Δηλωτικές γλώσσες προγραμματισμού

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

Επισκόπηση των γλωσσών προγραμματισμού

Συμβολομεταφράστης

Οι γλώσσες προγραμματισμού υπολογιστών χωρίζονται σε 2 κύριες ομάδες:

1) Γλώσσες χαμηλού επιπέδου.

2) Γλώσσες υψηλού επιπέδου.

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

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

Pascal

Η Γλώσσα Πρακτικού Προγραμματισμού αναπτύχθηκε από τον Καθηγητή του Τμήματος Μηχανικών Υπολογιστών του Ελβετικού Ομοσπονδιακού Ινστιτούτου Τεχνολογίας του Νικολάου το 1968 ως εναλλακτική λύση στις υπάρχουσες και όλες τις πολύπλοκες γλώσσες προγραμματισμού, όπως PL / 1, Algol, Fortran. Η εντατική ανάπτυξη του Pascal οδήγησε στην εμφάνιση το 1973 το πρότυπό της υπό τη μορφή αναθεωρημένου μηνύματος και ο αριθμός των μεταφραστών από αυτή τη γλώσσα το 1979 ξεπέρασε το 80. Στις αρχές της δεκαετίας του '80, η Pascal ακόμη περισσότερο ενίσχυσε τη θέση του με την έλευση του κ. -Pascal και turbo μεταφραστές -Pascal για Pevm. Από αυτή τη φορά, ο Pascal γίνεται μία από τις πιο σημαντικές και ευρέως χρησιμοποιούμενες γλώσσες προγραμματισμού. Είναι σημαντικό η γλώσσα να υπερβαίνει καιρό πέρα \u200b\u200bαπό το πεδίο του ακαδημαϊκού και του στενού επαγγελματικού ενδιαφέροντος και χρησιμοποιείται στα περισσότερα πανεπιστήμια εξαιρετικά ανεπτυγμένων χωρών όχι μόνο ως εργαλείο χρήστη. Το πιο σημαντικό χαρακτηριστικό του Pascal είναι η ενσωματωμένη ιδέα του διαρθρωτικού προγραμματισμού. Ένα άλλο βασικό χαρακτηριστικό είναι η έννοια της δομής δεδομένων ως μία από τις θεμελιώδεις έννοιες.

Οι κύριοι λόγοι για τη δημοτικότητα του Pascal έχουν ως εξής:

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

Τα αναπτυγμένα εργαλεία για την παρουσίαση των δομών δεδομένων παρέχουν ευκολία τόσο των αριθμητικών όσο και των συμβολικών και δυτικών ψηφίων

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

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

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

Ο υπάλληλος του Bell Labs Denis Ritci δημιούργησε τη γλώσσα C το 1972 κατά τη συνεργασία με τον Ken Thompson, ως εργαλείο για την εφαρμογή του λειτουργικού συστήματος UNIX, ωστόσο η δημοτικότητα αυτής της γλώσσας κέρδισε γρήγορα το πλαίσιο ενός συγκεκριμένου λειτουργικού συστήματος και συγκεκριμένων εργασιών προγραμματισμού συστήματος. Επί του παρόντος, οποιοδήποτε όργανο και λειτουργικό σύστημα δεν μπορεί να θεωρηθεί πλήρεις εάν η σύνθεσή της δεν περιλαμβάνει τον μεταγλωττιστή γλωσσών C. Ο Ritchee δεν εφεύρθηκε ένα SI απλά από το κεφάλι - το πρωτότυπο ήταν η γλώσσα της BI που αναπτύχθηκε από τον Thompson. Η γλώσσα προγραμματισμού SI αναπτύχθηκε ως εργαλείο για τους επαγγελματίες. Σύμφωνα με αυτό, ο κύριος σκοπός του συγγραφέα ήταν να δημιουργηθεί μια βολική και χρήσιμη γλώσσα από κάθε άποψη.

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

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

Γ - Ισχυρή και ευέλικτη γλώσσα. Το μεγαλύτερο μέρος του λειτουργικού συστήματος UNIX, οι μεταγλωττιστές και οι διερμηνείς της Fortran Γλώσσες, Pascal, Lisp και Baisik γράφονται με ακρίβεια με τη βοήθειά του.

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

Το C ++ εμφανίστηκε στις αρχές της δεκαετίας του '80. Δημιουργήθηκε από τον Bierian Sturastrup με τον αρχικό σκοπό να σώσει τον εαυτό του και τους φίλους τους από τον προγραμματισμό του συναρμολογητή, SI ή σε διάφορες άλλες γλώσσες υψηλού επιπέδου.

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

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

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

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

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

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

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

Κατά τη διάρκεια της προηγούμενης περιόδου, έχει σχηματιστεί μια νέα φιλοσοφία μεθοδολογίας και προγραμματισμού. Από την αρχή της δεκαετίας του '70, η Ford έχει επικριθεί άριστα. Το 1977 εγκρίθηκε ένα νέο πρότυπο Fortran-77. Χρειάστηκε πολύς χρόνος για να δημιουργηθεί ένα νέο πρότυπο, αλλά τώρα είναι ήδη δυνατό να υποθέσουμε ότι η ανάπτυξή της ολοκληρώθηκε και το νέο πρότυπο Fortran-90 άρχισε να εισέρχεται στην πρακτική των χρηστών της Urthran. Μόνο στις μηχανές IBM PC υπάρχουν διάφοροι μεταφραστές, για παράδειγμα, Watfor, Lap-Fortran, κλπ. Αλλά η μεγαλύτερη κατανομή των μηχανών αυτού του τύπου έλαβε διάφορες εκδόσεις του μεταφραστή Fortran-77. Ο μεταφραστής MS-Fortran 5.0 που κυκλοφόρησε το 1990 σχεδόν πλήρως συμμορφώνεται με το πρότυπο Fortran-90. Τα περισσότερα μεγάλα προγράμματα επιστημονικής και τεχνικής εφαρμογής γράφονται στο Fortran επειδή διαθέτει ανεκτικότητα και σταθερότητα, καθώς και λόγω της παρουσίας ενσωματωμένων μαθηματικών και τριγωνομετρικών λειτουργιών. Ένα πρόσθετο, αναπόσπαστο μέρος οποιουδήποτε προγράμματος εφαρμογής στο Fortran είναι μια εκτεταμένη γραφική βιβλιοθήκη, η οποία επιτρέπει τη χρήση διαφόρων γραφικών δεδομένων και εικόνων.

Η γλώσσα δημιουργήθηκε κυρίως το 1975 - 1980 ως αποτέλεσμα ενός μεγάλου σχεδίου που αναλήφθηκε από το Υπουργείο Άμυνας των ΗΠΑ για την ανάπτυξη μιας ενιαίας γλώσσας προγραμματισμού για τα λεγόμενα ενσωματωμένα συστήματα (δηλαδή τα συστήματα ελέγχου των αυτοματοποιημένων συγκροτημάτων που λειτουργούν σε πραγματικό χρόνο) . Πρώτα απ 'όλα, εννοούσαν συστήματα ελέγχου στο χώρο για τη διαχείριση στρατιωτικών αντικειμένων (πλοία, αεροπλάνα, δεξαμενές, ρουκέτες, κελύφη κ.λπ.). Ως εκ τούτου, οι αποφάσεις που λαμβάνονται από τους συγγραφείς δεν θεωρούν καθολικά. Πρέπει να αντιληφθούν στο πλαίσιο των χαρακτηριστικών του επιλεγμένου θέματος. Η γλώσσα αδερφής προέκυψε ως αποτέλεσμα ενός διεθνούς ανταγωνισμού των γλωσσικών έργων που πραγματοποιήθηκαν το 1978-1979. Οι συμμετέχοντες θα έπρεπε να έχουν ικανοποιηθεί αρκετά σκληρή, σχεδιασμένη υπό την αιγίδα του Υπουργείου Άμυνας των ΗΠΑ με τις απαιτήσεις. Είναι ενδιαφέρον ότι όλες οι γλώσσες που κατέβησαν στους τελευταίους γύρους αυτού του διαγωνισμού βασίστηκαν στο Pascal. Από την άποψη αυτή, η κόλαση μπορεί να χαρακτηριστεί προηγουμένως ως Pascal, που αναπτύχθηκε, λαμβάνοντας υπόψη τις πέντε βασικές απαιτήσεις που αναφέρονται παραπάνω. Ταυτόχρονα, οι συγγραφείς πήγαν κυρίως κατά μήκος της διαδρομής της επέκτασης του Pascal με νέα στοιχεία. Ως αποτέλεσμα, αποδείχθηκε μια σημαντικά πιο περίπλοκη γλώσσα.

Kobol.

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

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

Το PL / 1 αναπτύχθηκε το 1964-1965 από την IBM. Το PL / 1 αναφέρεται στον αριθμό των γενικών γλωσσών, δηλαδή σας επιτρέπει να λύσετε προβλήματα από διαφορετικούς τομείς: αριθμητικούς υπολογισμούς, επεξεργασία κειμένου, οικονομικά καθήκοντα κ.λπ. από τις δυνατότητές του, επικαλύπτονται τέτοιες γλώσσες ως Fortran, Algol-60 ( Δημιουργήθηκε για αριθμούς υπολογισμούς), COBOL (για οικονομικά καθήκοντα), αν και λόγω ορισμένων λόγων, οι γλώσσες της PL / 1 δεν μπορούσαν να κατασταλεί.

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

Ταυτόχρονα, το PL / 1 έχει ορισμένες ελλείψεις που εμποδίζουν τη μελέτη και τη χρήση της γλώσσας. Οι κύριοι είναι τέτοιοι. Πρώτον, υπάρχουν πολλά διπλά μέσα από αυτά δύσκολα να θυμόμαστε, δεν είναι σαφές ότι κατά την εφαρμογή, επιπλέον, μειώνει τόσο την ταχύτητα εκπομπής όσο και την ταχύτητα εκτέλεσης του προγράμματος. Δεύτερον, τα προγράμματα δεν είναι εξ ολοκλήρου ανεξάρτητα από το μηχάνημα.

Μονάδα μέτρησης

Μπορούμε να υποθέσουμε ότι η ιστορία της γλώσσας της μονάδας αρχίζει το 1980, όταν η Wirth Niklaus, ένας από τους εξαιρετικούς ειδικούς θεωρίας των πληροφοριών, γνωστός για τους περισσότερους ειδικούς τεχνικού υπολογιστών, κυρίως ως δημιουργός του Pascal, δημοσίευσε μια περιγραφή της νέας γλώσσας προγραμματισμού που ονομάζεται η νέα γλώσσα προγραμματισμού μονάδα μέτρησης. Σε αντίθεση με το Pascal, το οποίο σχεδιάστηκε από τη γλώσσα για τον προγραμματισμό μάθησης, η ενότητα από την αρχή ήταν μια γλώσσα για επαγγελματίες προγραμματιστές συστήματος, συνεχίζοντας τις καλύτερες παραδόσεις του προκάτοχού του και εμπλουτίζοντάς τους με νέες ιδέες που ανταποκρίνονται σε τέτοιες απαιτήσεις για τις γλώσσες προγραμματισμού ως δομές , τη διαμόρφωση και την ικανότητα επέκτασης. Όπως πολλές άλλες γλώσσες προγραμματισμού, η ενότητα υποβλήθηκε σε εξέλιξη, κατά την οποία το αρχικό του όνομα επαναρυθμίστηκε στο όνομα της μονάδας-2. Ταυτόχρονα με την ανάπτυξη της γλώσσας της μονάδας, δημιουργήθηκαν νέοι μεταγλωττιστές γι 'αυτόν, ωστόσο, κανένας από αυτούς δεν θα μπορούσε να ανταγωνιστεί την καλύτερη υλοποίηση των γλωσσών Pascal και Si, για παράδειγμα, που αναπτύχθηκε από τον Borland. Σε αυτή τη μεταβατική γλώσσα, η καλύτερη περίοδος θεωρήθηκε ότι εφαρμόστηκε από τη Logitech, η οποία στα χαρακτηριστικά τους χάνουν το Turbo Pascal και Turbo Si. Μόνο το 1988, μετά την εμφάνιση του κορυφαίου συστήματος ταχύτητας στην αγορά των ΗΠΑ, η Module-2 έλαβε άξια θέση μεταξύ των διαδικαστικών γλωσσών που προορίζονται για προγραμματισμό συστήματος. Η απογοήτευση της δημοτικότητας του συστήματος κορυφαίας ταχύτητας συνέβαλε αρκετούς παράγοντες: βολικό και, εξάλλου, το επιχειρησιακό περιβάλλον μεταβαίνει εύκολα κατόπιν αιτήματος των χρηστών, τον γρήγορο μεταγλωττιστή και τον επιλεκτικό συντάκτη των συνδέσεων. Αλλά το πιο σημαντικό ήταν το γεγονός ότι τα προγράμματα που δημιουργήθηκαν χαρακτηρίστηκαν από μεγαλύτερη ταχύτητα και κατέλαβαν όχι πολύ χώρο στη μνήμη.

Beysik

Βασικός - Ολοκληρωμένος κωδικός διδασκαλίας του βασικού αρχαρίου - "Παγκόσμιος συμβολικός κώδικας οδηγιών για αρχάριους"). Ο άμεσος απόγονος του Fortran και ακόμα η πιο δημοφιλής γλώσσα προγραμματισμού για προσωπικούς υπολογιστές. Ο Becisik εμφανίστηκε το 1963 (που ονομάζεται συγγραφέας θα ήταν δύσκολη, αλλά η κύρια αξία στην εμφάνισή του ανήκει αναμφισβήτητα στους Αμερικανούς John Kemen και Thomas Kurtu). Όπως και τα οφέλη, η απλότητα του Beysik γύρισε, ειδικά σε προηγούμενες εκδόσεις δομικών δυσκολιών. Επιπλέον, ο Baisik δεν επέτρεψε την επανάληψη - μια ενδιαφέρουσα τεχνική που σας επιτρέπει να κάνετε αποτελεσματικά και ταυτόχρονα σύντομα προγράμματα.

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

Κάποτε η εμφάνιση της γρήγορης βασικής σημείωσε τη γέννηση μιας δεύτερης γενιάς συστημάτων προγραμματισμού στη γλώσσα του Baysik. Παρέχει τη δυνατότητα αρθρωτού και διαδικαστικού προγραμματισμού, δημιουργίας βιβλιοθηκών, συλλογής έτοιμων προγραμμάτων κ.λπ., που την έφερε στο επίπεδο τέτοιων κλασικών γλωσσών προγραμματισμού, όπως η Si, Pascal, Fortran, κλπ. Επιπλέον, λόγω της έλλειψης Από το επίσημο πρότυπο της γλώσσας Baysik, η υλοποίησή του γρήγορα βασική έχει γίνει ένα πραγματικό πρότυπο. Οι άνευ όρων ηγέτες μεταξύ των διαφόρων εκδόσεων του Baysik ήταν γρήγορες βασικές 4,5 και PDS 7,1 της Microsoft, οι οποίες εμφανίστηκαν στα τέλη της δεκαετίας του '80.

Ψελλίζω

Η γλώσσα LISP προτάθηκε από τον J. McCarthy στην εργασία το 1960 και επικεντρώθηκε στην ανάπτυξη προγραμμάτων για την επίλυση προβλημάτων μη αριθμητικού χαρακτήρα. Το αγγλικό όνομα αυτής της γλώσσας - Lisp είναι η συντομογραφία της έκφρασης της λίστας επεξεργασίας (η επεξεργασία των καταλόγων) και υπογραμμίζει καλά τον κύριο τομέα της χρήσης του. Η έννοια της "λίστας" αποδείχθηκε πολύ ευαίσθητη. Με τη μορφή καταλόγων είναι βολικό να αντιπροσωπεύετε αλγεβρικές εκφράσεις, γραφήματα, στοιχεία πεπερασμένων ομάδων, σετ, κανόνες εξόδου και πολλά άλλα σύνθετα αντικείμενα. Οι λίστες είναι η πιο ευέλικτη μορφή παρουσίασης πληροφοριών στη μνήμη των υπολογιστών. Δεν προκαλεί έκπληξη το γεγονός ότι υπάρχει μια βολική γλώσσα ειδικά σχεδιασμένη για να χειριστεί τις λίστες, να κερδίσει γρήγορα τη δημοτικότητα.

Μετά την εμφάνιση του Lisp, οι διάφοροι συγγραφείς πρότειναν ορισμένα άλλα αληθριθμικά αντικείμενα που προσανατολίζονται σε γλώσσα στον τομέα της τεχνητής νοημοσύνης, μεταξύ των οποίων μπορεί να σημειωθεί ο Playner, Snobol, παλινδρόμηση, πρόλογος. Ωστόσο, αυτό δεν εμπόδισε το LISP να παραμείνει η πιο δημοφιλής γλώσσα για την επίλυση τέτοιων εργασιών. Κατά τη διάρκεια της σχεδόν σαράντα ετών ιστορίας της ύπαρξής της, εμφανίστηκε μια σειρά από διαλέκτους αυτής της γλώσσας: Common Lisp, Mac Lisp, Inter Lisp, Standard Lisp, κλπ. Οι διαφορές μεταξύ τους δεν φέρουν θεμελιώδη φύση και μειώνονται κυρίως σε ελαφρώς Διαφορετικό σύνολο ενσωματωμένων λειτουργιών και κάποια διαφορά με τη μορφή προγραμμάτων καταγραφής. Ως εκ τούτου, ένας προγραμματιστής που έμαθε να εργάζεται σε έναν από αυτούς μπορεί εύκολα να κυριαρχήσει και οποιοδήποτε άλλο. Το μεγάλο πλεονέκτημα του Lisp είναι ο λειτουργικός του προσανατολισμός, δηλ. Ο προγραμματισμός διεξάγεται χρησιμοποιώντας λειτουργίες. Επιπλέον, η λειτουργία κατανοείται κατά κανόνα, συγκρίνοντας τα στοιχεία ορισμένης τάξης, τα αντίστοιχα στοιχεία μιας άλλης τάξης. Η διαδικασία σύγκρισης δεν επηρεάζει τη λειτουργία του προγράμματος, μόνο το αποτέλεσμα του είναι σημαντικό - την αξία της λειτουργίας. Αυτό σας επιτρέπει να γράφετε εύκολα και να εντοπίσετε τα μεγάλα σύμπλοκα λογισμικού. Η σαφήνεια των προγραμμάτων, μια σαφή διάκριση μεταξύ των λειτουργιών τους, η απουσία παρενεργειών της Caerz όταν πληρούνται, είναι υποχρεωτικές απαιτήσεις για τον προγραμματισμό τέτοιων λογικά πολύπλοκων καθηκόντων, τα οποία είναι καθήκοντα τεχνητής νοημοσύνης. Η πειθαρχία προγραμματισμού γίνεται ιδιαίτερα σημαντική όταν δεν λειτουργεί ένα άτομο στο πρόγραμμα, αλλά μια ολόκληρη ομάδα προγραμματιστών.

Η γλώσσα προγραμματισμού LISP προορίζεται κυρίως για την επεξεργασία συμβολικών πληροφοριών. Ως εκ τούτου, είναι φυσικό ότι στον κόσμο του Lisp, ο αριθμός διαδραματίζεται πολύ από σημαντικό ρόλο. Οι κύριοι τύποι δεδομένων στο Lispy ονομάζονται "Atom" και "Point Paint".

Πρόλογος

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

Αντικειμενοστρεφής

Το Object Pal είναι μια ισχυρή γλώσσα προγραμματισμού. Το Object Pal είναι ένα αντικείμενο προσανατολισμένο, διαχειρίζεται εκδηλώσεις, μια οπτική γλώσσα προγραμματισμού. Στο αρχικό επίπεδο λειτουργίας του Object PAL, μπορείτε να εκτελέσετε λειτουργίες δεδομένων, να δημιουργήσετε ειδικά μενού, καθώς και να διαχειριστείτε τη συνεδρία εισόδου δεδομένων. Τα συμβάντα στην PAL Object δημιουργούν εντολές που προσομοιώνουν την επίδραση της χρήσης παράπτωσης σε διαδραστική λειτουργία. Είναι δυνατή η αυτοματοποίηση των εργασιών που εκτελούνται συχνά, καθώς και από τους πίνακες, τα έντυπα και τις αναφορές δράσης που δεν ήταν διαθέσιμες σε διαδραστική εργασία. Το Object Pal παρέχει επίσης όλα τα μέσα της πλήρους λειτουργίας γλώσσας προγραμματισμού στο περιβάλλον των Windows. Μπορείτε να χρησιμοποιήσετε το Object PAL για να δημιουργήσετε συμπληρωμένα συστήματα που εφαρμόζουν ένα ειδικό σύστημα μενού, το σύστημα βοήθειας, καθώς και κάθε είδους ελέγχους δεδομένων. Στο Object Pal, μπορείτε να αποθηκεύσετε τις εξελίξεις σας σε μια δυναμικά συστατική βιβλιοθήκη, η πρόσβαση στην οποία θα έχει διάφορες μορφές. Επιπλέον, μπορείτε να δημιουργήσετε επικοινωνία με άλλες δυναμικές βιβλιοθήκες που περιέχουν το πρόγραμμα γραμμένο σε τέτοιες γλώσσες ως Si, C ++ ή Pascal.

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

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

Δημιουργήθηκε από το BBSE, η εφαρμογή της γλώσσας DBEE είναι ένας επιτυχημένος προσανατολισμός υβριδικού αντικειμένου και παραδοσιακές μεθόδους προγραμματισμού. Επιτρέπεται η δημιουργία συστημάτων που χρησιμοποιούν σχεδιασμό αντικειμένων και χρησιμοποιούν συμβατικές δεξιώσεις για την επεξεργασία αρχείων. Το μεγάλο επίτευγμα της εταιρείας B Bohr ήταν ότι ήταν πολύ καλά συνδυασμένο αντικείμενο και διαδικαστικές τεχνικές προγραμματισμού. Η πρώτη έκδοση για τα Windows έδωσε στον χρήστη το πιο ισχυρό εργαλείο αντικειμένου στην αγορά λογισμικού βάσης δεδομένων. Σας επιτρέπει να δημιουργήσετε νέες κατηγορίες αντικειμένων που διαθέτουν τις ιδιότητες της κληρονομιάς, της ενθυλάκωσης και του πολυμορφισμού. Σας επιτρέπει επίσης να προγραμματίσετε αυτά τα αντικείμενα χρησιμοποιώντας παραδοσιακές εντολές DBASE, ιδανικά κατάλληλα για τη διαχείριση απλών βάσεων δεδομένων πίνακα. Όλα αυτά δίνουν ένα αναμφισβήτητο πλεονέκτημα - χωρίς μεγάλη δυσκολία στη μετάβαση στις τεχνικές προγραμματισμού αντικειμένων, η μετάβαση είναι τόσο περίπλοκη, για παράδειγμα, όπως στο παράδοξο DBMS.

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

Τρία βασικά στοιχεία ενωμένα στην τεχνολογία Java

Η Java προβλέπει μια ευρεία χρήση μικρών (μικρών) - μικρές, αξιόπιστες, δυναμικές, μη ενεργές εφαρμογές χωρίς πλατφόρμα ενσωματωμένες σε ιστοσελίδες. Οι java applets μπορούν να διαμορφωθούν και να διανέμονται στους καταναλωτές με την ίδια ευκολία με οποιαδήποτε έγγραφα HTML.

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

Η Java παρέχει έναν προγραμματιστή ένα πλούσιο σύνολο κλάσεων αντικειμένων για σαφή αφαίρεση πολλών λειτουργιών συστήματος που χρησιμοποιούνται όταν εργάζεστε με Windows, Δίκτυο και για I / O. Το βασικό χαρακτηριστικό αυτών των τάξεων είναι ότι παρέχουν τη δημιουργία μιας ανεξάρτητης πλατφόρμας αφαίρεσης για ένα ευρύ φάσμα διεπαφών συστήματος.

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

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

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

Το Perl είναι μια γλώσσα προσαρμοσμένη για την επεξεργασία αυθαίρετων αρχείων κειμένου, εξάγοντας τις απαραίτητες πληροφορίες από αυτές και την έκδοση μηνυμάτων. Το Perl είναι επίσης βολικό για τη σύνταξη διαφόρων προγραμμάτων συστήματος. Αυτή η γλώσσα είναι εύκολη στη χρήση, αποτελεσματική, αλλά είναι δύσκολο να το πούμε ότι είναι κομψό και συμπαγές. Η σύνταξη των εκφράσεων Perl είναι κοντά στη σύνταξη C. Η αναδρομή μπορεί να είναι αυθαίρετη βάθος. Παρόλο που το Perl είναι προσαρμοσμένο για να σαρώσει αρχεία κειμένου, μπορεί επίσης να επεξεργαστεί δυαδικά δεδομένα. Το Perl σας επιτρέπει να χρησιμοποιείτε κανονικές εκφράσεις, να δημιουργήσετε αντικείμενα, τοποθετήστε ένα κομμάτι κώδικα σε ένα Perl στο λογισμικό Si ή C ++ και επίσης επιτρέπει την πρόσβαση σε βάσεις δεδομένων, συμπεριλαμβανομένου του Oracle.

Με την εφεύρεση, το World Wide Web, το Perl αποδείχθηκε ένα εξαιρετικό εργαλείο για αλληλεπίδραση με διακομιστές ιστού μέσω κοινής διεπαφής πύλης (CGI) - μια κοινή διεπαφή αλληλεπίδρασης. Οι εντολές Perl μπορούν εύκολα να λάβουν δεδομένα από μια μορφή HTML ή άλλη πηγή και να εκτελέσουν οποιαδήποτε ενέργεια μαζί τους.

Γλώσσα Php. (1995-1997) έχει πρόσβαση στη βάση δεδομένων και χρησιμοποιείται από τους δημιουργούς δυναμικών τοποθεσιών σε όλο τον κόσμο.

Γλώσσα TCL / TK. (Το τέλος της δεκαετίας του '80) αποτελείται από ισχυρές εντολές που έχουν σχεδιαστεί για να λειτουργούν με αφηρημένα αντικείμενα που δεν πληκτρολογούν και σας επιτρέπει να δημιουργείτε προγράμματα με μια γραφική διεπαφή.

Γλώσσα Εκφράζω (1994) Δημιουργήθηκε για να οργανώσει εικονικές τρισδιάστατες διεπαφές στο Διαδίκτυο.

Γλώσσα Xml. Από το 1996 εργάζεται για τη δημιουργία μιας καθολικής γλώσσας της δομής του εγγράφου. Μπορεί να γίνει υποκατάστατο του HTML.

Παραγωγή

Χρήσιμοι πόροι

Ανασκόπηση AIZILI

Πού είναι η αναφορά;

Ανασκόπηση RANITKA.

Re: Πού είναι η αναφορά;
Όλα θα είναι: -d

Feedback Shamagulova Elite

Ανασκόπηση του Μισίνα Αλέξανδρος

Μεγάλη έκθεση. Έμαθα πολλά για τις γλώσσες προγραμματισμού.

Ανασκόπηση MOROZOVA ALEXANDERS

Φυσικά θα ήθελα να δω μια αναφορά ή τουλάχιστον μια παρουσίαση σε οποιαδήποτε μορφή.

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

Ποια επέκταση έχει c plus plus;

Αυτή η γλώσσα προγραμματισμού έχει τη δική του ονομασία αρχείων. Ο χαρακτηρισμός CPP είναι μια ειδική επέκταση που χρησιμοποιείται για αρχεία με κώδικα C ++. Περιλαμβάνονται ακόμη έτοιμοι να χρησιμοποιήσουν (μη συντηρούμενο) κώδικα που μπορούν να επεξεργαστούν και να κάνουν επεξεργασίες χωρίς σημαντικό κόστος και αποτυχίες στο πρόγραμμα. Με αυτή την επέκταση, μπορείτε να μάθετε ποιο αρχείο περιέχει κείμενο στο "Si" (γλώσσα προγραμματισμού που είναι πλέον πολύ δημοφιλής).

Επέκταση και η σημασία του στον προγραμματισμό

Γιατί είναι απαραίτητο να επεκταθεί το όνομα του αρχείου που χρησιμοποιείται από τον υπολογιστή; Το γεγονός είναι ότι ο υπολογιστής μπορεί να χειριστεί πολλούς διαφορετικούς τύπους αρχείων, τόσο στο πλαίσιο του εγκατεστημένου λειτουργικού συστήματος όσο και το πρόσθετο λογισμικό. Ένα παράδειγμα αυτού του λογισμικού μπορεί να είναι plugins εγκατεστημένο σε προγράμματα περιήγησης ή διερμηνείς διαφόρων γλωσσών προγραμματισμού που μπορούν να χειριστούν τα προγράμματα λειτουργίας. Εδώ, για να αναγνωρίσετε τον τρόπο με τον οποίο πρέπει να χρησιμοποιηθεί ο διερμηνέας ο υπολογιστής, ποιος κώδικας μηχανής εφαρμόζεται για αναπαραγωγή του αρχείου και είναι απαραίτητες επεκτάσεις. Αναγνωρίζει τον τύπο του αρχείου, αυτές οι πληροφορίες θα παρέχονται από τις διαθέσιμες λεπτομέρειες. Έτσι, η επέκταση CPP είναι ένα αρχείο που περιέχει το έγγραφο C ++. Μετά την αναγνώριση, ο διερμηνέας θα μπορέσει να το ανοίξει και ο χρήστης θα μπορεί να συνεργαστεί με το έγγραφο.

Ποια είναι η επέκταση ονόματος αρχείου;

Αλλά ας μιλήσουμε για επεκτάσεις ονομάτων αρχείων από την άποψη των επιστήμης των υπολογιστών. Με αυτό, έχει ήδη καθοριστεί - είναι απαραίτητο να εντοπίσετε τη μορφή ή τον τύπο αρχείου. Αποσυνδέει την επέκταση για λογαριασμό του αρχείου χρησιμοποιώντας ένα σημείο. Μέχρι το 95ο, τα Windows έχουν ένα όριο στον αριθμό των χαρακτήρων στην επέκταση: δεν θα μπορούσαν να είναι περισσότεροι από τρεις. Στα σύγχρονα συστήματα δεν υπάρχει τέτοιος περιορισμός. Ακόμη περισσότερο, στα σύγχρονα συστήματα αρχείων μπορεί να υπάρχουν αρχεία που έχουν διάφορους τύπους επέκτασης. Όλοι τους ακολουθούν το σημείο. Για το CPP, αυτό ισχύει, δεν ισχύει.

Ένα τέτοιο δώρο των προγραμματιστών συχνά απολαμβάνει απατεώνες. Τα κακόβουλα σας αρχεία που προτείνουν στους υπολογιστές των χρηστών, οι επιτιθέμενοι συχνά καλύπτονται για άλλα προγράμματα, κρύβουν την κύρια επέκταση του αρχείου (σε ιούς και διάφορα trojans διαφέρει από τα συνηθισμένα προγράμματα). Μπορεί ακόμη και να είναι ότι όλα τα πραγματικά αρχεία κρύβονται ή αφαιρούνται και αντ 'αυτού ταιριάζουν εντελώς διαφορετικά. Και αποδεικνύεται ότι ο CPP δεν είναι καθόλου CPP, αλλά ένας ιός υπολογιστών. Η καλή προστασία από αυτόν τον τύπο απατεώνων είναι μια εντολή να εμφανίζει όλους τους τύπους επεκτάσεων. Μπορείτε να ενεργοποιήσετε αυτή τη λειτουργία στον "πίνακα ελέγχου", αρκεί να βρείτε μόνο το απαραίτητο στοιχείο. Και τότε μπορείτε να είστε ήρεμοι για τα αρχεία C Plus Plus σας και να είστε σίγουροι ότι δεν θα εκτελέσετε ένα επιβλαβές πρόγραμμα αντ 'αυτού. Παρόλο που είναι πάντα απαραίτητο να παρακολουθήσετε την επέκταση των εκτελέσιμων αρχείων.

Ακρίβεια των πληροφοριών που καθορίζονται στην επέκταση

Μερικές φορές η επέκταση δηλώνει ανακριβώς τον τύπο αρχείου και δεν επιλύει όλα τα πιθανά προβλήματα που μπορεί να προκύψουν στη διαδικασία χρήσης διαφόρων προγραμμάτων. Έτσι, η επέκταση. TXT, γνωστό σε πολλούς, δεν παρέχει πληροφορίες στον υπολογιστή για το οποίο κωδικοποιεί το αρχείο. Επομένως, όταν ανοίγετε αρχεία κειμένου, μπορείτε να δείτε τα φύλλα των ακατανόητων χαρακτήρων. Ιδιαίτερα λυπηρό για να δείτε ένα τέτοιο κράτος εγγράφου εάν χρησιμοποιήθηκε για να γράψει έναν κωδικό προγράμματος. Σε τέτοιες περιπτώσεις, η κωδικοποίηση αρχείων πρέπει να αλλάξει μέχρι ο υπολογιστής να παράσχει επαρκές κείμενο. Είναι δυνατή με βάση εσφαλμένους χαρακτήρες να προσπαθήσουν να υπολογίσουν την απαραίτητη κωδικοποίηση, αλλά πρέπει να γνωρίζετε ποια κωδικοποίηση σε σχέση με την οποία οδηγεί σε. Για τα Vordic Files, χρησιμοποιείται επίσης η ίδια επέκταση, η οποία δεν καθιστά σαφή με το αρχείο που ένα άτομο ασχολείται με: με τον συνήθη τύπο ή μορφοποιημένο. Επίσης, η επέκταση δεν δείχνει ποια έκδοση χρησιμοποιείται, η οποία εκδηλώνεται καλά όταν προσπαθεί να ανοίξει τις εκδόσεις των πρώτων εγγράφων σε μεταγενέστερα περιβάλλοντα επεξεργασίας, όπως στην περίπτωση του Microsoft Office.

Άλλες μέθοδοι και ευκαιρίες να προσδιοριστούν τη μορφή

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

  • Εξοικονόμηση πληροφοριών σχετικά με τη μορφή αρχείου στο ίδιο το λειτουργικό σύστημα. Μειονεκτήματα προκύπτουν εάν επιθυμείτε να μεταβείτε σε άλλο υπολογιστή και να εργαστείτε με το ίδιο αρχείο.
  • Τη χρήση της λεγόμενης μεθόδου "μαγικών αριθμών". Αυτό είναι όταν μια συγκεκριμένη ακολουθία bytes κρυπτογραφείται στο ίδιο το αρχείο, το οποίο υποδεικνύει όλες τις απαραίτητες πληροφορίες για τη λειτουργία του αρχείου. Έχει ορισμένο δυναμικό, αλλά χρειάζονται οι κατασκευαστές λογισμικού.
  • Για ορισμένα συστήματα UNIX, έχει αναπτυχθεί μια λειτουργία που αφήνει ειδικές ονομασίες στην αρχή ενός αρχείου που προορίζεται για τον διερμηνέα.

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

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

Πριν αρχίσετε να μαθαίνετε γλώσσες προγραμματισμού, συνιστούμε να εξερευνήσετε την πορεία του λογισμικού.

1. JavaScript.

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

Όταν δημιουργήθηκε η γλώσσα JavaScript, είχε αρχικά ένα άλλο όνομα: "livescript". Αλλά τότε η γλώσσα Java ήταν πολύ δημοφιλής και οι έμποροι αποφάσισαν ότι ένα παρόμοιο όνομα θα έκανε μια νέα γλώσσα πιο δημοφιλής.

Σχεδιάστηκε ότι η JavaScript θα ήταν ένα είδος "νεότερος αδελφός" Java. Ωστόσο, η ιστορία διέταξε με τον δικό του τρόπο, η Javascript αυξήθηκε έντονα και τώρα είναι μια εντελώς ανεξάρτητη γλώσσα, με τις προδιαγραφές και η Java δεν έχει τίποτα να κάνει.

2. Java.


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

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

Αρχικά, η γλώσσα ονομάστηκε Oak ("Oak") αναπτύχθηκε από τον James Gosling για προγραμματισμό οικιακών ηλεκτρονικών συσκευών. Στη συνέχεια, μετονομάστηκε σε Java και άρχισε να χρησιμοποιείται για να γράψει εφαρμογές-πελάτες και λογισμικό διακομιστή.

3. PHP.


Πρόκειται για μια κοινή ερμηνευμένη γλώσσα γενικού σκοπού με ανοιχτή πηγή (γλώσσα δέσμης ενεργειών). Το PHP δημιουργήθηκε ειδικά για την ανάπτυξη ιστοσελίδων και τον κώδικα σε αυτό μπορεί να εφαρμοστεί απευθείας σε κώδικα HTML. Η σύνταξη της γλώσσας προέρχεται από C, Java και Perl, και είναι εύκολο να εξερευνήσετε.

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

4. Python

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

5. C #


Αντικειμενοστρεφής γλώσσα προγραμματισμού. Αναπτύχθηκε το 1998-2001 από μια ομάδα μηχανικών υπό την ηγεσία του Anders Halesberg στη Microsoft ως γλώσσα για την ανάπτυξη εφαρμογών για την πλατφόρμα Microsoft .NET Framework. C # αναφέρεται στην οικογένεια των γλωσσών με μια παρόμοια σύνταξη C, εκ των οποίων η σύνταξή του είναι πιο κοντά στο C ++ και Java.

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

6. C ++.


Συγκέντρωση, επιστημονική γλώσσα προγραμματισμού γενικής χρήσης. Είναι μια από τις πιο κοινές γλώσσες στον κόσμο. Το Google Chrome, το Mozilla Firefox, το Winamp και το Adobe προϊόντα σχεδιάστηκαν χρησιμοποιώντας C ++. Επιπλέον, ορισμένα σύγχρονα παιχνίδια και λειτουργικά συστήματα αναπτύχθηκαν στο C ++ λόγω της ταχείας επεξεργασίας και της συλλογής.

7. Ruby


Η απλή και αναγνώσιμη γλώσσα προγραμματισμού επικεντρώθηκε στην ανάπτυξη εφαρμογών Web. Σχεδιασμένο από Yukihiro Matsumto το 1995. Η γλώσσα έχει μια ανεξάρτητη από το λειτουργικό σύστημα για την εφαρμογή του πολλαπλασιασμού, αυστηρή δυναμική πληκτρολόγηση, συλλέκτη σκουπιδιών.

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

8. CSS.


Φύλλα στυλ Cascading (πίνακες στυλ cascading) Τυπική περιγραφή Γλώσσα της εμφάνισης ενός εγγράφου που γράφτηκε χρησιμοποιώντας μια γλώσσα σήμανσης.
Χρησιμοποιείται κυρίως ως εργαλείο περιγραφής, ο σχεδιασμός της εμφάνισης ιστοσελίδων που γράφονται χρησιμοποιώντας τις γλώσσες Markup HTML και XHTML, αλλά μπορούν επίσης να εφαρμοστούν σε οποιαδήποτε έγγραφα XML.

9. C.


Που καταρτίστηκε στατικά δακτυλογραφημένη γλώσσα προγραμματισμού γενικής χρήσης. Η γλώσσα του C σχεδιάστηκε από το Dennis Ritchch το 1972 στο Bell Labs. Είναι ο προκάτοχος τέτοιων γλωσσών προγραμματισμού ως C ++, Java, C #, Javascript και Perl. Για το λόγο αυτό, η μελέτη αυτής της γλώσσας οδηγεί σε κατανόηση και άλλες γλώσσες. Η γλώσσα C χρησιμοποιείται για την ανάπτυξη εφαρμογών χαμηλού επιπέδου, καθώς θεωρείται πλησιέστερο στο υλικό.

10. Στόχος-γ


Συγκέντρωση αντικειμενοστρεφής γλώσσα προγραμματισμού που χρησιμοποιείται από την Apple Corporation, χτισμένη βάσει της μικρής γλώσσας και του παραδείγματος. Η γλώσσα του στόχου C είναι μια ξαφνικότητα της γλώσσας SI, οπότε ο κώδικας C είναι πλήρως κατανοητός από τον μεταγλωττιστή αντικειμενικού C. Η γλώσσα χρησιμοποιείται κυρίως για το Mac OS X (κακάο) και το GNUNTEP - υλοποιήσεις ενός αντικειμενικού προσανατολισμένου αντικειμένου OpenStep. Επίσης, η γλώσσα χρησιμοποιείται για το iOS (Cocoa Touch).

11. Shell.

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

12. R.


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

13. Perl.


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

14. Scala.


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

15. Πηγαίνετε.


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

16. SQL.

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

17. Haskell.


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

18. Swift.


Ανοίξτε τη γλωσσική γλώσσα προγραμματισμού πολλαπλών προϊόντων. Δημιουργήθηκε από την Apple κυρίως για το iOS και το OS X. Οι Swift Developers συνεργάζονται με κακάο και κακάο αφής και συμβατοί με τον βασικό κώδικα της Apple, γραμμένο σε αντικειμενικές-γ. Η Swift σκέφτηκε πόσο εύκολα η ανάγνωση και ανθεκτικότητα στα σφάλματα του προγραμματιστή, παρά εκείνα που προηγουμένως προηγουμένως προηγουμένως προηγουμένως οι στόχοι-γ. Το Swift δανείστηκε αρκετά από το στόμα-C, αλλά δεν καθορίζεται από τα σημάδια, αλλά τύποι μεταβλητών που οι διαδικασίες μεταγλωττιστών. Για μια παρόμοια αρχή, πολλές γλώσσες γλωσσών.

19. Matlab.


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

20. Visual Basic.


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

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

21. Δελφοί.


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

Σήμερα, μαζί με την υποστήριξη λογισμικού Windows 32 και 64 bit, εφάρμοσε τη δυνατότητα δημιουργίας εφαρμογών για Apple Mac OS X, καθώς και για το Google Android (που εκτελέστηκε απευθείας στον επεξεργαστή βραχίονα).

22. Groovy.


Αντικειμενοστρεφής Γλώσσα προγραμματισμού, σχεδιασμένη για την πλατφόρμα Java, ως προσθήκη στη γλώσσα Java με δυνατότητες Python, Ruby και SmallTalk. Το Groovy χρησιμοποιεί μια σύνταξη που μοιάζει με Java με δυναμική σύνταξη στον κώδικα Byte JVM και λειτουργεί απευθείας με έναν άλλο κώδικα Java και βιβλιοθήκες. Η γλώσσα μπορεί να χρησιμοποιηθεί σε οποιοδήποτε έργο Java ή ως γλώσσα δέσμης ενεργειών.

23. Visual Basic .NET


Αντικειμενοστρεφής Γλώσσα προγραμματισμού, η οποία μπορεί να θεωρηθεί ως η επόμενη στροφή της εξέλιξης της Visual Basic, που υλοποιείται στην πλατφόρμα της Microsoft .NET. Το VB.NET δεν έχει καμία συμβατότητα προς τα πίσω με μια προηγούμενη έκδοση (Visual Basic 6.0). Η ανάπτυξη έργων παλαιών εκδόσεων (* .vbp) είναι δυνατή μόνο μετά από προκαταρκτική μετατροπή στη μορφή VB.NET με ειδικό πλοίαρχο (οδηγός μετανάστευσης). Ωστόσο, μετά τη μετατροπή, απαιτείται ουσιώδη χειρισμός κειμένων.

24. Δ.

Multipadigmal Γλώσσα προγραμματισμού που δημιουργήθηκε από τον Walter Bright από ψηφιακούς Mars. Αρχικά, το D σχεδιάστηκε ως Reengineering C ++, παρά τη σημαντική επίδραση του C ++, δεν είναι η επιλογή του. Επίσης, η γλώσσα έμπειρη έννοιες από τις γλώσσες προγραμματισμού Python, Ruby, C #, Java, Eiffel.

25. Συναρμολόγηση.


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

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

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

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

Ουσία προγραμμάτων υψηλού επιπέδου για τη σύνταξη προγραμμάτων

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

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

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

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

Μεταφράστης

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

Ταξινόμηση γλωσσών υψηλού επιπέδου

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

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

Προσανατολισμένο προς το πρόβλημα (που χρησιμοποιείται ως μέσο επίλυσης της βιομηχανίας και των εφαρμοσμένων εργασιών που σχηματίζονται με την επέκταση των εφαρμογών των υπολογιστών) ·

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

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

Διαδικαστικές προσανατολισμένες γλώσσες

Αυτά μπορούν να αποδοθούν στο Fortran. Θεωρείται η πρώτη γλώσσα προγραμματισμού υψηλού επιπέδου που δημιουργήθηκε για ευρεία χρήση. Χαρακτηρίζεται από μια απλή δομή. Οι διαδικαστικές γλώσσες που ανήκουν επίσης στο Beysik. Θεωρείται ένας από τους πιο συχνά χρησιμοποιούμενους προγραμματισμούς. Ένα παράδειγμα άλλης διαδικαστικής προσανατολισμένης γλώσσας - Si. Αρχικά, δημιουργήθηκε για το OS UNIX. Στη βάση της, στη συνέχεια δημιουργήθηκε η γλώσσα C ++, συμπληρώθηκε από αντικειμενικά προσανατολισμένα εργαλεία προγραμματισμού. Μια άλλη γλώσσα που ανήκει στην υπό εξέταση κατηγορία είναι ο Pascal. Συχνά εμπλέκονται επίσης στον προγραμματισμό κατάρτισης. Οι δυνατότητες αυτής της γλώσσας επιτρέπουν τη χρήση του ως ένα πολύ ισχυρό εργαλείο για την ανάπτυξη επαγγελματικών ειδών λογισμικού.

Προβληματικές γλώσσες

Αυτά περιλαμβάνουν το LISP, τον πρόλογο. Η πρώτη γλώσσα αναπτύχθηκε το 1962 - λίγα χρόνια μετά τη δημιουργία του Fortran. Θεωρείται, κατά κάποιο τρόπο, το δεύτερο στην ιστορία. Συμμετέχει ενεργά ως εργαλείο για το έργο των προγραμματιστών με χορδές χαρακτήρων. Στην πράξη, το LISP χρησιμοποιήθηκε σε συστήματα που ταξινομούνται ως ειδικοί, καθώς και εκείνοι που προορίζονταν για αναλυτικούς υπολογισμούς. Ο πρόλογος χρησιμοποιήθηκε ευρέως στον τομέα του λογικού προγραμματισμού. Στην πράξη, οι πιο συχνά συμμετέχουν στη διαχείριση αλγορίθμων τεχνητής νοημοσύνης στα αντίστοιχα συστήματα.

Αντικειμενοστρεφείς γλώσσες

Τώρα μελετάμε τα παραδείγματα γλωσσών προγραμματισμού υψηλού επιπέδου που αναφέρονται στην κατηγορία αντικειμένων προσανατολισμένη. Μεταξύ αυτών - η οπτική βασική, των Δελφών, του οπτικού Fortran, που σημειώνεται παραπάνω C ++, καθώς και prolog ++. Στην πραγματικότητα, όλα αυτά βασίζονται σε διαδικαστικά προσανατολισμένες γλώσσες. Ωστόσο, θεωρείται ότι αποτελεί σημαντική προσθήκη στα οπτικά στοιχεία της διαχείρισης, προκειμένου να μεταγενέστερη ανάπτυξη των απαραίτητων αλγορίθμων από τους προγραμματιστές που είναι συνηθισμένοι σε άλλα εργαλεία. Έτσι, η πρώτη γλώσσα προγραμματισμού υψηλού επιπέδου - Fortran - μπορεί να μελετηθεί από τους εμπειρογνώμονες πληροφορικής μέσω των δυνατοτήτων οπτικής Fortran. Μια παρόμοια μέθοδος μπορεί να καταρρεύσει γρήγορα μια βάση ή έναν πρόλογο.

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

Fortran και Lisp - Η πρώτη και η δεύτερη υψηλού επιπέδου γλώσσες

Θα μελετήσουμε περισσότερα, καθώς η πρώτη γλώσσα προγραμματισμού υψηλού επιπέδου εμφανίστηκε - Fortran, καθώς και το LISP, θεωρείται το δεύτερο. Το 1954, οι προγραμματιστές από την IBM, με επικεφαλής τον John Bacus, δημιούργησαν μια γλώσσα με την οποία οι προγραμματιστές ήταν σε θέση να ανακουφίσουν σημαντικά την αλληλεπίδραση με τον υπολογιστή, το οποίο μέχρι στιγμής πραγματοποιήθηκε μέσω των μηχανικών εντολών ή του συναρμολογητή. Ονομάστηκε Fortran και σύντομα έγινε γνωστός στην ΕΣΣΔ υπό το Russifified Item. Το Fortran έχει γίνει ένα δημοφιλές εργαλείο για την επιστημονική πληροφορική.

Το κύριο επαναστατικό στοιχείο που προτείνεται από τους ειδικούς της IBM, έγινε στην πραγματικότητα ο ίδιος μεταγλωττιστής, σχεδιασμένος να αποτελεί εναλλακτική λύση στον συναρμολογητή. Κατά τα πρώτα χρόνια της πρακτικής της γραφής προγραμμάτων κατά τη χρήση του Fortran, πολλοί προγραμματιστές θεωρούσαν ότι ο μεταγλωττιστής δεν είναι μια αρκετά επιτυχημένη λύση, πρώτα απ 'όλα όσον αφορά το κόστος εργασίας. Πολλοί κωδικοί μηχανών ήταν πράγματι προετοιμασμένοι πιο εύκολοι από ό, τι όταν εμπλέκεται ο μεταφραστής. Ωστόσο, ως ταχεία αύξηση της απόδοσης του υπολογιστή, οι προγραμματιστές άρχισαν να συνειδητοποιούν ότι χωρίς να χρησιμοποιούν τον μεταγλωττιστή, ένα αποτελεσματικό λογισμικό που θα χρησιμοποιήσει πλήρως την υπολογιστική ισχύ του υπολογιστή, για να δημιουργήσει εξαιρετικά προβληματική. Έτσι, αναπτύχθηκαν περαιτέρω οι αρχές προγραμματιστών από την IBM. Οι κύριες συντακτικές δομές της γλώσσας προγραμματισμού υψηλού επιπέδου του Fortran σε πολλές περιπτώσεις άρχισαν να χρησιμοποιούν ως βασικά όταν δημιουργούν νέες λύσεις.

Ένα παράδειγμα επίτευξης πρακτικών αποτελεσμάτων στην ανάπτυξη των εννοιών που ορίζονται στο Fortran μπορεί να θεωρηθεί η δημιουργία του Lisp. Αυτή η γλώσσα αναπτύχθηκε το 1958, ωστόσο, απέκτησε μια ευρεία φήμη κάπως αργότερα - στη δεκαετία του 1960. Το Lisp αναπτύχθηκε από τον John McCarthy και δημοσιεύθηκε σε ένα από τα δημοφιλή περιοδικά για τους ειδικούς του. Ο κύριος σκοπός της εξεταζόμενης γλώσσας είναι η επεξεργασία των καταλόγων. Το Lisp έγινε δημοφιλές στο αναπτυξιακό περιβάλλον των συστημάτων τεχνητής νοημοσύνης. Στη βάση του δημιουργήθηκαν γλώσσες όπως ο προγραμματιστής, το σχέδιο, καθώς και το κοινό LISP, δημιουργήθηκαν. Επίσης παρείχε επίσης σημαντική αντίκτυπη σε πολλά σύγχρονα εργαλεία ανάπτυξης λογισμικού. Η δομή των γλωσσών προγραμματισμού υψηλού επιπέδου, δημοφιλή σήμερα, βασίζεται σε μεγάλο βαθμό σε αλγόριθμους Fortran και Lisp.

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

Καθολικές γλώσσες υψηλού επιπέδου

Έτσι, οι σύγχρονοι εμπειρογνώμονες διαθέτουν καθολικές γλώσσες υψηλού επιπέδου. Αυτά περιλαμβάνουν, ειδικότερα, εκείνα που έχουν αναπτυχθεί στη δεκαετία του '60. Βασικά χαρακτηριστικά:

Προσανατολισμό σε ένα ευρύ φάσμα καθηκόντων (πρώτα απ 'όλα σχετικά με την υπολογιστική) ·

Ένα μεγάλο αριθμό γλωσσικών δομών και αλγορίθμων.

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

Υποστήριξη στις σχετικές γλώσσες της επιτακτικής μεθοδολογίας.

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

Μοναδικές γλώσσες

Ορισμένοι εμπειρογνώμονες πληροφορικής διαθέτουν σε μια ανεξάρτητη κατηγορία "μοναδικές γλώσσες". Μεταξύ αυτών: APL, COBOL, FORTH, SETL, καθώς και CLU. Ποια είναι η ιδιαιτερότητά τους;

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

Εγκαταστάσεις Παράλληλο Προγραμματισμός

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

Σόπη.

Κλαδια δεντρου;

Ενώσεις ·

Παράλληλες αγκύλες.

Αλγόριθμοι εργασίας με διαδικασίες.

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

Σιναφικά;

Οθόνες.

- "Randevu";

Κρίσιμα τμήματα.

Διαδικασίες απομακρυσμένης πρόκλησης.

Συναλλαγές που σχετίζονται με την κατηγορία Atomic.

Οι γλώσσες του τύπου τύπου περιλαμβάνουν modula-2, ευδαιμονία, ταυτόχρονη Pascal, DP, Argus.

Γλωσσική Οικογένεια Γ.

Πάνω, θεωρήσαμε ως παράδειγμα μιας γλώσσας προγραμματισμού υψηλού επιπέδου μια τέτοια λύση ως C. στην πραγματικότητα, σχηματίζει μια ολόκληρη οικογένεια. Οι γλώσσες που ανήκουν σε αυτές είναι ιδιωτικές δομές C. Έτσι, η προσθήκη του σε διάφορα αντικειμενικά προσανατολισμένα εξαρτήματα οδήγησε στην ανάπτυξη του C ++. Μετά από ουσιαστικό φιλτράρισμα μιας σειράς κατασκευών C, εμφανίστηκε η Java. Μπορεί να σημειωθεί ότι η Java δημιουργήθηκε με πολλούς τρόπους υπό την επίδραση των εννοιών του έργου Oberon, το οποίο διαχειρίζεται η Wirth Niklaus, ο δημιουργός της γλώσσας Pascal. Το JavaScript υψηλού επιπέδου σχετίζεται με το JavaScript υψηλού επιπέδου; Φυσικά, ναι, παρά τη στενότητα της εφαρμογής - ως εργαλείο για την ανάπτυξη ιστοσελίδων. Αλλά οι γλώσσες προγραμματισμού υψηλού επιπέδου δεν περιλαμβάνουν, ειδικότερα, HTML, XML και SGML. Κατατάσσονται ως εργαλεία σήμανσης υπερκειμένου.

Οικογένεια γλωσσών pascal

Γλώσσες προγραμματισμού υψηλού επιπέδου Pascal σχηματίζουν επίσης ξεχωριστή οικογένεια. Με βάση το PASCAL, δημιουργήθηκε στην πραγματικότητα Oberon, ταξινομημένη ως αντικειμενοστρεφής γλώσσα τύπου. Το βασικό χαρακτηριστικό του Oberon - στην ικανότητα εξασφάλισης της ασφάλειας των τύπων. Δεν υπολογίζουμε την Oberon, οι γλώσσες της οικογένειας Pascal μπορούν να αποδοθούν στο Modula-2, καθώς και το συστατικό Pascal.

Οικογένεια Γλώσσας ADA

Το θεμελιώδες στη σχετική κατηγορία γλωσσών - διέταξε το Υπουργείο Άμυνας των ΗΠΑ ADA. Δημιουργήθηκε στα τέλη της δεκαετίας του '70 - αρχές της δεκαετίας του '80. Χαρακτηρίζεται από μεγάλο αριθμό λειτουργιών, ευκαιριών, ευελιξίας. Η οικογένεια ADA περιλαμβάνει λύσεις όπως το κέδρο, το Modula 3.

Οικογένεια γλωσσών Simula

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