Die erste Programmiersprache wurde erstellt. Wie wählst du noch deine (erste) Programmiersprache aus? Oder Wie stellt man die richtigen Fragen? Was ist eine Programmiersprache?

Wenn Sie darüber nachdenken, Programmieren zu lernen, ist die Programmiersprache, für die Sie sich zuerst entscheiden, von großer Bedeutung. Sie sollte mit dem in Zusammenhang stehen, was Sie in Zukunft tun möchten, und relevant sein. Während das Programmieren im Allgemeinen nichts für Faulenzer ist, sind einige Sprachen einfacher zu lernen als andere und es gibt Communities, die sich dem Lernen widmen und nützliche Fähigkeiten zum Erlernen anderer Programmiersprachen bieten.

Auswahlschema

Es gibt Fragen, die so oft gestellt werden, dass zu deren Beantwortung ganze Diagramme erstellt werden. Hier ist zum Beispiel einer davon, der sich der Wahl der ersten Programmiersprache widmet.

Bei der Auswahl Ihrer ersten Programmiersprache sollten Sie folgende Faktoren nüchtern bewerten:

  • Arbeitsmarkt.
  • Langfristige Perspektiven für die Sprache.
  • Schwierigkeiten beim Erlernen einer Sprache.
  • Was genau können Sie im Lernprozess schaffen und durch Zeigen anderer die Motivation aufrechterhalten?

Popularität und Nachfrage

JavaScript

JavaScript, nicht zu verwechseln mit Java, ist eine Programmiersprache, die in den 90er Jahren von Brendan Eich, früher bei Netscape Communications und heute bei der Mozilla Foundation, entwickelt wurde. JavaScript ist eine der grundlegenden Technologien, die die Web-Community, wie wir sie kennen, antreibt. Lassen Sie sich nicht täuschen, obwohl JavaScript außerhalb des Browsers existiert, existiert es hauptsächlich im Kontext verbundener Anwendungen und Dienste.

Die Sprache selbst ist dynamisch und gibt Programmierern die Flexibilität, objektorientierte Programmierstile (da die Sprache selbst in erster Linie objektorientiert ist) sowie funktionale und imperative Programmierstile zu verwenden. Der größte Teil seiner Syntax stammt von C, und wenn Sie vorhaben, in irgendeiner Form eine Webentwicklung durchzuführen, sollte das Erlernen von JavaScript auf Ihrer Liste stehen.

Glücklicherweise ist JavaScript relativ leicht zu erlernen und befindet sich bereits in Ihrem Browser, sodass Sie damit spielen können. Obwohl es es schon eine Weile gibt, erfreut es sich schnell wachsender Beliebtheit. Viele von Ihnen, die es nominiert haben, haben festgestellt, dass Sie beim Erlernen von JavaScript viel Geld dafür bekommen, weil Sie es sofort verwenden können, um Dinge für das Web zu erstellen, was sehr wohl das ist, was viele Leute das Programmieren lernen.

Python

Ich kann Python auch empfehlen.

Trotz einer Reihe von Problemen, die Python in der Vergangenheit innehatten, ist es weiterhin ein führendes Werkzeug in einer Reihe von Nischen:

Beeindruckend, nicht wahr? Was große und beliebte Projekte betrifft, die in Python geschrieben wurden, sind dies Monster wie:

Finden Sie auch auf unserer Website.

Programmieren ist ein arbeitsintensiver und komplexer Prozess, den nicht jeder verstehen kann. Maschinensprache besteht aus vielen Algorithmen und. Und die heutigen Computer sind so fortschrittliche Geräte, weil sie programmiert sind. Und die Geschichte der Softwareentwicklung wäre nicht so erfolgreich gewesen, wenn nicht eine spezielle Sprache für Maschinen erfunden worden wäre, die symbolische Schlüsselwörter in Maschinencodes übersetzt. Schauen wir uns an, wie die Geschichte der Entwicklung von Programmiersprachen Gestalt annahm.

Die ersten Autocodes erschienen 1955 durch die Bemühungen von IBM-Entwicklern unter der Leitung des Ingenieurs John Backus. Es handelte sich um eine Hochsprache namens Fortran, nicht um eine Reihe isolierter einfacher Befehle, sondern um eine Organisation größerer Codes, die später Operatoren oder algorithmische Sprachen genannt wurden. Um sie in Maschinencode zu übersetzen, wurden Übersetzer erfunden, die die Algorithmen umwandeln und für einen elektronischen Computer verständlich machen. Dies geschieht auf zwei Arten: Interpretation und Zusammenstellung. Aufgrund ihrer Einfachheit kamen Fortran-Versionen schnell zum Einsatz, und die letzte davon ist noch heute einer der Hauptcomputer.

Dies ist jedoch nicht der einzige Autocode für Autos. Die Geschichte der Entwicklung von Programmiersprachen wird mit der Entwicklung von Algol-Algorithmen fortgesetzt, die hauptsächlich in der wissenschaftlichen Gemeinschaft verwendet werden und eine Vielzahl neuer Konzepte enthalten. Dieses Ereignis findet im Jahr 1960 statt. Und wenig später erfanden neugierige Mitarbeiter von IBM die Cobol-Sprache, die auf den Einsatz im Geschäftsumfeld ausgerichtet war und zur Verarbeitung komplexer und umfangreicher Informationen wirtschaftlicher Natur eingesetzt wurde.

Die Geschichte der Entwicklung von Programmiersprachen wird mit den Professoren des Dartsmouth College, T. Kurtz und J. Kemeny, fortgesetzt, die das bekannte BASIC entwickelten. Es ist viel einfacher als Fortran und wurde daher 1995 verwendet. Es hatte eine explosive Wirkung, wurde zum Hauptsatz von Autoprogrammierungscodes und machte Computer zum Eigentum der meisten gewöhnlichen Benutzer.

Benutzerfreundlichkeit und die Möglichkeit der interaktiven Kommunikation sind die wichtigsten Vorteile der BASIC-Sprache. Zu den Nachteilen gehört das Fehlen von Einschränkungen bei der Zusammenstellung von Programmen, was diese sehr oft verwirrt und logisch unverständlich macht. Mit BASIC geschriebene Programme sind langsam, da sie nicht auf Compilern, sondern auf Interpretern basieren.

Heute arbeiten Wissenschaftler weiter daran, es zu verbessern und versuchen, es näher an das Pascal-Programm heranzuführen, das die Geschichte der Entwicklung von Programmiersprachen weiter geprägt hat. Niklaus Wirth, Professor an der Zürcher Polytechnischen Universität, gilt zu Recht als sein Schöpfer. Und er gab seiner Erfindung den Namen zu Ehren von Pascal, dem ersten Designer des allerersten Computers. Dies ist eine der einfachsten und zugänglichsten Programmiersprachen, mit der Sie klare und verständliche Programme schreiben können.

Die Geschichte der Programmierentwicklung wäre unvollständig ohne die Sprache Ada, benannt nach der ersten Programmiererin Ada Lovelace, der Tochter des bekannten Schweißes. Es handelt sich um eine fortschrittlichere und universellere Programmiersprache, die auf Pascal basiert.

Die Geschichte der Softwareentwicklung hat noch viele weitere Programmiersprachen im Arsenal, die für spezielle Anwendungsbereiche geschrieben werden. Bei der Modellierung kommen beispielsweise Simul, Simkrit und GPSS zum Einsatz. Die FORT-Sprache wird zur Steuerung der Geräte verwendet. geschrieben in SI-Sprache. Datenbanken werden mit der Kodasil-Sprache erstellt. Logo, Robik und A.P. eignen sich zum Erlernen des Programmierens. Ershova.

Die Geschichte der Programmierentwicklung ist noch nicht vollständig geschrieben und es ist unwahrscheinlich, dass dies in naher Zukunft geschehen wird.

