High-Level vs. Low-Level-Programmiersprachen: Was sollten Sie lernen?

Was genau sind Programmiersprachen auf hoher und niedriger Ebene? Und was bedeutet es zu lernen, Code zu schreiben? Beginnen wir mit den Definitionen von jedem und gehen von dort aus.

Was genau sind Programmiersprachen auf hoher und niedriger Ebene?  Und was bedeutet es zu lernen, Code zu schreiben?  Beginnen wir mit den Definitionen von jedem und gehen von dort aus.
Werbung

Wenn Sie herausfinden wollen, welche Programmiersprache Sie lernen sollen 6 Einfachste Programmiersprachen für Anfänger 6 Einfachste Programmiersprachen für Anfänger Die Programmierung zu lernen bedeutet, die richtige Sprache genauso zu finden wie den Erbauprozess. Hier sind die besten sechs Programmiersprachen für Anfänger. Read More, Sie werden wahrscheinlich auf die Begriffe "High-Level" und "Low-Level" stoßen. Die Leute sprechen ständig über High-Level- und Low-Level-Programmiersprachen.

Aber was genau bedeutet das? Und was bedeutet es zu lernen, Code zu schreiben? Beginnen wir mit den Definitionen von jedem und gehen von dort aus.

"Höhere" und "Untere" Programmiersprachen

In diesem Artikel werde ich über "High" - und "Low-Level" -Sprachen sprechen. Aber für beides gibt es keine spezifischen Kriterien . Deshalb werde ich auch über "höhere" und "niedrigere" Ebenen sprechen.

Denken Sie daran, dass es weitgehend von Ihrer Perspektive abhängt. Wenn Sie ein C-Programmierer sind, scheint Java ziemlich hoch zu sein. Wenn Sie an Ruby gewöhnt sind, könnte Java wie eine Low-Level-Sprache erscheinen.

Maschinencode und Low-Level-Sprachen

Ob eine Sprache als High-Level oder Low-Level (oder irgendwo in der Mitte) betrachtet wird, dreht sich alles um Abstraktion. Maschinencode hat keine Abstraktion - er enthält die einzelnen Anweisungen, die an einen Computer übergeben werden. Und da Maschinen nur Zahlen verarbeiten, werden sie in Binärform dargestellt (obwohl sie manchmal in dezimaler oder hexadezimaler Schreibweise geschrieben sind).

Hier ist ein Beispiel für Maschinencode (über Wikipedia):

8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD989 C14AEBF1 5BC3 

Im Maschinencode müssen Operationen genau spezifiziert werden. Wenn zum Beispiel eine Information aus dem Speicher abgerufen werden muss, muss der Maschinencode dem Computer mitteilen, wo er sich im Speicher befindet.

Das Schreiben direkt im Maschinencode ist möglich, aber sehr schwierig.

Low-Level-Programmiersprachen fügen dem Maschinencode etwas Abstraktion hinzu . Diese Abstraktion versteckt spezifische Maschinencodeanweisungen hinter Deklarationen, die für Menschen lesbarer sind. Assemblersprachen sind neben dem Maschinencode die Sprachen der untersten Ebene.

In Maschinencode könnten Sie etwas wie "10110000 01100001" schreiben - aber eine Assemblersprache könnte das auf " MOV AL, 61h " vereinfachen. Es besteht immer noch eine fast eins-zu-eins-Entsprechung zwischen dem, was in der Assemblersprache geschrieben wurde, und den Anweisungen, die an die Maschine weitergegeben wurden.

Binärcode
Bildquelle: extradeda / Depositphotos

