Hochsprachen vs Niedrigsprachen (Infografiken) - eduCBA

Inhaltsverzeichnis:

Anonim

Bildquelle: pixabay.com

Ich habe diesen Blog geschrieben, da Leute, die dies lesen werden, absolute Anfänger sind. Menschen mit so einem Hintergrund, ich meine, die nicht gerade über einen technischen Hintergrund verfügen, fällt es schwer, Programmieren zu lernen, wenn niemand da ist, der sie anleitet. Deshalb habe ich diesen Blog mit freundlicher Genehmigung von ihnen geschrieben. Wenn wir also von Sprachen sprechen, was sind dann genau Hochsprache und Niedrigsprache? Warum heißen sie überhaupt so? Und wie sehr unterscheiden sie sich voneinander?

Unnötig zu erwähnen, dass ich alle in diesem Blog behandelt habe.

High Level vs Low Level Sprachen Infografiken

Was sind Hochsprachen?

Sie müssen etwas sein Was ist Hochsprache? Aber sag mir, sie sind leichter zu verstehen und benutzerfreundlich. Mit Hilfe dieser Sprachen kann man Anwendungen schreiben, die auf verschiedenen Plattformen (wie Linux oder Windows) portierbar sind und von jeglicher Architektur (wie Nicht-Intel-ARM oder dem berüchtigten Intel) unabhängig sind. Beispiel: Schreiben Sie ein Programm in Python, das standardmäßig auf jedem Linux-System funktioniert, kompilieren Sie es dann einfach mit py2exe in eine beliebige Exe und führen Sie es dann unter Windows aus.

Ähnliche Beispiele sind Python, C, Fortran oder Pascal. Solche Sprachen gelten als Hochsprache, da sie näher an den menschlichen Sprachen und viel weiter von den Maschinensprachen entfernt sind. Wenn ich menschliche Sprache sage, meine ich nicht das, was wir in unserem täglichen Leben sprechen. Dies bedeutet, dass wir den Code verstehen können, wenn wir einige Grundlagen der Programmierung kennen. Der geschriebene Code ist für Menschen fast lesbar und kann gelesen und ausgesprochen werden.

Es folgen einige Beispiele für Maschinensprachen zum Ausdrucken eines einfachen Programms auf dem Bildschirm in Fortran und C.

In Fortran:

program NewProgramF90

write(*, *) "This is a printed program"

end program NewProgramF90

Jetzt können Sie es kompilieren mit:

gfortran newprogram.f90 -o newprogram -f90-gcc

Und dann einfach ausführen.

Ähnliches Programm in C:

#include

main()

(

printf("This is a printed program");

)

Für Anfänger ist dies die einfachste Möglichkeit.

Da es sich jedoch um Computer handelt, ist dies für einen Computer schwer zu verstehen. Damit dies für Computer sinnvoll ist und ein Programm ausgeführt werden kann, das mit einer höheren Sprache erstellt wurde, muss es in Maschinensprache kompiliert werden.

Bildquelle: github.com

Und hier kommt die einfache Sprache dazwischen. Im Gegensatz zu früher, wo es nur wenige Hochsprachen gab, gibt es heute n Hochsprachen wie C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC und Visual Basic .

Was sind Low-Level-Sprachen?

Low-Level-Sprachen Sprachen, die der Maschinensprache sehr nahe kommen. Sie werden auch als Assemblersprachen bezeichnet. Die Sprachen, die nach der Assemblierung der Maschinensprache am nächsten kommen, sind C und C ++. Einige Leute nennen C und C ++ sogar einfache Sprachen. Maschinencode wird als Low-Level-Code bezeichnet, da er im Gegensatz zu High-Level-Programmiersprachen keine Compiler oder ähnliches benötigt. Es läuft direkt auf dem Prozessor und sie sind extrem architekturspezifisch.