Eine der revolutionärsten Ideen, die zur Entwicklung automatischer digitaler Computer führte, war die in den 20er Jahren des 19. Jahrhunderts von Charles Babidge geäußerte Idee, die Arbeitsreihenfolge der Maschine für die anschließende automatische Durchführung von Berechnungen vorab aufzuzeichnen – ein Programm . Und obwohl die Aufzeichnung von Programmen auf Lochkarten, die Babyge verwendet und die der französische Erfinder Joseph Marie Jacquard zur Steuerung solcher Maschinen erfunden hat, technisch gesehen nichts mit modernen Methoden zum Speichern von Programmen in einem PC zu tun hat, ist das Prinzip hier im Wesentlichen dasselbe. Von diesem Moment an beginnt die Geschichte der Programmierung.
Ada Levellace, eine Zeitgenossin Babidges, gilt als die erste Programmiererin der Welt. Sie entwickelte theoretisch einige Techniken zur Steuerung des Rechenablaufs, die auch heute noch in der Programmierung verwendet werden. Sie beschrieb auch eine der wichtigsten Konstruktionen fast aller modernen Programmiersprachen – eine Schleife.

Ein revolutionärer Moment in der Geschichte der Programmiersprachen war die Entstehung eines von John Mauchly vorgeschlagenen Systems zur Kodierung von Maschinenanweisungen mithilfe von Sonderzeichen. Das von ihm vorgeschlagene Kodierungssystem inspirierte eine seiner Mitarbeiterinnen, Grace Murray Hopper. Während der Arbeit am Mark-1-Computer hatten sie und ihre Gruppe mit vielen Problemen zu kämpfen und alles, was ihnen einfiel, war zum ersten Mal. Insbesondere entwickelten sie Unterprogramme. Und ein weiteres grundlegendes Konzept der Programmiertechnik wurde erstmals von Hopper und ihrer Gruppe eingeführt: „Debugging“.
In den späten 40er Jahren entwickelte J. Mauchly ein System namens „Short Code“, eine primitive Programmiersprache auf hohem Niveau. Darin schrieb der Programmierer das zu lösende Problem in Form mathematischer Formeln auf und übersetzte diese Formeln dann mithilfe einer speziellen Tabelle Zeichen für Zeichen und wandelte diese Formeln in Zwei-Buchstaben-Codes um. Anschließend wandelte ein spezielles Computerprogramm diese Codes in binären Maschinencode um. Das von J. Mauchly entwickelte System gilt als einer der ersten primitiven Interpreter.

Bereits 1951 schuf Hopper den weltweit ersten Compiler und führte auch diesen Begriff ein. Der Hopper-Compiler übernahm die Funktion, Befehle zu kombinieren und während der Übersetzung Unterprogramme zu organisieren, Computerspeicher zuzuweisen und High-Level-Befehle (damals Pseudocodes) in Maschinenbefehle umzuwandeln. „Unterprogramme befinden sich in der Bibliothek (des Computers), und wenn man Material aus der Bibliothek auswählt, nennt man das Zusammenstellung“, erklärte sie den Ursprung des von ihr geprägten Begriffs.

Im Jahr 1954 entwickelte eine von G. Hopper geleitete Gruppe ein System, das eine Programmiersprache und einen Compiler umfasste und später Math-Matic genannt wurde. Nachdem Math-Matic erfolgreich abgeschlossen war, machten sich Hopper und ihr Team daran, eine neue Sprache und einen neuen Compiler zu entwickeln, die es Benutzern ermöglichen würden, in einer Sprache zu programmieren, die dem normalen Englisch ähnelt. 1958 erschien der Flow-Matic-Compiler. Der Flow-Matic-Compiler war die erste Sprache für kommerzielle Datenverarbeitungsaufgaben.
Entwicklungen in diese Richtung führten zur Entstehung der COBOL-Sprache (Common Business Oriented Language). Es wurde 1960 erstellt. In dieser Sprache sind die mathematischen Werkzeuge im Vergleich zu Fortran und Algol weniger entwickelt, aber die Textverarbeitungswerkzeuge und die Organisation der Datenausgabe in Form des erforderlichen Dokuments sind gut entwickelt. Es war als primäre Sprache für die Massendatenverarbeitung in Management- und Geschäftsbereichen gedacht.

Die Mitte der 50er Jahre zeichnet sich durch rasante Fortschritte im Bereich Programmierung aus. Die Rolle der Programmierung bei Maschinenbefehlen begann abzunehmen. Es entstanden neue Arten von Programmiersprachen, die als Vermittler zwischen Maschinen und Programmierern fungierten. Das erste und eines der am weitesten verbreiteten war Fortran (FORTRAN, von FORmula TRANslator – Formelübersetzer), das 1954 von einer Gruppe IBM-Programmierern entwickelt wurde (erste Version). Diese Sprache konzentrierte sich auf wissenschaftliche und technische Berechnungen mathematischer Natur und ist eine klassische Programmiersprache zur Lösung mathematischer und technischer Probleme auf einem PC.
Für die ersten höheren Programmiersprachen war die Fachorientierung der Sprachen ein charakteristisches Merkmal.
Eine Sonderstellung unter den Programmiersprachen nimmt Algol ein, dessen erste Version 1958 erschien. Einer der Entwickler von Algol war der „Vater“ von Fortran, John Backus. Der Name ALGOrithmic Language unterstreicht die Tatsache, dass sie zum Schreiben von Algorithmen gedacht ist. Dank seiner klaren logischen Struktur ist Algol zu einem Standardmittel zum Schreiben von Algorithmen in der wissenschaftlichen und technischen Literatur geworden.

Mitte der 60er Jahre entwickelten Thomas Kurtz und John Kameny (Angestellte der Mathematikabteilung des Dartmouth College) eine spezielle Programmiersprache, die aus einfachen englischen Wörtern bestand. Die neue Sprache hieß „Beginner All-Purpose Symbolic Instruction Code, kurz BASIC“. Als Geburtsjahr der neuen Sprache kann 1964 angesehen werden. Heute erfreut sich die universelle BASIC-Sprache (von der es viele Versionen gibt) großer Beliebtheit und ist unter PC-Benutzern verschiedener Kategorien auf der ganzen Welt weit verbreitet. Dies wurde erheblich dadurch erleichtert, dass BASIC als integrierte Sprache von Personalcomputern verwendet wurde, deren weit verbreitete Verwendung Ende der 70er Jahre begann. Allerdings ist BASIC eine unstrukturierte Sprache und eignet sich daher schlecht für den Unterricht hochwertiger Programmierung. Fairerweise muss man anmerken, dass die neuesten Versionen von BASIC für PCs (zum Beispiel QBasic) struktureller geworden sind und sich in ihren visuellen Fähigkeiten Sprachen wie Pascal annähern.

Die Entwickler haben die Sprachen auf verschiedene Aufgabenklassen ausgerichtet, sie in gewissem Maße an eine bestimmte PC-Architektur gebunden und persönliche Vorlieben und Ideen umgesetzt. In den 60er Jahren wurde versucht, diese „Zwietracht“ durch die Schaffung einer universellen Programmiersprache zu überwinden. Die erste Idee dieser Richtung war PL/1 (Programm Language One), das 1967 von IBM entwickelt wurde. Diese Sprache behauptete, jedes Problem lösen zu können: Rechnen, Textverarbeitung, Sammeln und Abrufen von Informationen. Es erwies sich jedoch als zu komplex, der Übersetzer war nicht optimal genug und enthielt eine Reihe unerkannter Fehler.
Allerdings wurde die Linie zur Universalisierung der Sprachen unterstützt. Alte Sprachen wurden in universelle Versionen modernisiert: ALGOL-68 (1968), Fortran-77. Man ging davon aus, dass sich solche Sprachen weiterentwickeln und verbessern und beginnen würden, alle anderen zu verdrängen. Allerdings war keiner dieser Versuche erfolgreich.

Die LISP-Sprache erschien 1965. Das Hauptkonzept darin ist das Konzept rekursiv definierter Funktionen. Da bewiesen ist, dass jeder Algorithmus mit einem bestimmten Satz rekursiver Funktionen beschrieben werden kann, ist LISP im Wesentlichen eine universelle Sprache. Mit seiner Hilfe kann ein PC recht komplexe Prozesse simulieren, insbesondere die geistige Aktivität von Menschen.
Prolog wurde 1972 in Frankreich entwickelt, um Probleme der „künstlichen Intelligenz“ zu lösen. Mit dem Prolog können Sie verschiedene Aussagen und die Logik der Argumentation formal beschreiben und den PC dazu zwingen, Antworten auf die gestellten Fragen zu geben.
Ein bedeutendes Ereignis in der Geschichte der Programmiersprachen war die Schaffung der Pascal-Sprache im Jahr 1971. Sein Autor ist der Schweizer Wissenschaftler Niklaus Wirth. Wirth benannte es nach dem großen französischen Mathematiker und Religionsphilosophen Blaise Pascal aus dem 17. Jahrhundert, der das erste Addiergerät erfand, weshalb die neue Sprache nach ihm benannt wurde. Diese Sprache wurde ursprünglich als Lehrsprache für strukturiertes Programmieren entwickelt und ist heute tatsächlich eine der Hauptsprachen für den Programmierunterricht an Schulen und Universitäten.