Wenn Sie in populärere Programmiersprachen einsteigen, kommen Sie zu etwas wie C Eigenschaften von C-Programmierung, die es einzigartig (und besser) machen Eigenschaften von C-Programmierung, die es einzigartig (und besser) machen Die Programmiersprache C ist die Mutter aller modernen Programmiersprachen Sprachen. Fast jede heute gebräuchliche Sprache enthält mehrere Funktionen, die zuerst in der Sprache C erschienen sind. Weiterlesen . Obwohl es nicht so niedrig ist wie eine Assemblersprache, gibt es immer noch eine starke Übereinstimmung zwischen dem, was in C geschrieben ist, und dem Maschinencode. Die meisten in C geschriebenen Operationen können mit einer kleinen Anzahl von Maschinencodeanweisungen abgeschlossen werden.

High-Level-Programmiersprachen

Genau wie die untergeordneten Sprachen decken höhere Ebenen ein breites Abstraktionsspektrum ab. Einige, wie Java (das man argumentieren könnte, ist eigentlich eine Mid-Level- Programmiersprache), geben Ihnen immer noch eine Menge Kontrolle darüber, wie der Computer Speicher und Daten verwaltet .

Andere, wie Ruby und Python, sind sehr abstrakt. Sie geben Ihnen weniger Zugriff auf diese Funktionen auf niedrigerer Ebene, aber die Syntax ist viel einfacher zu lesen und zu schreiben. Sie können Dinge in Klassen zusammenfassen, die Merkmale erben, so dass Sie sie nur einmal deklarieren müssen.

JavaScript-Code
Bildquelle: micrologia / Depositphotos

Variablen, Objekte, Routinen und Schleifen sind wichtige Bestandteile von Hochsprachen. Diese und andere Konzepte helfen Ihnen, der Maschine zu sagen, dass sie viele Dinge mit kurzen, prägnanten Aussagen machen soll.

Wenn eine Assemblersprache eine fast eins-zu-eins-Entsprechung zwischen ihren Befehlen und Maschinencode-Befehlen hat, kann eine höhere Sprache Dutzende von Befehlen mit einer einzelnen Codezeile senden.

Es ist wichtig zu beachten, dass "High-Level-Programmiersprachen" alles enthalten können, was abstrahierter ist als eine Assemblersprache. Es kommt darauf an, wer das Thema diskutiert. Wenn Sie also über Sprachen sprechen oder lesen, stellen Sie sicher, dass Sie sich auf derselben Seite befinden.

Sollten Sie eine Low- oder High-Level-Sprache lernen?

Dies ist sicherlich eine häufige Frage unter neuen und aufstrebenden Programmierern. Sind High- oder Low-Level-Programmiersprachen besser? Wie bei vielen Programmierfragen ist die Frage "High-Level vs. Low-Level-Programmiersprachen" nicht so einfach.

Beide Arten von Sprachen haben wichtige Vorteile . Low-Level-Sprachen, weil sie wenig Interpretation durch den Computer benötigen, laufen in der Regel sehr schnell Warum sind einige Programmiersprachen schneller als andere? Warum sind einige Programmiersprachen schneller als andere? Es gibt zahlreiche Programmiersprachen da draußen. Sie alle haben individuelle Macken, die für verschiedene Dinge verwendet werden. Aber was macht eine Programmiersprache schneller als eine andere? Weiterlesen . Und sie geben Programmierern viel Kontrolle über Datenspeicherung, Speicher und Abruf.

Hochsprachen sind jedoch intuitiv leichter zu verstehen und Programmierer können Code viel effizienter schreiben. Diese Sprachen werden auch als "sicherer" angesehen, da es mehr Schutzmaßnahmen gibt, die verhindern, dass Programmierer schlecht geschriebene Befehle ausgeben, die Schaden anrichten könnten. Aber sie geben Programmierern nicht so viel Kontrolle über Low-Level-Prozesse.

Vor diesem Hintergrund finden Sie hier eine Auswahl beliebter Sprachen auf einer Skala von niedrig bis hoch:

  • C
  • C ++
  • Java
  • C #
  • Perl
  • Lispeln
  • JavaScript
  • Python
  • Rubin
  • SQL