Low-Level-Sprachen eignen sich eher zum Entwickeln neuer Betriebssysteme oder zum Schreiben von Firmware-Codes für Mikrocontroller. Sie können alles mit ein bisschen harter Arbeit machen (eigentlich viel harte Arbeit, um genau zu sein), aber offensichtlich werden Sie keine große Anwendung darin schreiben wollen. Ähnlich verhält es sich mit C (eigentlich Cee genannt). C ist eigentlich eine sehr umfangreiche Sprache. Sie können sich direkt registrieren und sofort auf verschiedene Speicherorte zugreifen.

Gleichzeitig verfügt es aber auch über eine Vielzahl von Konstrukten, mit denen die Hardware Abstraktionen laden kann. Offen gesagt stehen C und C ++ für eine Vielzahl von Sprachen, da die meisten Sprachen ihre Bibliotheken von ihnen übernommen haben. In der Praxis sind sowohl C als auch C ++ Low-Level, wie ich bereits sagte, da das Schreiben von Anwendungen auf Unternehmensebene ziemlich schwierig ist. Theoretisch handelt es sich jedoch bei beiden um Hochsprachen.

Empfohlene Kurse

  • Professioneller IT-Sicherheitskurs
  • Ruby on Rails Schulungspaket
  • Professioneller CSS-Kurs
  • Online HTML5 und CSS3 Kurs

Merkmale von Hochsprachen und Niedersprachen:

Nun, die Sache ist, dass ich von Zeit zu Zeit in verschiedenen Interviews und an anderen Orten gefragt wurde, die mir am besten gefallen. Es scheint mir, dass es nicht das Beste gibt. Die Antwort ist, dass beide ihre eigene Spezialität haben und man nicht die eine durch die andere ersetzen kann. Daher mag ich eigentlich beide.

Low-Level-Programmierung ist eine Herausforderung und erfordert viel Erfahrung und Wissen. In den Funktionen von Hochsprachen finden alle kreativen Dinge statt, dh Anwendungen, die Menschen in ihrem täglichen Leben verwenden, und sie können auf viel einfachere Weise als auf niedriger Ebene debuggt werden. Und hier können Sie mit extrem neuen Technologien arbeiten, da viele dieser Sprachen aufgrund der Unterstützung durch die Community ständig aktualisiert werden.

Wenn Sie diese Frage an hochrangige Sprachcodierer stellen, um zu erfahren, was sie möchten, ist die Antwort, die Sie erhalten, alles andere als die, die Sie benötigen. Sie werden dir nicht sagen, was besser ist.

Sie werden wahrscheinlich sagen, dass sie sich mehr für eine bestimmte Hochsprache interessieren und nicht für alle. Ich weiß nicht, dass das passiert. Die bekanntesten Beispiele sind Python und Ruby, und wenn Sie ihnen einige in Assembly geschriebene Programme zeigen, werden Sie wahrscheinlich auf Hasta-la-Vista gehen.

Bildquelle: mathworks.com

Was an vielen Hochsprachen wirklich großartig ist, ist, dass sie in eine hybride Kategorie fallen. Zum Beispiel ist Python extrem objektorientiert, unterstützt aber gleichzeitig auch Closures und erstklassige Funktionen. Es ist zwar nicht so mächtig wie Scala, aber es kann mehr oder weniger als das einer reinen Sprache darstellen.

High-Level-Sprachen sind im Vergleich zu Low-Level-Sprachen normalerweise langsam. Dies liegt daran, dass Hochsprachen viele Abstraktionen und Codeschichten aufweisen, bevor sie die Hardware selbst erreichen. Da Maschinencode näher ist, kann er die Ausgabe tatsächlich schnell verarbeiten und zurückgeben. Ein Teil des Codes in Python wird höchstwahrscheinlich in Tausende von Zeilen von Maschinenwörtern übersetzt.

High-Level-Sprachen sind natürlich dort auf dem gleichen Niveau, wo keine Raw-Performance erforderlich ist, da Sie in Low-Level-Anwendungen nicht so stabile und große Anwendungen entwickeln können wie in High-Level-Anwendungen. Dies ist eine Sache, an die man sich erinnern sollte.

C Programmierung - Die Verwirrung auf niedriger / hoher Ebene