Im Jahr 1975 wurden zwei Ereignisse zu Meilensteinen in der Geschichte der Programmierung: Bill Gates und Paul Allen kündigten sich mit der Entwicklung ihrer BASIC-Version an, und Wirth und Jensen veröffentlichten die klassische Beschreibung der Sprache „Pascal User Manual and Report“.

Einen nicht minder beeindruckenden, auch finanziellen Erfolg erzielte Philip Kahn, ein Franzose, der 1983 das Turbo-Pascal-System entwickelte. Der Kern seiner Idee bestand darin, die aufeinanderfolgenden Phasen der Programmverarbeitung – Kompilierung, Bearbeitung von Links, Debugging und Fehlerdiagnose – in einer einzigen Schnittstelle zu vereinen. Turbo Pascal ist nicht nur eine Sprache und ein Übersetzer daraus, sondern auch eine Bedienoberfläche, die dem Benutzer ein komfortables Arbeiten in Pascal ermöglicht. Diese Sprache hat ihren pädagogischen Zweck überschritten und ist zu einer professionellen Programmiersprache mit universellen Fähigkeiten geworden. Aufgrund dieser Vorteile ist Pascal zur Quelle vieler moderner Programmiersprachen geworden. Seitdem sind mehrere Versionen von Turbo Pascal erschienen, zuletzt die siebte.
Borland/Inprise vervollständigte die Turbo Pascal-Produktlinie und veröffentlichte anschließend ein visuelles Entwicklungssystem für Windows – Delphi.

Die C-Sprache (erste Version – 1972), die bei Entwicklern von Softwaresystemen (einschließlich Betriebssystemen) sehr beliebt ist, hat große Spuren in der modernen Programmierung hinterlassen. Diese Sprache wurde als Instrumentsprache für die Entwicklung von Betriebssystemen, Übersetzern, Datenbanken und anderen System- und Anwendungsprogrammen geschaffen. C vereint sowohl die Merkmale einer Hochsprache als auch einer maschinenorientierten Sprache und ermöglicht dem Programmierer den Zugriff auf alle Maschinenressourcen, die Sprachen wie BASIC und Pascal nicht bieten.
Der Zeitraum von Ende der 60er bis Anfang der 80er Jahre war geprägt von einem rasanten Wachstum der Zahl unterschiedlicher Programmiersprachen, das mit der Softwarekrise einherging. Im Januar 1975 beschloss das Pentagon, Ordnung in das Chaos der Übersetzer zu bringen und richtete ein Komitee ein, das den Auftrag hatte, eine universelle Sprache zu entwickeln. Im Mai 1979 wurde der Gewinner bekannt gegeben – eine Gruppe von Wissenschaftlern unter der Leitung von Jean Ikhbia. Die Gewinnersprache wurde zu Ehren von Augusta Ada Levellace Ada getauft. Diese Sprache ist für die Erstellung und langfristige (Langzeit-)Wartung großer Softwaresysteme gedacht; sie ermöglicht eine parallele Verarbeitung und Echtzeit-Prozesssteuerung.

Viele Jahre lang wurde Software auf Basis operativer und prozeduraler Sprachen wie Fortran, BASIC, Pascal, Ada, C erstellt. Mit der Weiterentwicklung der Programmiersprachen verbreiteten sich andere, grundlegend unterschiedliche Ansätze zur Programmerstellung.
Es gibt eine Vielzahl von Klassifizierungen von Programmiersprachen nach verschiedenen Kriterien. Die häufigsten Klassifizierungen sind:
 High-Level- (Pascal, BASIC) und Low-Level-Programmiersprachen (Assembler);
 streng typisiert (Pascal) und locker typisiert (BASIC);
 mit und ohne Unterstützung für objektorientierte Programmierung (C++) usw.

Betrachten wir eine andere Klassifizierung. Programmiersprachen werden unterteilt in:
1) Maschinenorientierte Sprachen:
- Maschinensprachen;
- symbolische Codierungssprachen;
 Autocodes;
- Makro.
2) Maschinenunabhängige Sprachen:
- problemorientierte Sprachen;
- universelle Sprachen;
- interaktive Sprachen;
- nicht-prozedurale Sprachen.

Maschinenorientierte Sprachen

Maschinenorientierte Sprachen sind Sprachen, deren Operatorsätze und grafische Mittel maßgeblich von den Eigenschaften des PCs (interne Sprache, Speicherstruktur usw.) abhängen. Maschinenorientierte Sprachen weisen folgende Merkmale auf:
 hohe Qualität der erstellten Programme (Kompaktheit und Ausführungsgeschwindigkeit);
 die Fähigkeit, bestimmte Hardwareressourcen zu nutzen;
 Vorhersagbarkeit von Objektcode und Speicherordnungen;
 Um effektive Programme zu erstellen, müssen Sie das Befehlssystem und die Betriebsfunktionen dieses PCs kennen;
 der arbeitsintensive Prozess des Schreibens von Programmen (insbesondere in Maschinensprachen und JSC), der schlecht vor Fehlern geschützt ist;
 niedrige Programmiergeschwindigkeit;
 die Unmöglichkeit, in diesen Sprachen kompilierte Programme direkt auf anderen Computertypen zu verwenden.
Maschinenorientierte Sprachen werden nach dem Grad der automatischen Programmierung in Klassen eingeteilt.

Maschinensprache

Ein einzelner Computer verfügt über eine eigene spezifische Maschinensprache (im Folgenden als ML bezeichnet). Es ist vorgeschrieben, bestimmte Operationen an den von ihm definierten Operanden auszuführen, daher ist ML eine Befehlssprache. Der Befehl meldet Informationen über die Position der Operanden und die Art der ausgeführten Operation.
Bei neuen PC-Modellen besteht die Tendenz, interne Sprachen in der Hardware zu verbessern, um komplexere Befehle zu implementieren, die in ihren funktionalen Aktionen näher an den Operatoren algorithmischer Programmiersprachen liegen.

Symbolische Codierungssprachen

Symbolische Codierungssprachen (im Folgenden als SKL bezeichnet) sind ebenso wie ML Befehlssprachen. Allerdings werden Operationscodes und Adressen in Maschinenanweisungen, die eine Folge binärer (im internen Code) oder oktaler (oft beim Schreiben von Programmen verwendeter) Ziffern sind, in YSC durch Symbole (Bezeichner) ersetzt, deren Schreibform dem Programmierer hilft den semantischen Inhalt der Operation leichter merken. Dies sorgt für eine deutliche Reduzierung der Fehleranzahl beim Kompilieren von Programmen.
Die Verwendung symbolischer Adressen ist der erste Schritt zur Erstellung eines YASK. PC-Befehle enthalten symbolische Adressen anstelle echter (physikalischer) Adressen. Basierend auf den Ergebnissen des kompilierten Programms wird die erforderliche Anzahl von Zellen zum Speichern der anfänglichen Zwischen- und Ergebniswerte bestimmt. Die Adressvergabe, die getrennt von der Kompilierung des Programms in symbolische Adressen durchgeführt wird, kann von einem weniger qualifizierten Programmierer oder einem speziellen Programm durchgeführt werden, was die Arbeit des Programmierers erheblich erleichtert.

Autocodes

Es gibt Sprachen, die durch die erweiterte Einführung von Makrobefehlen alle Funktionen von YSC umfassen – sie werden Autocodes genannt.

