? Hinweis: Miniaturansicht wurde mit
erstellt Flux-Schnell-Modell mit Hilfe von ComfyUI;
Dieser Artikel wurde mit Hilfe von NI - Natural Intelligence
verfasst. ? Sie haben keine Zeit zum Lesen? - Sehen Sie sich das von uns erstellte Video an:
Ursprünglich wurden alle Programme in einer Binärdatei geschrieben – der sogenannten Assembly
Programmiersprache. Wo Sie der CPU buchstäblich anweisen, was innerhalb von
zu tun ist
ALU. Während Assembler als Low-Level-Programmiersprache
bietet
sehr feine Kontrolle über ALU, es erfordert, dass Programmierer tatsächlich die CPU kennen
Architektur und binäre Logik – es ist sehr schwierig und teuer.
Assembly bietet Optimierungen auf niedriger Ebene, die der Ausführungsleistung zugute kommen.
Beispiele für solche Programme, die entwickelt und aktiv gepflegt werden
sind Sortieralgorithmen, Hash-Funktionen, Schleifen usw.
Um die Komplexität zu reduzieren und die Effizienz zu verbessern, haben kluge Leute
erfunden
höhere Programmiersprachen.
? Beispiel für die Assembly hello world app für Linux X86:
section .data hello db 'Hello World!', 0x0A ; The string to print, with a newline section .text global _start ; Entry point for the program _start: ; Write the string to stdout mov eax, 4 ; syscall number for sys_write mov ebx, 1 ; file descriptor 1 is stdout mov ecx, hello ; pointer to the string mov edx, 13 ; length of the string int 0x80 ; call kernel ; Exit the program mov eax, 1 ; syscall number for sys_exit xor ebx, ebx ; exit code 0 int 0x80 ; call kernel
Der Zweck einer höheren Programmiersprache besteht darin, die Prozedur von
zu vereinfachen.
Schreiben von Geschäftslogik mit menschenlesbarem Text. High-Level-Programmierung
Sprachen werden als kompiliert und interpretiert klassifiziert.
Kompilierte Programmiersprache übersetzt für Menschen lesbaren Code auf hohem Niveau in
Maschinencode während des Kompilierungsvorgangs.
Ein Programm, das die eigentliche Kompilierung durchführt, wird Compiler genannt.
Es ist erwähnenswert, dass jedes Programm kompiliert werden muss
an eine bestimmte Computerarchitektur.
Für X86 kompilierte Programme funktionieren nicht auf ARM-Prozessoren und umgekehrt.
Daher ist eine Kompilierung für eine bestimmte Architektur erforderlich.
Die Kompilierung ist ein irreversibler Prozess.
Sie können Assembler-Code nicht zuverlässig in High-Level-Quellcode konvertieren.
In Bezug auf die Leistung werden kompilierte Programme in den meisten Fällen ausgeführt
Schneller ? als interpretierte Programme.
Die meisten kompilierten Sprachen sind statisch typisiert.
Die Erklärung folgt in den nächsten Absätzen.
Die beliebtesten kompilierten Sprachen sind C, C, Rust, Objective C, C#.
? Hallo Welt auf geschrieben in der Programmiersprache C:
#includeint main() { printf("Hello World!"); return 0; }
Anwendungen können bestimmte typische Aktionen ausführen, z. B. Bilder anzeigen,
Dekomprimieren von Archiven und viele andere. Es ist zwar möglich, all diese Dinge zu schreiben
Funktionen von Grund auf neu erstellen, ist dies unpraktisch.
Zu diesem Zweck werden Bibliotheken verwendet.
Bibliotheken tragen dazu bei, die Komplexität des Entwicklungsprozesses durch Aufteilung zu reduzieren
Anwendungen in Module. Neue Funktionen und Fehlerbehebungen können innerhalb von
durchgeführt werden.
den Umfang des Moduls und nicht die gesamte Anwendung.
Der Prozess der Integration von Bibliotheken in die Hauptanwendung wird als
bezeichnet.
Verlinkung. Die Verknüpfung kann dynamisch erfolgen – das heißt, alle Bibliotheken sind
separat kompiliert und während
mit der Hauptanwendung verbunden
zur Laufzeit der Anwendung oder statisch – das heißt, dass der gesamte Maschinencode
der Bibliotheken ist in die Hauptanwendungsbinärdatei integriert.
Dynamische Bibliotheken haben normalerweise die Erweiterung .dll für Windows und .so für Unix.
Interpretierte Programmiersprache übersetzt für Menschen lesbaren Code auf hohem Niveau
während der Ausführung des Programms in Maschinencode umgewandelt. Das Programm, das das macht
wird als Dolmetscher bezeichnet. Da ein Interpreter auch ein Programm ist, das
ist bereits für eine bestimmte Architektur der CPU kompiliert, die übersetzt werden kann
High-Level-Code im Handumdrehen in Maschinensprache umwandeln.
In Bezug auf die Leistung sind interpretierte Programme in den meisten Fällen langsamer?
als zusammengestellt.
Die beliebtesten interpretierten Sprachen sind Python, JavaScript, PHP, Ruby.
? Hallo Welt auf der Programmiersprache Python geschrieben:
print("Hello World!")
Programmiersprachen können als statisch oder dynamisch typisiert klassifiziert werden.
In statisch typisierter Programmiersprache alle Variablen und Datenstrukturen
werden vor der Kompilierung oder Ausführung des Programms vordefiniert.
Dies bedeutet beispielsweise, dass, wenn der Entwickler die Variable A als string
definiert,
Er kann seinen Wert später im Code nicht von einer Zeichenfolge in eine Zahl ändern.
Dies kann während der AOT-Kompilierung (Ahead Of Time) und beim Drucken überprüft werden
logischer Fehler. Diese einfache Technik hilft, die Anzahl der Fehler zu reduzieren
während der Ausführung, was zu stabileren Programmen führt.
In dynamisch typisierten Programmiersprachen können Variablen neu zugewiesen werden
von einem Typ zum anderen. Beispielsweise kann eine Variable A zunächst eine Zahl enthalten
und später kann eine Zeichenfolge enthalten. Diese Methode vereinfacht den Entwicklungsprozess.
Variablen können Ganzzahlzahlen, Gleitkommazahlen, Zeichenfolgen sein.
Sie gelten als die einfachste mögliche Datenstruktur.
Um tiefer zu graben, werden Variablen unter Verwendung bestimmter Adressen im RAM gespeichert.
Adresse ist eine Binärzahl (11111111111111101011111101111111111100001101100)
der Speicherzelle im RAM, üblicherweise dargestellt als Hexadezimalzahl
(0x7fff5fbff86c) zur besseren Lesbarkeit.
Konstanten sind die speziellen Variablen, deren Wert nach der Zuweisung
sollte vom laufenden Programm nicht verändert werden.
Neben Variablen gibt es auch andere Datenstrukturen wie Arrays,
Assoziative Arrays, verknüpfte Listen, Warteschlangen, Stapel und viele andere.
Der Zweck dieser Strukturen besteht darin, Daten effizienter zu speichern
so wäre es einfacher, mit den Daten zu arbeiten.
Eine Möglichkeit, die Programmierung der Geschäftslogik zu vereinfachen, ist die Verwendung von
sogenannte Funktionen. Wie in der Mathematik, wo f(x) eine Funktion ist, die
erzeugt
ein bestimmter Wert abhängig von den Eigenschaften dieser Funktion in der Programmierung
Funktionen können Werte zurückgeben oder andere Dinge tun. Funktionen können Eingaben akzeptieren
Argumente wie eine Zahl, ein String oder eine andere Datenstruktur und return
Werte oder Datenstrukturen oder sie können ganz ohne Argumente funktionieren,
Alles hängt von der Geschäftslogik der Funktion selbst ab.
In Wirklichkeit sind Programmiersprachen nicht so komplex, wie alle denken.
Wenn Sie gerade erst anfangen, Programmieren zu lernen, beginnen Sie mit einfach interpretierten
Sprache wie Python. Nach dem Verständnis der Grundlagen – alle anderen Sprachen
wird so einfach folgen wie das Lesen der Syntax.
Quelle: https://blog.wiregate.io/posts/programming-linguals-explained
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3