Obwohl C viele Eigenschaften hat, die denen von Pascal Language ähneln, wird es manchmal immer noch als niedrige Sprache betrachtet, da es Operationen von Bits, Zeigern und direkten Speicherzugriffen unterstützt. C ist eigentlich eine Hochsprache mit den inklusiven Merkmalen eines niedrigen Niveaus. Dies ist der Hauptgrund, warum sich Programmierer wegen ihrer unschlagbaren Eigenschaften auf C verlassen.

Es mag seltsam erscheinen, dass C, obwohl es als einfache Sprache behandelt wird, extrem portabel ist. Fanatisch gesehen wird C tatsächlich erweitert, um Hardware so weit wie möglich an ihre Grenzen zu bringen.

Assemblersprache hingegen ist kaum portabel. Der Versuch, Portabilität zu erreichen, ist jedoch bei niedrigen Levels eine große Sache, insbesondere bei Java, das auf einer JVM, dh einer virtuellen Maschine, ausgeführt wird. C oder Assembly, die in einer VM ausgeführt werden, haben niemals reinen Zugriff auf die Hardware.

Genauer gesagt, eine Sprache wird zu einem niedrigen Level, wenn sie speziell so strukturiert ist, dass sie direkt auf der Hardware ausgeführt werden kann. Niedrigstufige Sprachen haben eine sehr viel geringere Syntax als Hochstufige Sprachen mit vielen Codes.

Sprachen mit niedrigem Sprachniveau, die den vollständigen Zugriff auf die Hardware ermöglichen, sind für das Schreiben von Projekten eigentlich keine gute Wahl.

Wann sollte Low-Level verwendet werden?

Ein Maschinencode sieht ungefähr so ​​aus, was extrem schnell läuft, da er der Hardware sehr nahe kommt.

8B542408 83FA0077 06B80000 0000C383

FA027706 B8010000 00C353BB 01000000

B9010000 008D0419 83FA0376 078BD98B

C84AEBF1 5BC3

Oben ist eine Funktion für eine 32-Bit-Architektur geschrieben, dh x86-Maschinencode, um die Fibonacci-Zahl zu berechnen.

Das Schreiben von Maschinencode ist unbestreitbar ziemlich irritierend, da hin und wieder numerische Codes für jeden anderen ausgeführten Befehl überprüft werden müssen. Wer zum Teufel hat die Zeit dafür? Und das ist der Grund, warum Low-Level-Programmierung geboren wurde.

Wenn Sie jedoch High-Level-Programmierern Fragen zu Low-Level-Programmierung stellen, erhalten Sie die folgende Antwort:

Bildquelle: pixabay.com

Fazit

Low-Level-Sprachen haben den zusätzlichen Vorteil, dass sie die Kontrolle über die CPU verlieren, aber ihre Codes sind für andere Programmierer äußerst schwer zu verstehen und zu debuggen. Jede andere Architekturfamilie verfügt über eine eigene Assemblersprache, sodass Code, der für die eine geschrieben wurde, nicht auf der anderen ausgeführt werden kann. Kurz gesagt, der Code ist nicht portabel.

Der Vorteil von Hochsprache ist, dass Hochsprachen extrem portabel sind und hauptsächlich zum Schreiben von Software verwendet werden, die auf mehreren Plattformen und Architekturen ausgeführt werden kann. Keiner von beiden kann sich gegenseitig ersetzen, da es sich bei beiden um zwei Seiten einer Medaille handelt.

Empfohlene Artikel

Hier sind einige Artikel, die Ihnen helfen, mehr Details über Hochsprachen im Vergleich zu Niedrigsprachen zu erfahren. Gehen Sie also einfach über den Link.

  1. Die wichtigsten Tipps Haskell Programming Language
  2. HTML5 und Flash - Finden Sie die Unterschiede
  3. Text Mining vs Natural Language Processing - Top 5 Vergleiche
  4. 12 Beste Schritte zum Installieren von R Programming Language (Kurzanleitung)
  5. 8 Die beste Programmiersprache für mobile Apps, die Sie kennen sollten
  6. Wichtige Informationen zu Haskell Programming Language