In verschiedenen Programmen gibt es einige recht häufig verwendete Befehlssequenzen, die bestimmten Verfahren zur Informationskonvertierung entsprechen. Die effektive Umsetzung solcher Verfahren wird durch deren Gestaltung in Form spezieller Makrobefehle und deren Einbindung in eine für den Programmierer zugängliche Programmiersprache gewährleistet. Makrobefehle werden auf zwei Arten in Maschinenbefehle übersetzt: Anordnung und Generierung. Das Staging-System enthält „Skelette“ – eine Reihe von Befehlen, die die erforderliche Funktion implementieren, die durch einen Makrobefehl angegeben wird. Makroanweisungen ermöglichen die Übertragung tatsächlicher Parameter, die während des Übersetzungsprozesses in das „Skelett“ des Programms eingefügt werden und es so in ein echtes Maschinenprogramm verwandeln.
In einem Generierungssystem gibt es spezielle Programme, die den Makrobefehl analysieren, bestimmen, welche Funktion ausgeführt werden muss, und die erforderliche Befehlsfolge bilden, die diese Funktion implementiert.
Beide Systeme verwenden JSC-Übersetzer und eine Reihe von Makrobefehlen, die auch Autocode-Operatoren sind.
Die entwickelten Autocodes werden Assembler genannt. Serviceprogramme usw. werden normalerweise in Assemblersprachen geschrieben.

Makro

Eine Sprache, die ein Werkzeug zum Ersetzen einer Zeichenfolge, die die Ausführung erforderlicher Computeraktionen beschreibt, in eine komprimiertere Form darstellt, wird als Makro (Ersetzungswerkzeug) bezeichnet.
Grundsätzlich dient ein Makro dazu, die Aufnahme der Originalsendung zu verkürzen. Die Softwarekomponente, die die Funktion von Makros ermöglicht, wird Makroprozessor genannt. Der Makroprozessor erhält den Makrodefinitions- und Quelltext. Die Reaktion des Makroprozessors auf einen Aufruf besteht darin, einen Ausgabetext auszugeben.
Makros können sowohl mit Programmen als auch mit Daten gleichermaßen funktionieren.

Maschinenunabhängige Sprachen

Maschinenunabhängige Sprachen sind ein Mittel zur Beschreibung von Algorithmen zur Lösung von Problemen und zu verarbeitenden Informationen. Sie sind für eine Vielzahl von Benutzern einfach zu verwenden und erfordern keine Kenntnisse über die Besonderheiten der Organisation der Funktionsweise eines PCs.
Solche Sprachen werden Hochprogrammiersprachen genannt. In solchen Sprachen kompilierte Programme sind Folgen von Anweisungen, die nach den Regeln der Sprachbetrachtung (Aufgaben, Segmente, Blöcke usw.) strukturiert sind. Sprachoperatoren beschreiben die Aktionen, die das System nach der Übersetzung des Programms in ML ausführen muss.
So werden Befehlsfolgen (Prozeduren, Unterprogramme), die häufig in Maschinenprogrammen verwendet werden, in Hochsprachen durch einzelne Anweisungen dargestellt. Dem Programmierer gelang es nicht, den Rechenprozess auf der Ebene von Maschinenanweisungen detailliert zu beschreiben, sondern sich auf die Hauptmerkmale des Algorithmus zu konzentrieren.

Problemorientierte Sprachen

Mit der Ausweitung der Einsatzgebiete der Computertechnik entstand die Notwendigkeit, die Darstellung der Formulierung und Lösung neuer Problemklassen zu formalisieren. Es galt, Programmiersprachen zu schaffen, die es unter Verwendung von Notationen und Terminologie in diesem Bereich ermöglichen würden, die erforderlichen Lösungsalgorithmen für die gestellten Probleme zu beschreiben; sie wurden zu problemorientierten Sprachen. Diese Sprachen konzentrieren sich auf die Lösung spezifischer Probleme und sollen dem Programmierer Werkzeuge an die Hand geben, die es ihm ermöglichen, ein Problem kurz und klar zu formulieren und Ergebnisse in der erforderlichen Form zu erhalten.
Es gibt viele problematische Sprachen, zum Beispiel:
- Fortran, Algol – Sprachen zur Lösung mathematischer Probleme;
- Simula, Slang - zum Modellieren;
- Lisp, Snoball – zum Arbeiten mit Listenstrukturen.

Universelle Sprachen

Universelle Sprachen wurden für ein breites Aufgabenspektrum geschaffen: kommerziell, wissenschaftlich, Modellierung usw. Die erste universelle Sprache wurde von IBM entwickelt, die in der Sprachenfolge zu PL/1 wurde. Die zweitmächtigste Universalsprache heißt ALGOL-68.

Konversationssprachen

Das Aufkommen neuer technischer Fähigkeiten stellt Systemprogrammierer vor die Aufgabe, Softwaretools zu entwickeln, die eine schnelle Interaktion zwischen einer Person und einem PC gewährleisten. Sie werden als interaktive Sprachen bezeichnet.
Diese Arbeiten wurden in zwei Richtungen durchgeführt. Um einen operativen Einfluss auf die Erledigung von Aufgaben zu haben, wurden spezielle Kontrollsprachen geschaffen, die in allen bisher unentwickelten (Nicht-Dialog-)Sprachen kompiliert wurden. Es wurden auch Sprachen entwickelt, die neben Verwaltungszwecken auch eine Beschreibung von Algorithmen zur Lösung von Problemen liefern würden.
Um eine schnelle Interaktion mit dem Benutzer sicherzustellen, war es erforderlich, eine Kopie des Quellprogramms im Computerspeicher zu speichern, auch nachdem das Objektprogramm im Maschinencode empfangen wurde. Bei Änderungen an einem Programm mithilfe einer interaktiven Sprache stellt das Programmiersystem mithilfe spezieller Tabellen die Beziehung zwischen den Strukturen der Quell- und Objektprogramme her. Dadurch haben Sie die Möglichkeit, die erforderlichen redaktionellen Änderungen im Objektprogramm vorzunehmen.
Ein Beispiel für Konversationssprachen ist BASIC.

Nicht-prozedurale Sprachen

Nicht-prozedurale Sprachen bilden eine Gruppe von Sprachen, die die Organisation von Daten beschreiben, die mithilfe fester Algorithmen (Tabellensprachen und Berichtsgeneratoren) verarbeitet werden, sowie Sprachen für die Kommunikation mit Betriebssystemen.
Mithilfe von Entscheidungstabellen können Sie sowohl die Aufgabe als auch die zu ihrer Lösung erforderlichen Maßnahmen klar beschreiben und klar bestimmen, welche Bedingungen erfüllt sein müssen, bevor mit einer Aktion fortgefahren wird. Eine Entscheidungstabelle, die eine bestimmte Situation beschreibt, enthält alle möglichen Blockdiagramme von Implementierungen von Lösungsalgorithmen.
Tabellarische Methoden werden von Spezialisten aller Berufszweige leicht beherrscht. In tabellarischer Sprache geschriebene Programme beschreiben bequem komplexe Situationen, die bei der Systemanalyse auftreten.
Programmiersprachen dienen unterschiedlichen Zwecken und ihre Wahl wird durch Benutzerfreundlichkeit, Eignung für einen bestimmten Computer und eine bestimmte Aufgabe bestimmt. Und Probleme für einen Computer können sehr unterschiedlich sein: rechnerische, wirtschaftliche, grafische, Expertenprobleme usw. Diese Vielfalt der von einem Computer gelösten Probleme bestimmt die Vielfalt der Programmiersprachen. Beim Programmieren werden die besten Ergebnisse mit einer individuellen Herangehensweise erzielt, die auf der Klasse des Problems, dem Niveau und den Interessen des Programmierers basiert.

Entstehungsgeschichte der Programmiersprachen Basic und Visual Basic