Natürlich ist das teilweise subjektiv. Und es enthält nur einen kleinen Querschnitt der verfügbaren Sprachen.

Aber es sollte Ihnen eine Vorstellung davon geben, wo die Sprachen, die Sie interessieren, auf die Skala fallen.

Was möchten Sie tun?

Wenn Sie entscheiden, was Sie lernen möchten, sollte Ihre erste Frage sein, was Sie programmieren möchten .

Wenn Sie Betriebssysteme, Kernel oder alles, was mit der höchstmöglichen Geschwindigkeit ausgeführt werden soll, schreiben möchten, ist eine untergeordnete Sprache eine gute Wahl. Viele von Windows, OS X und Linux sind in C und C-abgeleiteten Sprachen wie C ++ und Objective-C geschrieben.

Viele moderne Apps sind in höheren oder sogar domänenspezifischen Sprachen geschrieben. Python und Ruby sind besonders beliebt für Web-Apps. Wie wählt man die richtige Web-Programmiersprache? Wie wählt man die richtige Web-Programmiersprache? Warum sollten bestimmte Sprachen in einem bestimmten Szenario gegenüber anderen gewählt werden? Dieser Artikel enthält eine Checkliste mit Fragen, die der Programmierer stellen sollte, um die zu verwendende Sprache auszuwählen. Lesen Sie mehr, obwohl HTML5 immer leistungsfähiger wird. Sprachen wie Swift, C #, JavaScript und SQL haben ihre eigenen Stärken und Schwächen.

Überlegen Sie beide zu lernen

Ich habe kürzlich einen Thread über diese Frage in einem Programmierforum gelesen und bin auf einen interessanten Vorschlag gestoßen: Lerne beides auf einmal . Sie erhalten ein tieferes Verständnis für die Arten von Abstraktionen, die die höhere Sprache effizienter machen.

Natürlich ist es nicht leicht, zwei Sprachen gleichzeitig zu lernen. 7 Nützliche Tricks zum Beherrschen einer neuen Programmiersprache 7 Nützliche Tricks zum Beherrschen einer neuen Programmiersprache Es ist in Ordnung, wenn Sie lernen, zu programmieren, überwältigt zu werden. Sie werden die Dinge wahrscheinlich so schnell vergessen, wie Sie sie lernen. Diese Tipps können Ihnen helfen, diese neuen Informationen besser zu speichern. Lesen Sie mehr, damit Sie sie vielleicht etwas schwanken können. Auch die Auswahl von zwei ähnlichen Sprachen kann hilfreich sein.

Noch einmal, wir gehen zurück zu dem Punkt, den ich zuvor angesprochen habe: Wähle eine Sprache basierend auf dem, was du bauen willst . Recherchieren Sie, welche Sprachen Menschen in Ihrem Bereich verwenden. Verwenden Sie dann diese Informationen, um eine Hoch- und eine Niedrigsprache auszuwählen, und beginnen Sie, sie zu studieren.

Sie werden bald die Parallelen sehen und Sie werden ein viel tieferes Verständnis davon bekommen, wie Programmieren funktioniert.

Fokus auf Ziele, nicht auf Mittel

Es gibt viele Kriterien, die Sie verwenden können, um eine Programmiersprache zu wählen. High-vs. Low-Level ist einer von ihnen. Aber in fast allen Fällen sollten Sie die Kriterien verwenden, die Sie programmieren möchten .

Ihr Projekt könnte von einer Sprache auf niedrigerer Ebene profitieren. Oder es könnte in einem höheren Level viel effizienter sein. Der Schlüssel ist, das richtige Werkzeug für den Job zu wählen. Konzentriere dich auf dein Ziel und du wirst jedes Mal die richtige Sprache wählen.

Haben Sie Erfahrung mit Hoch- und Niedrigsprachen? Bevorzugen Sie eine über die andere? Teilen Sie Ihre Gedanken in den Kommentaren unten!

In this article