Seit den 1950er Jahren haben Informatiker Tausende von Programmiersprachen erfunden. Viele sind dunkel, vielleicht für einen Ph.D. These und noch nie davon gehört. Andere wurden für eine Weile populär und verblassten dann aufgrund mangelnder Unterstützung oder weil sie auf ein bestimmtes Computersystem beschränkt waren. Bei einigen handelt es sich um Varianten bestehender Sprachen, die neue Funktionen wie Parallelität hinzufügen - die Möglichkeit, viele Teile eines Programms auf verschiedenen Computern gleichzeitig auszuführen.
Weiterlesen über Was ist eine Programmiersprache??
Es gibt verschiedene Möglichkeiten, Computersprachen zu vergleichen. Der Einfachheit halber werden sie jedoch nach Kompilierungsmethode und Abstraktionsstufe verglichen.
Einige Sprachen erfordern, dass Programme direkt in Maschinencode umgewandelt werden - die Anweisungen, die eine CPU direkt versteht. Dieser Transformationsprozess wird als Kompilierung bezeichnet. Assemblersprache, C, C ++ und Pascal sind kompilierte Sprachen.
Andere Sprachen sind entweder interpretiert wie Basic, Actionscript und Javascript oder eine Mischung aus beidem, die zu einer Zwischensprache kompiliert wird - dazu gehören Java und C #..
Eine interpretierte Sprache wird zur Laufzeit verarbeitet. Jede Zeile wird gelesen, analysiert und ausgeführt. Die Notwendigkeit, eine Zeile jedes Mal in einer Schleife erneut zu verarbeiten, macht interpretierte Sprachen so langsam. Dieser Overhead bedeutet, dass interpretierter Code 5- bis 10-mal langsamer als kompilierter Code ausgeführt wird. Die interpretierten Sprachen wie Basic oder JavaScript sind die langsamsten. Ihr Vorteil ist, dass sie nach Änderungen nicht neu kompiliert werden müssen. Dies ist praktisch, wenn Sie das Programmieren lernen.
Da kompilierte Programme fast immer schneller ausgeführt werden als interpretiert, sind Sprachen wie C und C ++ für das Schreiben von Spielen am beliebtesten. Java und C # kompilieren beide zu einer interpretierten Sprache, die sehr effizient ist. Da die virtuelle Maschine, die Java interpretiert, und das .NET-Framework, auf dem C # ausgeführt wird, stark optimiert sind, wird behauptet, dass Anwendungen in diesen Sprachen genauso schnell sind, wenn nicht sogar schneller als kompiliertes C++.
Die andere Art, Sprachen zu vergleichen, ist die Abstraktionsebene. Dies zeigt an, wie nah eine bestimmte Sprache an der Hardware ist. Maschinencode ist die unterste Ebene mit der Assemblersprache direkt darüber. C ++ ist höher als C, weil C ++ eine größere Abstraktion bietet. Java und C # sind höher als C ++, da sie in eine Zwischensprache namens Bytecode kompiliert werden.
Schnell kompilierte Sprachen
Ziemlich schnell interpretiert
Langsam interpretiert
Maschinencode ist die Anweisung, die eine CPU ausführt. Dies ist das einzige, was eine CPU verstehen und ausführen kann. Interpretierte Sprachen benötigen eine Anwendung namens Dolmetscher Das liest jede Zeile des Programm-Quellcodes und 'führt' ihn dann aus.
Es ist sehr einfach, Anwendungen zu stoppen, zu ändern und erneut auszuführen, die in einer interpretierten Sprache geschrieben sind, und deshalb sind sie für das Erlernen der Programmierung beliebt. Es ist keine Kompilierungsphase erforderlich. Das Kompilieren kann sehr langsam sein. Das Kompilieren einer großen Visual C ++ - Anwendung kann von Minuten bis zu Stunden dauern, je nachdem, wie viel Code neu erstellt werden muss und wie schnell Arbeitsspeicher und CPU sind.
Als Computer in den 1950er Jahren zum ersten Mal populär wurden, wurden Programme in Maschinencode geschrieben, da es keinen anderen Weg gab. Programmierer mussten physisch Schalter umlegen, um Werte einzugeben. Dies ist ein so mühsamer und langsamer Weg, eine Anwendung zu erstellen, dass Computersprachen höherer Ebenen erstellt werden mussten.
Die Assemblersprache ist die lesbare Version des Maschinencodes und sieht folgendermaßen aus
Bewegung A, 45 $
Da die Assembler-Sprache an eine bestimmte CPU oder eine Familie verwandter CPUs gebunden ist, ist sie nicht sehr portabel und erfordert viel Zeit zum Lernen und Schreiben. Sprachen wie C haben den Bedarf an Assembler-Programmierung verringert, es sei denn, der Arbeitsspeicher ist begrenzt oder zeitkritischer Code ist erforderlich. Dies befindet sich normalerweise im Kernel-Code im Herzen eines Betriebssystems oder in einem Grafikkartentreiber.
Die Assemblersprache ist sehr niedrig. Der Großteil des Codes verschiebt nur Werte zwischen den CPU-Registern und dem Speicher. Wenn Sie ein Gehaltspaket schreiben, das Sie in Bezug auf Gehälter und Steuerabzüge berücksichtigen möchten, registrieren Sie A nicht in Speicherort XYZ. Aus diesem Grund sind höhere Sprachen wie C ++, C # oder Java produktiver. Der Programmierer kann in Bezug auf die Problemdomäne (Gehälter, Abzüge und Rückstellungen) und nicht auf die Hardwaredomäne (Register, Speicher und Anweisungen) denken..
C wurde in den frühen 1970er Jahren von Dennis Ritchie erfunden. Es kann als Allzweck-Tool betrachtet werden - sehr nützlich und leistungsstark, aber es ist sehr einfach, Fehler durchzulassen, die Systeme unsicher machen können. C ist eine einfache Sprache und wurde als portable Assemblersprache bezeichnet. Die Syntax vieler Skriptsprachen basiert auf C, z. B. JavaScript, PHP und ActionScript.
In der Linux-Welt sehr beliebt, war Perl eine der ersten Web-Sprachen und ist bis heute sehr beliebt. Für das "schnelle und schmutzige" Programmieren im Web bleibt es unerreicht und treibt viele Websites an. Es wurde jedoch von PHP als Web-Skriptsprache etwas in den Schatten gestellt.
PHP wurde als Sprache für Webserver entwickelt und ist sehr beliebt in Verbindung mit Linux, Apache, MySql und PHP oder kurz LAMP. Es wird interpretiert, aber vorkompiliert, damit der Code relativ schnell ausgeführt wird. Es kann auf Desktop-Computern ausgeführt werden, ist jedoch für die Entwicklung von Desktop-Anwendungen weniger verbreitet. Basierend auf der C-Syntax enthält es auch Objekte und Klassen.
Pascal wurde ein paar Jahre vor C als Unterrichtssprache entwickelt, war jedoch sehr eingeschränkt, da die Handhabung von Zeichenfolgen und Dateien unzureichend war. Mehrere Hersteller erweiterten die Sprache, aber es gab keinen Gesamtführer, bis Borlands Turbo Pascal (für Dos) und Delphi (für Windows) erschienen. Dies waren leistungsstarke Implementierungen, die genügend Funktionalität hinzufügten, um sie für die kommerzielle Entwicklung geeignet zu machen. Borland hatte es jedoch mit dem viel größeren Microsoft zu tun und verlor den Kampf.
C ++ - oder C plus -Klassen, wie sie ursprünglich genannt wurden, kamen etwa zehn Jahre nach C und führten die objektorientierte Programmierung sowie Funktionen wie Ausnahmen und Vorlagen erfolgreich in C ein. Das Erlernen von C ++ ist eine große Aufgabe - es ist bei weitem die komplizierteste Programmiersprache, aber wenn Sie es erst einmal beherrschen, werden Sie mit keiner anderen Sprache Schwierigkeiten haben.
C # wurde von Delphis Architekten Anders Hejlsberg erstellt, nachdem er zu Microsoft gewechselt war, und Delphi-Entwickler werden sich mit Features wie Windows Forms wie zu Hause fühlen.
Die C # -Syntax ist Java sehr ähnlich, was nicht verwunderlich ist, da Hejlsberg auch an J ++ gearbeitet hat, nachdem er zu Microsoft gewechselt war. Wenn Sie C # lernen, sind Sie auf dem besten Weg, Java zu kennen. Beide Sprachen werden teilweise kompiliert, sodass sie nicht zu Maschinencode, sondern zu Bytecode kompiliert werden (C # wird zu CIL kompiliert, aber es und Bytecode sind ähnlich) und dann interpretiert werden.
Javascript ist nichts wie Java, sondern eine Skriptsprache, die auf der C-Syntax basiert, aber zusätzlich Objekte enthält und hauptsächlich in Browsern verwendet wird. JavaScript wird interpretiert und ist viel langsamer als kompilierter Code, funktioniert aber gut in einem Browser.
Erfunden von Netscape hat es sich als sehr erfolgreich erwiesen und erfreut sich nach einigen Jahren in der Flaute einer neuen Lebensfreude durch AJAX; Asynchrones Javascript und XML. Dadurch können Teile von Webseiten vom Server aktualisiert werden, ohne dass die gesamte Seite neu gezeichnet werden muss.
ActionScript ist eine Implementierung von JavaScript, die jedoch ausschließlich in Macromedia Flash-Anwendungen vorhanden ist. Mithilfe von vektorbasierten Grafiken werden hauptsächlich Spiele, Videos und andere visuelle Effekte sowie anspruchsvolle Benutzeroberflächen entwickelt, die alle im Browser ausgeführt werden.
Basic ist eine Abkürzung für Beginners All-Purpose Symbolic Instruction Code und wurde in den 1960er Jahren für den Programmierunterricht entwickelt. Microsoft hat die Sprache mit vielen verschiedenen Versionen, einschließlich VBScript für Websites und dem sehr erfolgreichen Visual Basic, zu einer eigenen Sprache gemacht. Die neueste Version davon ist VB.NET und läuft auf derselben Plattform .NET wie C # und produziert denselben CIL-Bytecode.
Lua ist eine kostenlose Skriptsprache in C, die Garbage Collection und Coroutines enthält. Es lässt sich gut mit C / C ++ verbinden und wird in der Spielebranche (und auch außerhalb von Spielen) verwendet, um Spielelogik, Ereignisauslöser und Spielsteuerung zu skripten.
Während jeder seine Lieblingssprache hat und Zeit und Ressourcen in das Programmieren investiert hat, gibt es einige Probleme, die am besten mit der richtigen Sprache gelöst werden können.
ZB würden Sie C nicht zum Schreiben von Web-Apps verwenden, und Sie würden kein Betriebssystem in Javascript schreiben. Aber egal für welche Sprache Sie sich entscheiden, ob C, C ++ oder C #, Sie wissen zumindest, dass Sie am richtigen Ort sind, um sie zu lernen.