Die Programmiersprache Basic wurde 1964 von den beiden Professoren des Dartmouth College, John Kenemi und Thomas Kurtz, entwickelt, um Studenten Programmierkenntnisse zu vermitteln. Die Sprache erwies sich als so einfach und verständlich, dass sie nach einiger Zeit auch in anderen Bildungseinrichtungen verwendet wurde. 1975, mit dem Aufkommen der ersten Mikrocomputer, übernahmen Bill Gates und Paul Allen, die Gründer von Microsoft, die Leitung von Basic. Sie waren es, die eine neue Version von Basic für die ersten Altair-Computer (MITS Altairs) erstellt haben, die in der Lage ist, in 4 KB RAM zu laufen. Im Laufe der Zeit entwickelte sich diese Version zu einer der beliebtesten Programmiersprachen der Welt. Auf dem Weg zum Gipfel des Ruhms hatte Basic viele Schwierigkeiten, die es immer mit Ehre meisterte, und als der erste IBM PC erschien, wurde es zum Standard in der Programmierung, allerdings in Form von GW-Basic. Dann gab es Turbo Basic, QuickBasic, Basic PDS, aber bei der Entwicklung einer neuen Version der Sprache wurde immer die Kompatibilität mit früheren Versionen gewahrt und ein Programm, das fast für das erste Basic geschrieben wurde, könnte (mit geringfügigen Änderungen) durchaus in nachfolgenden Versionen davon funktionieren Sprache. Doch es sind neue Zeiten gekommen und Anfang der 90er Jahre erschien das Betriebssystem Microsoft Windows mit einer neuen grafischen Benutzeroberfläche (GUI).

Das Leben der Programmierer ist zur Hölle geworden. Um ein einfaches Programm zu erstellen, musste man mehrere Seiten Code schreiben: Menüs und Fenster erstellen, Schriftarten ändern, Speicher löschen, Schaltflächen „zeichnen“ usw. Die Vorteile der neuen Schnittstelle waren jedoch so unbestreitbar, dass bereits die dritte Version dieses Betriebssystems zum De-facto-Standard für einen Personal Computer wurde. Zu dieser Zeit liefen bei Microsoft parallel mehrere Projekte zur Entwicklung einer neuen Programmiersprache für Windows. Und 1991 erschien unter dem Slogan „Jetzt können auch unerfahrene Programmierer problemlos Anwendungen für Windows erstellen“ die erste Version des neuen Microsoft Visual Basic-Tools. Zu diesem Zeitpunkt bewertete Microsoft die Fähigkeiten dieses Systems eher bescheiden und richtete es hauptsächlich an die Kategorie der Anfänger und nicht professionellen Programmierer. Die Hauptaufgabe bestand dann darin, ein einfaches und praktisches Entwicklungstool in der damals noch recht neuen Windows-Umgebung auf den Markt zu bringen, in dem die Programmierung selbst für erfahrene Profis ein Problem darstellte. Das von den Visual Basic-Entwicklern erstellte Programmiersystem ermöglichte es, von der komplexen internen Struktur von Windows „einen Schritt zurückzutreten“ und Programme aus „Würfeln“ wie in einem Kinderbaukasten zu erstellen. Menüs, Fenster, Listen, Schaltflächen, Texteingabefelder und andere Elemente der Windows-Oberfläche wurden durch einfache Drag&Drop-Vorgänge zum Programm hinzugefügt.

VB-Programmierer erstellten ihr erstes Programm innerhalb weniger Minuten, nachdem sie mit dem Erlernen dieser Sprache begonnen hatten! Darüber hinaus ermöglichte Visual Basic Entwicklern die Erstellung neuer „Cube“-Objekte, die neben Standardprogrammen auch in Programmen verwendet werden konnten. Und obwohl viele C-Programmierer leise über die Versuche von Microsoft lachten, ein einfaches und verständliches Tool für die Entwicklung von Windows-Programmen zu entwickeln, begann Visual Basic seinen Siegeszug um die Welt, und nichts konnte diesen Prozess aufhalten. Die letzten Hürden fielen 1994 mit der Veröffentlichung von Visual Basic for Applications. Zu dieser Zeit, nach der Integration von VBA in Microsoft Office, begann sich Basic zu einem der wichtigsten Programmierstandards für Windows zu entwickeln. Für Microsoft ist die Basic-Sprache von besonderer Bedeutung; die Entwicklung einer Basic-Version für den Altair 8800-Computer markierte einst den Beginn der Programmierkarriere seiner Gründer Bill Gates und Paul Allen. Daher behielt Microsoft einst – im Jahr 1989, als es an der Zeit war, die Hauptrichtungen der Erstellung von Entwicklungsumgebungen in verschiedenen Programmiersprachen zwischen verschiedenen Unternehmen zu verteilen – QuickBasic – eine Umgebung zum Entwickeln von Programmen in Basic – bei und lehnte beispielsweise weiter ab Arbeit an der Programmiersprache Pascal und überließ sie Borland, das wiederum die Arbeit an seiner Version von Basic einstellte (Pascal wurde später zur Delphi-Sprache).

Ursprünglich als Spielzeug gedacht, eroberte Microsofts Visual Basic die Programmierwelt im Sturm. Seine Beliebtheit hat zwei Gründe: relative Einfachheit und Produktivität. VB-Programme sind langsamer als ihre C/C++-Gegenstücke, aber für viele Geschäftszwecke immer noch schnell genug und erfordern viel weniger Entwicklungszeit. Formulare waren die gleiche aufwendige Abstraktion, die VB Windows-Programmierern bot. Die VB-IDE ermöglichte die grafische Gestaltung von Fenstern durch Ziehen von Steuerelementen wie Schaltflächen und Listenfeldern aus der Symbolleiste auf ein Formular. Sobald Sie mit dem Erscheinungsbild des Formulars zufrieden sind, können Sie mit der Codeseite fortfahren und Ereignishandler für jedes Formularsteuerelement schreiben.

Die Entwicklung einer Anwendung in VB bestand also darin, mehrere Formulare zu erstellen, die miteinander kommunizierten und möglicherweise eine Datenbank für die erforderlichen Informationen konsultierten. Das resultierende Formular stellte sich als Fenster heraus, das eine viel bequemere Möglichkeit zur Verwendung von Fenstertechniken bot. VB hat Fehler reduziert, indem einige versteckte C/C++-Syntax entfernt wurden. Außer in Sonderfällen waren Ausdrücke auf eine einzige Codezeile beschränkt und Variablen mussten in separaten Codezeilen deklariert und initialisiert werden. Die Zuweisungs- und Vergleichsoperatoren verwendeten dasselbe Symbol, die VB-Grammatik erforderte jedoch, dass diese Operatoren so verwendet werden, dass ihre Absicht klar erkennbar ist.

Am wichtigsten ist vielleicht, dass es keine Hinweise gab – eine Forderung von Bill Gates seit den ersten Versionen von Microsoft BASIC. Obwohl Zeiger nützlich sind, weil sie den direkten Zugriff auf den Speicher an jeder Adresse ermöglichen, ist ihre Verwendung fehleranfällig, wenn sie nicht sorgfältig verwendet werden. Die Forderung von BASIC nach grammatikalischer Einfachheit ergibt sich aus der Tatsache, dass es ursprünglich als Unterrichtssprache entwickelt wurde: „Allzweck-symbolischer Unterrichtscode für Anfänger“. VB Version 6 ist bereits eine leistungsstarke Sprache, die zum Erstellen verteilter Anwendungen verwendet werden kann COM-Komponenten und Microsoft Transaction Server Microsoft schlug einen dreistufigen Ansatz für Client-Server-Architekturen vor, bei dem schlanke Benutzeroberflächen mit Remote-VB-Komponenten interagierten, um Daten aus einer Datenbank oder einem anderen Computer abzurufen.

Mit VBScript und VBA (VB for Applications) können Sie Skripte für Webbrowser schreiben und Microsoft Office-Anwendungen automatisieren. Darüber hinaus kann VB6 zum Erstellen von Active-X-Steuerelementen verwendet werden, die mit Internet Explorer funktionieren. Dies wird jedoch selten durchgeführt, da die VB-Laufzeit-DLL auf dem Internet-Client-Computer installiert sein muss. Ab VB5 wurden VB-Programme in Maschinencode kompiliert, sie basierten jedoch auf der Verwendung einer DLL, die häufig verwendete Funktionen bereitstellte und die Objektfunktionen von VB implementierte. Interessant ist, dass der VB-Compiler für die Übersetzung den Multi-Pass-Modus verwendet und sich letztendlich auf den Microsoft C++-Compiler verlässt, um nach dem Kompilieren in eine Zwischensprache Maschinencode-Ausgaben zu erzeugen. Die Keime von .NET sind in dieser Funktion von VB sichtbar – der Verwendung einer Laufzeitbibliothek und eines C++-Backends.

