Die Software Library ist ein Begriff, der eine Sammlung von Programmierroutinen, Funktionen und anderen Codeschnipseln beschreibt. Die Wiederverwendbarkeit des Codes ist die Hauptidee hinter diesen Sammlungen, die verhindert, dass man das Rad jedes Mal neu erfinden muss, wenn man ein neues Programm erstellt. Es gibt verschiedene Arten von Librarys, von denen sich einige auf Grafiken oder Datenmanipulationen konzentrieren, während andere auf Ein-/Ausgabe oder allgemeine Programmieraufgaben spezialisiert sind. Jede Funktion in einer Library dient einem ganz bestimmten Zweck. Die CSS Library zum Beispiel hilft Designern, Stile zu verwenden, ohne alle Designelemente von Grund auf neu zu entwerfen und zu entwickeln. JavaScript Librarys ermöglichen es Entwicklern, kompakteren und effizienteren Code für ihre Skripte zu schreiben.Externe Libraries funktionieren wie der Rest des CodesEs ist eine gut dokumentierte Tatsache, dass Computer nichts außer 1en und 0en verstehen können. Jede Codezeile, die irgendwo in einer beliebigen Sprache geschrieben wurde, wird irgendwann auf einer Maschine laufen und muss daher in Binärcode umgewandelt werden. Von einem einfachen Hallo-Welt-Programm bis hin zu einer komplexen Anwendung mit Millionen von Zeilen muss eine fehlerfreie Ausführung zahlreiche Probleme wie Abhängigkeiten und Speicherzuweisung berücksichtigen. Darunter läuft ein ganzer Prozess ab, der den Code einer Hochsprache (HLL) in eine ausführbare Binärdatei umwandelt. Zunächst kompiliert der Compiler den Source Code der HLL in Assembler-Quellcode und ordnet den Funktionen externer Libraries eindeutige Symbole zu, z. B. printf() in der C Library. Diese Symbole werden als Relocation-Informationen bezeichnet. In der zweiten Phase wandelt der Assembler den Assembler-Code in binäre Objektdateien um, die separate Teile für die Relocation-Informationen enthalten. In der letzten Phase sucht der Linker nach Relocation-Informationen und füllt die Lücken mit tatsächlich maschinenlesbarem Binary Code anstelle von Symbolen. Anschließend erstellt er eine ausführbare Datei, die der Computer ausführt, um das Ergebnis zu erhalten. Nach der Kompilierung des Codes beginnt der Teil des Laders, in dem die Speicherzuweisung erfolgt und das Operating System mit dem Programm interagiert.Libraries sind ein wesentlicher Bestandteil der Computerprogrammierung. Einige von ihnen sind sichtbar, während andere für den Programmierer, der den Code schreibt, nicht sichtbar sind. In der Regel gibt es Codegenerierungs-, statische und dynamische Libraries. Codegenerierungsbibliotheken sind spezielle Werkzeuge, die die einzigartigen externen oder internen Konfigurationen des Programms lesen und diese Informationen an den Compiler weitergeben. Sie sind für den Compiler notwendig. Dann gibt es statische Bibliotheken oder Bibliotheken zur Kompilierzeit. Während der Kompilierung sucht der Prozedur-Linker nach Informationen über diese statischen Librarys und wandelt sie dann in eine ausführbare Datei um. Nach den statischen Bibliotheken gibt es die dynamischen Bibliotheken oder Runtime-Bibliotheken. Diese Librarys kommen erst zur Laufzeit ins Spiel, wenn die Speicherzuweisung und die Interaktion mit dem Betriebssystem erfolgt. Dieser Prozess der Umwandlung von HLL in eine ausführbare Datei und die Verwendung von Codegenerierung, statischen oder dynamischen Bibliotheken findet in jeder Branche statt, in der Software das Leben der Menschen verändert.Libraries Are Making Crypto Development EasierIn a blockchain-based ecosystem, development is not possible without using libraries. Heutzutage sind die meisten neuen Krypto-Projekte von Ethereum abhängig, dem größten Blockchain-basierten Ökosystem. In diesem Ökosystem gibt es Bibliotheken wie web3.js und ethereum.js, die die Integration des Front-Ends von dApps erheblich erleichtern. Ohne diese Bibliotheken müsste alles von Grund auf neu entwickelt werden, was sehr mühsam und kostspielig wäre. Im Ethereum-Ökosystem werden diese Bibliotheken anders als andere softwarebasierte Lösungen entwickelt, da sie als Smart Contracts eingesetzt werden. So bleibt die zentrale Idee der Wiederverwendbarkeit von Code erhalten.