Computerwissenschaften

Programmiersprachenvergleich

Seit den 1950er Jahren haben Informatiker Tausende von Programmiersprachen entwickelt. Viele sind dunkel, vielleicht für einen Doktortitel geschaffen. These und seitdem noch nie 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. Einige sind Varianten bestehender Sprachen und fügen neue Funktionen wie Parallelität hinzu – die Möglichkeit, viele Teile eines Programms parallel auf verschiedenen Computern auszuführen.

Lesen Sie mehr über Was ist eine Programmiersprache?

 

Programmiersprachen vergleichen

Es gibt verschiedene Möglichkeiten, Computersprachen zu vergleichen. Der Einfachheit halber werden sie jedoch nach Kompilierungsmethode und Abstraktionsstufe verglichen.

 

Kompilieren mit Maschinencode

In einigen Sprachen müssen 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.

 

Interpretierte Sprachen

Andere Sprachen werden entweder wie Basic, Actionscript und Javascript interpretiert oder eine Mischung aus beiden wird zu einer Zwischensprache kompiliert – 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 zwischen 5 und 10 Mal langsamer ausgeführt wird als kompilierter Code. 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 als interpretiert ausgeführt werden, sind Sprachen wie C und C ++ beim 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, wenn nicht sogar schneller sind als kompiliertes C ++.

 

Grad der Abstraktion

Die andere Möglichkeit, Sprachen zu vergleichen, ist die Abstraktionsebene. Dies zeigt an, wie nah eine bestimmte Sprache an der Hardware ist. Maschinencode ist die niedrigste Ebene, direkt darüber befindet sich die Assemblersprache. C ++ ist höher als C, da C ++ eine größere Abstraktion bietet. Java und C # sind höher als C ++, da sie in eine Zwischensprache namens Bytecode kompiliert werden.

 

Wie Sprachen vergleichen

  • Fast Compiled Languages
  • Assemblersprache
  • C.
  • C ++
  • Pascal
  • C #
  • Java
  • Reasonably Fast Interpreted
  • Perl
  • PHP
  • Slow Interpreted
  • JavaScript
  • ActionScript
  • Basic

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  Interpreter  , die jede Zeile des Programmquellcodes liest und dann ausführt.

 

Dolmetschen ist einfacher

Es ist sehr einfach, Anwendungen, die in einer interpretierten Sprache geschrieben sind, anzuhalten, zu ändern und erneut auszuführen. Deshalb sind sie zum Erlernen der Programmierung beliebt. Es ist keine Kompilierungsphase erforderlich. Das Kompilieren kann sehr langsam sein. Das Kompilieren einer großen Visual C ++ – Anwendung kann Minuten bis Stunden dauern, abhängig davon, wie viel Code neu erstellt werden muss und wie schnell Speicher und CPU sind.

 

Als Computer zum ersten Mal auftauchten

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 die Schalter physisch umlegen, um Werte einzugeben. Dies ist eine so mühsame und langsame Art, eine Anwendung zu erstellen, dass übergeordnete Computersprachen erstellt werden mussten.

 

Assembler: Schnell zum Laufen – Langsam zum Schreiben!

Die Assemblersprache ist die lesbare Version des Maschinencodes und sieht folgendermaßen aus

Mov A,$45

Assemblersprache ist nicht sehr portabel und zeitaufwändig zu lernen und zu schreiben, da sie an eine bestimmte CPU oder eine Familie verwandter CPUs gebunden ist. Sprachen wie C haben den Bedarf an Assembler-Programmierung verringert, es sei denn, der Arbeitsspeicher ist begrenzt oder zeitkritischer Code wird benötigt. Dies befindet sich normalerweise im Kernel-Code im Herzen eines Betriebssystems oder in einem Grafikkartentreiber.

 

Assemblersprache ist die niedrigste Codeebene

Die Assemblersprache ist sehr niedrig. Der größte Teil des Codes verschiebt nur Werte zwischen den CPU-Registern und dem Speicher. Wenn Sie ein Lohn- und Gehaltsabrechnungspaket schreiben, das Sie in Bezug auf Gehälter und Steuerabzüge berücksichtigen möchten, registrieren Sie A nicht im 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) denken, nicht in Bezug auf die Hardwaredomäne (Register, Speicher und Anweisungen).

 

Systemprogrammierung mit C.