Entstehungsgeschichte der Programmiersprache C#

Die Sprache C# wurde im Juni 2000 als Ergebnis der sorgfältigen Arbeit einer großen Gruppe von Microsoft-Entwicklern unter der Leitung von Anders Hejlsberg geboren. Dieser Mann ist als Autor einer der ersten kompilierten Programmiersprachen für IBM-Personalcomputer bekannt – Turbo Pascal. Wahrscheinlich haben auf dem Gebiet der ehemaligen Sowjetunion viele erfahrene Entwickler und einfach Leute, die in der einen oder anderen Form an Universitäten Programmieren studiert haben, den Charme und die Benutzerfreundlichkeit dieses Produkts erlebt. Darüber hinaus wurde Anders Hejlsberg während seiner Arbeit bei der Borland Corporation für die Entwicklung der integrierten Delphi-Umgebung berühmt (er leitete dieses Projekt bis zur Veröffentlichung von Version 4.0).
Es war kein Zufall, dass die C#-Sprache und die .NET-Initiative im Frühsommer 2000 auf den Markt kamen. Zu diesem Zeitpunkt bereitete Microsoft industrielle Versionen neuer Komponententechnologien und Lösungen im Bereich Messaging und Datenaustausch vor sowie die Erstellung von Internetanwendungen (COM+, ASP+, ADO+, SOAP, Biztalk Framework). Der beste Weg, diese neuen Produkte zu bewerben, besteht zweifellos darin, ein Toolkit für Entwickler zu erstellen, das sie voll und ganz unterstützt. Dies ist eines der Hauptziele der neuen C#-Sprache. Darüber hinaus war Microsoft nicht mehr in der Lage, dieselben Tools und Entwicklungssprachen zu erweitern, wodurch sie immer komplexer wurden, um den widersprüchlichen Anforderungen der Unterstützung moderner Hardware und der Aufrechterhaltung der Abwärtskompatibilität mit den in den frühen 1990er Jahren entwickelten Produkten gerecht zu werden. beim ersten Erscheinen von Windows. Es kommt der Zeitpunkt, an dem es notwendig ist, bei Null anzufangen, um einen einfachen, aber komplexen Satz von Sprachen, Umgebungen und Entwicklungstools zu erstellen, der es dem Entwickler ermöglicht, problemlos moderne Softwareprodukte zu erstellen.

C# und .NET sind der Ausgangspunkt. Um es einfach auszudrücken: .NET ist eine neue Plattform, eine neue API für die Programmierung unter Windows, und C# ist eine neue Sprache, die von Grund auf neu entwickelt wurde, um mit dieser Plattform zu arbeiten und den Fortschritt der Entwicklungsumgebungen und unserer Umgebung voll auszunutzen Verständnis der Prinzipien der objektorientierten Programmierung der letzten 20 Jahre.
Es ist zu beachten, dass die Abwärtskompatibilität nicht verloren geht. Vorhandene Programme können ausgeführt werden, und die .NET-Plattform wurde für die Zusammenarbeit mit vorhandener Software entwickelt. Die Kommunikation zwischen Komponenten in Windows erfolgt mittlerweile fast ausschließlich über COM. Vor diesem Hintergrund verfügt .NET über die Fähigkeit, (a) Wrapper um vorhandene COM-Komponenten zu erstellen, damit .NET-Komponenten mit ihnen kommunizieren können, und (b) Wrapper um .NET-Komponenten zu erstellen, sodass diese wie normale COM-Komponenten aussehen.

Die Autoren von C# wollten eine Sprache schaffen, die die Einfachheit und Ausdruckskraft moderner objektorientierter Sprachen (wie Java) mit dem Reichtum und der Leistungsfähigkeit von C++ verbindet. Laut Anders Hejlsberg übernimmt C# den größten Teil seiner Syntax von C++. Insbesondere enthält es so praktische Datentypen wie Strukturen und Aufzählungen (einem anderen Nachkommen von C++ – Java – fehlen diese Elemente, was zu gewissen Unannehmlichkeiten beim Programmieren führt). C#-syntaktische Konstrukte werden nicht nur von C++, sondern auch von Visual Basic geerbt. Beispielsweise verwendet C# wie Visual Basic Klasseneigenschaften. Wie C++ ermöglicht C# das Überladen von Operatoren für von Ihnen erstellte Typen (Java unterstützt keine der beiden Funktionen). C# ist eigentlich eine Mischung aus verschiedenen Sprachen. Gleichzeitig ist C# syntaktisch nicht weniger (wenn nicht sogar sauberer) als Java, so einfach wie Visual Basic und verfügt fast über die gleiche Leistungsfähigkeit und Flexibilität wie C++.

Funktionen von C#:

Ein vollständiger und klar definierter Satz grundlegender Typen.
- Integrierte Unterstützung für die automatische Generierung von XML-Dokumentation. Automatische Freigabe von dynamisch zugewiesenem Speicher.
- Möglichkeit, Klassen und Methoden mit benutzerdefinierten Attributen zu kennzeichnen. Dies kann für die Dokumentation nützlich sein und sich auf den Kompilierungsprozess auswirken (Sie können beispielsweise Methoden markieren, die nur im Debug-Modus kompiliert werden sollen).
- Voller Zugriff auf die .NET-Basisklassenbibliothek sowie einfacher Zugriff auf die Windows-API (falls Sie diese wirklich benötigen).
- Zeiger und direkter Speicherzugriff, falls erforderlich. Allerdings ist die Sprache so konzipiert, dass man in fast allen Fällen darauf verzichten kann.
- Unterstützung für Eigenschaften und Ereignisse im VB-Stil.
- Einfach zu ändernde Kompilierungsschlüssel. Ermöglicht Ihnen, ausführbare Dateien oder Bibliotheken von .NET-Komponenten abzurufen, die von anderem Code auf die gleiche Weise wie ActiveX-Steuerelemente (COM-Komponenten) aufgerufen werden können.
- Fähigkeit, C# zum Schreiben dynamischer ASP.NET-Webseiten zu verwenden.

Ein Bereich, für den diese Sprache nicht gedacht ist, sind zeitkritische Programme mit hohem Durchsatz, bei denen es darauf ankommt, ob eine Schleife 1000 oder 1050 Maschinenzyklen zur Ausführung benötigt und Ressourcen sofort freigegeben werden müssen. C++ bleibt die beste Low-Level-Sprache in diesem Bereich. In C# fehlen einige wichtige Funktionen, die zum Erstellen leistungsstarker Anwendungen erforderlich sind, z. B. Inline-Funktionen und Destruktoren, deren Ausführung an bestimmten Stellen im Code garantiert ist. Diese Sprache wird auch aktiv zur Entwicklung moderner Videospiele verwendet, beispielsweise ist das Spiel Battlefield 3 teilweise in C# und vollständig in .NET-Technologie geschrieben

Besteht aus der Installation von Schlüsselschaltern auf der Vorderseite des Computergeräts. Offensichtlich konnten auf diese Weise nur kleine Programme geschrieben werden.

Mit der Entwicklung der Computertechnologie erschien die Maschinensprache, mit deren Hilfe der Programmierer Befehle festlegen konnte, indem er mit Speicherzellen arbeitete und dabei die Fähigkeiten der Maschine voll ausnutzte. Allerdings ist die Verwendung der meisten Computer auf der Ebene der Maschinensprache schwierig, insbesondere wenn es um die Ein-/Ausgabe geht. Daher mussten wir auf die Verwendung verzichten.

Um beispielsweise einen Datenblock von einer Diskette zu lesen, kann der Programmierer 16 verschiedene Befehle verwenden, von denen jeder 13 Parameter erfordert, wie z. B. die Blocknummer auf der Diskette, die Sektornummer auf der Spur usw. Wenn die Diskette Nach Abschluss des Vorgangs gibt der Controller 23 Werte zurück, die das Vorhandensein und die Art der Fehler widerspiegeln, die analysiert werden müssen.

„Wörter“ in der Maschinensprache werden aufgerufen Anweisungen, Jede davon stellt eine elementare Aktion für den Zentralprozessor dar, wie beispielsweise das Lesen von Informationen aus einer Speicherzelle.

Jedes Prozessormodell verfügt über einen eigenen Satz an Maschinenanweisungen, obwohl die meisten davon gleich sind. Wenn Prozessor A die Sprache von Prozessor B vollständig versteht, gilt Prozessor A als mit Prozessor B kompatibel. Prozessor B gilt als inkompatibel mit Prozessor A, wenn Prozessor A Anweisungen hat, die von Prozessor B nicht erkannt werden.

In den 60er Jahren stiegen die Anforderungen an die Softwareentwicklung und die Programme wurden sehr umfangreich. Den Menschen wurde klar, dass das Erstellen von Software eine viel schwierigere Aufgabe war, als sie es sich vorgestellt hatten. Dies führte zur Entwicklung der strukturierten Programmierung. Mit der Entwicklung der strukturierten Programmierung waren Prozeduren und Funktionen der nächste Fortschritt. Liegt beispielsweise eine Aufgabe vor, die mehrmals ausgeführt wird, dann kann diese als Funktion oder Prozedur deklariert und einfach während der Programmausführung aufgerufen werden. Der gesamte Programmcode wird in diesem Fall kleiner. Mithilfe von Funktionen können Sie modulare Programme erstellen.

Der nächste Fortschritt war die Verwendung von Strukturen, die zu Klassen führten. Strukturen sind zusammengesetzte Datentypen, die unter Verwendung anderer Typen erstellt wurden. Zum Beispiel die Struktur der Zeit. Es umfasst: Stunden, Minuten, Sekunden. Der Programmierer könnte eine Zeitstruktur erstellen und diese als separate Struktur verwenden. Eine Klasse ist eine Struktur, die über eigene Variablen und Funktionen verfügt, die mit diesen Variablen arbeiten. Dies war eine sehr große Leistung auf dem Gebiet der Programmierung. Jetzt könnte die Programmierung in Klassen unterteilt und nicht das gesamte Programm, bestehend aus 10.000 Codezeilen, getestet werden, sondern das Programm könnte in 100 Klassen unterteilt und jede Klasse getestet werden. Dies machte das Schreiben eines Softwareprodukts viel einfacher.

Assemblersprache

Wenn ein effektives Programm erforderlich ist, werden anstelle von Maschinensprachen maschinenorientierte Sprachen verwendet, die ihnen nahe stehen – Assembler. Menschen verwenden mnemonische Befehle anstelle von Maschinenbefehlen.

Aber auch die Arbeit mit Assembler ist recht kompliziert und erfordert eine spezielle Schulung.

Strukturierte Programmierung umfasst genau definierte Kontrollstrukturen, Programmblöcke, Anweisungen ohne unbedingten Sprung (GOTO), eigenständige Unterprogramme, Unterstützung für Rekursion und lokale Variablen.

Der Kern dieses Ansatzes besteht in der Möglichkeit, ein Programm in seine Bestandteile aufzuteilen.

Auch erstellt funktionell(anwendbare) Sprachen (Beispiel: Lisp – Englisch. LISt-Verarbeitung, 1958) und Rätsel Sprachen (Beispiel: Prolog – Englisch) Programmierung in LOGic, 1972).

Obwohl die strukturierte Programmierung hervorragende Ergebnisse liefert, scheitert sie auch dann, wenn das Programm eine bestimmte Länge erreicht. Um ein komplexeres (und längeres) Programm zu schreiben, war ein neuer Programmieransatz erforderlich.

OOP

Infolgedessen wurden Ende der 1970er und Anfang der 1980er Jahre die Prinzipien der objektorientierten Programmierung entwickelt. OOP kombiniert die besten Prinzipien der strukturierten Programmierung mit leistungsstarken neuen Konzepten. Die grundlegenden Konzepte heißen Kapselung, Polymorphismus und Vererbung.

Beispiele für objektorientierte Sprachen sind Object Pascal, C++, Java usw.

Mit OOP können Sie Programme optimal organisieren, indem Sie ein Problem in seine Bestandteile zerlegen und diese einzeln bearbeiten. Ein Programm in einer objektorientierten Sprache, das ein bestimmtes Problem löst, beschreibt im Wesentlichen einen Teil der Welt, der mit diesem Problem zusammenhängt.

Ein Beispiel für das Schreiben eines Programms in verschiedenen Sprachen

Hochsprache (Delphi)

X : = sin (y* Pi) + 1 ;

x86-Assembler (Coprozessor)

Fldpi fmul qword ptr [ Y] fsin fld1 fadd p st (1), st (0) fstp qword ptr [ X]

Maschinencode (hexadezimal, jeder Befehl beginnt in einer neuen Zeile)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

Maschinencode (binäre Darstellung)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

Links


Wikimedia-Stiftung. 2010.

  • Aye Aye
  • Kabanov, Nikolai Alexandrowitsch

Sehen Sie, was „Geschichte der Programmiersprachen“ in anderen Wörterbüchern ist:

    Geschichte der Programmiersprache Python- Python wurde in den 1980er Jahren konzipiert und seine Entwicklung begann im Dezember 1989 von Guido van Rossum als Teil des Zentrums für Mathematik und Informatik in den Niederlanden. Die Python-Sprache wurde als Nachkomme der ABC-Programmiersprache konzipiert und kann Folgendes verarbeiten: ... Wikipedia

    Chronologie der Programmiersprachen- Listen von Programmiersprachen nach Kategorie Chronologische genealogische Chronologie der Programmiersprachen Eine chronologisch geordnete Liste von Programmiersprachen. Inhalt... Wikipedia

    Vergleich von Programmiersprachen- Dieser Artikel sollte Wikiified sein. Bitte formatieren Sie es gemäß den Formatierungsregeln des Artikels. Konventionen... Wikipedia

    Eine kurze Geschichte der Entwicklung von Programmiersprachen- Mit der Entwicklung der Computertechnologie entstanden verschiedene Programmiertechniken. In jeder Phase wurde ein neuer Ansatz entwickelt, der Programmierern bei der zunehmenden Komplexität von Programmen hilft. Inhalt 1 Beginn der Entwicklung 2 Assemblersprache 3 Struktur ... Wikipedia

    Geschichte der Logik- untersucht die Entwicklung der Wissenschaft über die Formen und Gesetze des richtigen Denkens (Logik). Die Entstehung der Logik als entwickelte Analyse der Schlussfolgerungsprinzipien bezieht sich ausschließlich auf drei lokale Zivilisationen, nämlich: China, Indien und die antike ... ... Wikipedia

    Geschichte von Linux- Dieser Artikel oder Abschnitt muss überarbeitet werden. Bitte verbessern Sie den Artikel gemäß den Regeln zum Schreiben von Artikeln... Wikipedia

    Geschichte der freien Software- Der Begriff „Freie Software“ oder Freie Software bezieht sich auf Produkte, die unter liberalen Lizenzen vertrieben werden und dem Benutzer mehr Optionen bieten als herkömmliche Softwarelizenzen... ... Wikipedia

Es ist sehr wichtig, die allgemeine Geschichte der Programmiersprachen und die Entwicklungsgeschichte bekannter und unbekannter Sprachen zu kennen. In diesem Artikel werden Sie sich damit vertraut machen, aber erinnern wir uns zunächst an „Was ist eine Programmiersprache?“

Programmiersprache ist ein Notationssystem und Regeln, mit denen Sie ein Programm zur Lösung eines Problems in Form eines sequentiellen Textes in einer für eine Person geeigneten Form schreiben können.

50er Jahre

In den fünfziger Jahren des 20. Jahrhunderts begann mit dem Aufkommen der Röhrencomputer die rasante Entwicklung der Programmiersprachen. Die Programmierung begann mit dem Schreiben von Programmen direkt in Form von Maschinenanweisungen (in Codes, wie Programmierer sagen). Computer, die damals deutlich mehr kosteten als die Entwicklung eines beliebigen Programms, erforderten hocheffizienten Code.

Um das Codieren zu vereinfachen, wurde die maschinenorientierte Methode entwickelt, die es ermöglichte, Maschinenanweisungen in symbolischer Form zu schreiben. Die Assemblersprache hing vom Befehlssystem eines bestimmten Computers ab. Es war praktisch genug, um kleine Aufgaben zu programmieren, die eine maximale Ausführungsgeschwindigkeit erforderten.