C wurde in den frühen 1970er Jahren von Dennis Ritchie entwickelt. Es kann als Allzweckwerkzeug betrachtet werden – sehr nützlich und leistungsstark, aber sehr einfach, Fehler durchzulassen, die Systeme unsicher machen können. C ist eine einfache Sprache und wurde als tragbare Assemblersprache beschrieben. Die Syntax vieler Skriptsprachen basiert auf C, z. B.  JavaScript. PHP und ActionScript.

 

Perl: Websites und Dienstprogramme

Perl war in der Linux-Welt sehr beliebt, war eine der ersten Web-Sprachen und ist bis heute sehr beliebt. Für „schnelles und schmutziges“ Programmieren im Web bleibt es konkurrenzlos und treibt viele Websites an. Es wurde jedoch von PHP als Web-Skriptsprache etwas in den Schatten gestellt  .

 

Codierung von Websites mit PHP

PHP  wurde als Sprache für Webserver entwickelt und ist in Verbindung mit Linux, Apache, MySql und kurz PHP oder LAMP sehr beliebt. Es wird interpretiert, aber vorkompiliert, damit der Code relativ schnell ausgeführt wird. Es kann auf Desktop-Computern ausgeführt werden, wird jedoch nicht so häufig für die Entwicklung von Desktop-Anwendungen verwendet. Basierend auf der C-Syntax enthält es auch  Objekte  und Klassen.

Pascal wurde einige Jahre vor C als Unterrichtssprache entwickelt, war jedoch aufgrund der schlechten Handhabung von Zeichenfolgen und Dateien sehr eingeschränkt. 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 Funktionen 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 ++: Eine noble Sprache!

C ++ – oder C plus-Klassen, wie sie ursprünglich genannt wurden, kamen ungefähr 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 der Programmiersprachen hier, aber sobald Sie es beherrschen, werden Sie keine Schwierigkeiten mit einer anderen Sprache haben.

 

C #: Microsofts große Wette

C # wurde von  Delphis Architekten Anders Hejlsberg nach seinem Wechsel zu Microsoft erstellt und Delphi-Entwickler werden sich mit Funktionen wie Windows Forms wie zu Hause fühlen.

Die C # -Syntax ist Java sehr ähnlich, was nicht verwunderlich ist, da Hejlsberg nach seinem Wechsel zu Microsoft auch an J ++ gearbeitet hat. Lernen Sie C # und Sie sind auf dem besten Weg, Java zu kennen. Beide Sprachen sind semi-kompiliert, sodass sie nicht zu Maschinencode kompiliert, sondern zu Bytecode kompiliert werden (C # wird zu CIL kompiliert, aber es und Bytecode sind ähnlich) und dann interpretiert.

 

Javascript: Programme in Ihrem Browser

Javascript  ist nichts anderes als Java, sondern eine Skriptsprache, die auf der C-Syntax basiert, jedoch  Objekte hinzufügt  und hauptsächlich in Browsern verwendet wird. JavaScript wird interpretiert und ist viel langsamer als  kompilierter  Code, funktioniert aber gut in einem Browser.

Von Netscape erfunden, hat es sich als sehr erfolgreich erwiesen und genießt nach einigen Jahren in der Flaute aufgrund von AJAX ein neues Leben  . Asynchrones Javascript und XML . Auf diese Weise können Teile von Webseiten vom Server aktualisiert werden, ohne dass die gesamte Seite neu gezeichnet werden muss.

 

ActionScript: Eine auffällige Sprache!

ActionScript  ist eine Implementierung von JavaScript, existiert jedoch ausschließlich in Macromedia Flash-Anwendungen. Vektorbasierte Grafiken werden hauptsächlich für Spiele, das Abspielen von Videos und anderen visuellen Effekten sowie für die Entwicklung anspruchsvoller Benutzeroberflächen verwendet, die alle im Browser ausgeführt werden.

 

Grundlegend für Anfänger

Basic  ist eine Abkürzung für Symbolic Instruction Code für Anfänger 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 erzeugt denselben CIL-Bytecode.

Lua ist eine kostenlose Skriptsprache in C, die Garbage Collection und Coroutinen 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.

 

Fazit

Während jeder seine Lieblingssprache hat und Zeit und Ressourcen in das Erlernen der Programmierung 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 es sich um C, C ++ oder C # handelt, zumindest wissen Sie, dass Sie am richtigen Ort sind, um sie zu lernen.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.