Allerdings war es schwierig, große Projekte in Assembler zu entwickeln. Das Hauptproblem bestand darin, dass ein in Assembly geschriebenes Programm an die Architektur eines bestimmten Computers gebunden war und nicht auf andere Computer übertragen werden konnte. Als der Computer verbessert wurde, mussten alle Programme in Assembly neu geschrieben werden.

Fast unmittelbar mit dem Aufkommen von Computern wurden Hochsprachen entwickelt, d.h. Sprachen, die nicht von einer bestimmten Architektur abhängen. Um ein Programm in einer Hochsprache auszuführen, muss es zunächst in eine Maschinenbefehlssprache übersetzt werden. Ein spezielles Programm, das eine solche Übersetzung durchführt, wird Übersetzer oder Compiler genannt.

Das übersetzte Programm wird dann direkt vom Computer ausgeführt. Es besteht auch die Möglichkeit, das Programm in eine Zwischensprache zu übersetzen, die nicht von der Architektur eines bestimmten Computers abhängt, aber dennoch der Maschinenbefehlssprache möglichst nahe kommt.

Das Zwischensprachenprogramm wird dann von einem speziellen Programm namens Interpreter ausgeführt. Es ist auch möglich, im laufenden Betrieb zu kompilieren, indem das ausgeführte Programmfragment unmittelbar vor der Ausführung aus einer Zwischensprache in die Maschinenbefehlssprache übersetzt wird.

Mitte der 50er Jahre wurde unter der Leitung von John Backus die hochalgorithmische Programmiersprache FORTRAN für IBM entwickelt. Trotz der Tatsache, dass es bereits Entwicklungen bei Sprachen gab, die arithmetische Ausdrücke in Maschinencode umwandelten, wurde die Entwicklung der FORTRAN-Sprache (FORmula TRANslator) vorangetrieben, die die Möglichkeit bot, einen Berechnungsalgorithmus mithilfe von bedingten Anweisungen und Eingabe-/Ausgabeoperatoren zu schreiben der Beginn der Ära der höheren Programmiersprachen.

Als Alternative zur FORTRAN-Sprache, die ursprünglich auf die IBM-Architektur abzielte, wurde Ende der 50er Jahre unter der Leitung von Peter Naur ALGOL (ALGOrithmic Language) entwickelt. Das Hauptziel der Entwickler dieser Sprache war die Unabhängigkeit von der spezifischen Architektur des Computersystems.

Darüber hinaus wollten die Schöpfer der ALGOL-Sprache eine Sprache entwickeln, die sich zur Beschreibung von Algorithmen eignet und ein Notationssystem verwendet, das dem in der Mathematik verwendeten ähnlich ist. FORTRAN und ALGOL waren die ersten Sprachen, die sich auf Computerprogrammierung konzentrierten.

60er Jahre

In den späten 60er Jahren wurde unter der Leitung von Nayard und Dahl die Sprache Simula-67 entwickelt, die das Konzept benutzerdefinierter Datentypen nutzte. Tatsächlich ist es die erste Sprache, die das Konzept von Klassen verwendet.

70er Jahre

Mitte der 70er Jahre schlug Wirth die Pascal-Sprache vor, die sofort weit verbreitet war. Gleichzeitig begann auf Initiative des US-Verteidigungsministeriums die Arbeit an der Schaffung einer Hochsprache namens Ada – zu Ehren von Ada Lovelace, einer Programmiererin und Tochter von Lord Byron.

Die Entwicklung der Sprache begann mit der Definition von Anforderungen und der Entwicklung von Spezifikationen. An dem Projekt arbeiteten vier unabhängige Gruppen, die jedoch alle auf Pascal basierten. In den frühen 1980er Jahren wurde der erste industrielle Compiler für die Ada-Sprache entwickelt.

C-Entwicklung

Die universelle Programmiersprache wurde Mitte der 70er Jahre von Denis Ritchie und Ken Thompson entwickelt. Die Sprache wurde zu einer beliebten Systemprogrammiersprache und wurde einst zum Schreiben des Kernels des UNIX-Betriebssystems verwendet.

Der C-Sprachstandard wurde 1982 von einer ANSI-Arbeitsgruppe entwickelt. Der internationale Standard für die Sprache C wurde 1990 verabschiedet. Die Sprache C bildete die Grundlage für die Entwicklung von Programmiersprachen und Java.

Die Sprache C ermöglichte es, bei der Erstellung von Betriebssystemen tatsächlich auf Assembler zu verzichten. Beispielsweise sind fast alle Texte des Unix-Betriebssystems in C geschrieben und daher nicht von einem bestimmten Computer abhängig.

Der Hauptvorteil von C ist seine Einfachheit und das Fehlen pseudowissenschaftlicher Lösungen. Der Mechanismus zur Übergabe von Parametern an eine Funktion (nur nach Wert) wird einfach und klar beschrieben. Ein Programmierer, der ein C-Programm erstellt, versteht immer genau, wie dieses Programm ausgeführt wird.

Das Konzept eines Zeigers, statischer und automatischer (Stapel-)Variablen der C-Sprache spiegelt am ehesten die Struktur jedes modernen Computers wider, daher sind C-Programme effektiv und bequem zum Debuggen.

Derzeit ist die überwiegende Mehrheit der Programme in C und C++ geschrieben. Die Schnittstelle eines beliebigen Betriebssystems (die sogenannte API – Application Program Interface), d.h. Eine Reihe von Systemaufrufen, die für Anwendungsentwickler gedacht sind, besteht normalerweise aus einer Reihe von Funktionen in der Sprache C.

Neben algorithmischen Sprachen wurden parallel auch Sprachen zur Verarbeitung von Geschäftsinformationen sowie Sprachen für künstliche Intelligenz entwickelt. Die erste umfasst die Sprache COBOL (COMmon Business Oriented Language) und die zweite die Sprachen LISP (LISt Processing) und Prolog.

Die LISP-Sprache, die in den 60er Jahren unter der Leitung von J. McCarthy entwickelt wurde, war die erste Sprache zur Verarbeitung funktionaler Listen, die breite Anwendung in der Spieltheorie fand.

90er Jahre

In den 90er Jahren erweiterten sich mit der Verbreitung des Internets die Möglichkeiten der verteilten Datenverarbeitung, was sich auch auf die Entwicklung von Programmiersprachen auswirkte. Es sind Sprachen aufgetaucht, die sich auf die Erstellung von Serveranwendungen konzentrieren, wie Perl, Dokumentbeschreibungssprachen und XML.

Auch die traditionellen Programmiersprachen C++ und Pascal erfuhren Veränderungen: Eine Programmiersprache bedeutete nicht nur die Funktionalität der Sprache selbst, sondern auch die von der Programmierumgebung bereitgestellten Klassenbibliotheken.

Der Schwerpunkt wurde von der Spezifikation der Programmiersprachen selbst auf die Standardisierung der Mechanismen zur Interaktion verteilter Anwendungen verlagert. Es sind neue Technologien aufgetaucht – COM und CORBA, die die Interaktion verteilter Objekte spezifizieren.

Anwendungsgebiete von Programmiersprachen

Derzeit werden Programmiersprachen in den unterschiedlichsten Bereichen menschlicher Tätigkeit eingesetzt, wie zum Beispiel:

  • Wissenschaftliches Rechnen (Sprachen C++, FORTRAN, Java);
  • Systemprogrammierung (Sprachen C++, Java);
  • Informationsverarbeitung (Sprachen C++, COBOL, Java);
  • Künstliche Intelligenz (LISP, Prolog);
  • Veröffentlichungstätigkeiten (Postscript, TeX);
  • Ferninformationsverarbeitung (Perl, PHP, Java, C++);
  • Beschreibung von Dokumenten (HTML, XML).

Basierend auf der Geschichte der Programmiersprachen können wir sagen, dass sich einige Sprachen im Laufe der Zeit weiterentwickelt haben, neue Funktionen erhalten haben und weiterhin gefragt sind, während andere ihre Relevanz verloren haben und heute bestenfalls von rein theoretischem Interesse sind.



 

Es könnte nützlich sein zu lesen: