In der Computerwelt gibt es derzeit zumindest einige 8900 verschiedene Programmiersprachen und viele von ihnen finden Verwendung in der Web3-Welt. Dies ist eine große Anzahl von Sprachen, insbesondere wenn wir berücksichtigen, dass die Liste der am häufigsten verwendeten Programmiersprachen viel kürzer ist (weniger als 100). Dies gibt uns eine klare Vorstellung davon, dass Programmiersprachen ein sehr weit verbreitetes Werkzeug in der Welt des allgemeinen Rechnens sind und dasselbe mit der Web3-Welt passiert.
Man kann sagen, dass die Welt der Programmiersprachen für Web3 mit begonnen hat Bitcoin-Skript, und das aus einem einfachen Grund: Web3 ist die Dezentralisierung des Webs, und Bitcoin Script ermöglicht uns trotz seiner begrenzten Kapazität den Aufbau einer solchen Dezentralisierung.
Tatsächlich sind Entwicklungen wie Farbige Münzen, Projekte wie Kontrahent oder EPOBC ChromaWay (die Teil von OpenAssets werden würden) sind nur die ersten Versuche, Web3 zu einer breiteren, auf Bitcoin basierenden Realität zu machen. Derzeit werden diese Versuche in Projekten wie RSK und Bisq wiederholt, die deutlich machen, dass Web3 auf Bitcoin möglich ist, und im Aufbau befindliche Projekte wie RGB und Taro Protocol bekräftigen diese Idee.
Die Ankunft von Ethereum gab der Idee, Web3 zu bauen, einen enormen Schub. Dies liegt an der Ankunft des Smarts Verträge und zu Programmiersprachen vom Typ Turing Complete, wie z Solidität. Auf diese Weise wurden die Möglichkeiten erweitert und wir haben nun die Möglichkeit, eine große Anzahl von Programmiersprachen zum Erstellen von Web3 zu verwenden.
Die 10 Programmiersprachen, die Sie kennen müssen, um Web3 zu erstellen
Wir haben bereits gesehen, dass die Liste der Programmiersprachen sehr umfangreich ist, aber die am häufigsten zum Erstellen von Web3 verwendeten sind:
HTML5
HTML5 kann eigentlich nicht als Programmiersprache selbst definiert werden (es ist streng genommen eine Auszeichnungssprache), sondern eher als eine Vereinigung standardisierter Tools zum Aufbau von Webumgebungen. Es ist, um es einfacher auszudrücken, das Rahmen, auf dem wir das visuelle und interaktive Web aufbauen können, wie wir es heute kennen.
HTML5 vereint HTML, JavaScript und CSS Erstellen und entwerfen Sie Anwendungen sowohl in Web2 als auch in Web3. Beispielsweise ist jedes Mal, wenn Sie Facebook besuchen, HTML5 vorhanden. Aber wenn Sie Uniswap besuchen, ist es auch HTML5, schließlich handelt es sich bei beiden um Webseiten, nur ihre interne Funktionsweise unterscheidet sie.
Daher ist die erste „Sprache“, die Sie beim Erstellen von Diensten in Web3 berücksichtigen sollten, genau HTML5, da es Ihnen die Werkzeuge zur Entwicklung des visuellen Teils Ihrer Webanwendung an die Hand gibt.
Solidität (oder die Sprache von Smart-Vertrag der Blockchain)
Die zweite Sprache, die bei der Programmierung in Blockchain berücksichtigt werden muss, ist Solidität, die Programmiersprache Smart Contracts der meisten der am häufigsten verwendeten Blockchains.
Solidität ist die Sprache schlechthin, da die meisten Web3-Projekte auf Ethereum oder damit kompatiblen Netzwerken entwickelt werden Astraleum Virtuelle Maschine (EVM). Das Wissen um Solidity hilft Ihnen also nicht nur Intelligente Verträge programmieren auf Ethereum, aber auf einer großen Auswahl an Blockchains, die Solidity und EVM verwenden, um ihre Smart-Contract-Lösungen zu erstellen.
Solidity wird beispielsweise verwendet in:
- Vieleck
- BNB-Kette
- Lawine
- Schlichtung
- Fantom
- Cronos
- Klaytn
- GNOSIS
- Kava
- Eifer
- Mondstrahl
- RSK
- Astar
- Moonriver
- Metis
- Oase
- Telos
- Theta
- Wanchain
- Harmonie
Und dies ist eine kurze Liste der über 100 EVM-kompatiblen Blockchains, die deutlich macht, dass die Kenntnis von Solidity enorme Möglichkeiten in der Web3-Entwicklung eröffnet.
Natürlich kommt auch die Kehrseite dieser Situation ins Spiel: Es gibt Web3-fähige Blockchain-Plattformen, die nicht mit Solidity kompatibel sind. In diesem Fall kommen andere Programmiersprachen ins Spiel, wie zum Beispiel:
- C++ wird verwendet in EOS und Ontologie.
- Haskell verwendet in Cardano.
- MSIL wird verwendet in NEO und seine NEO Virtual Machine, die native Unterstützung für .NET (C#, VB.Net und F#) sowie Python, Go, Java, Kotlin und JavaScript bietet.
- Rust wird in Netzwerken wie verwendet Kosmos, über CosmosWASM, obwohl auch andere Sprachen unterstützt werden.
Wie Sie sehen, ist die Unterstützung für Programmiersprachen in der Blockchain sehr umfassend und die Möglichkeiten, mit ihnen intelligente Verträge zu erstellen, sind praktisch endlos.
Python
Python ist eine Programmiersprache mit enormen Möglichkeiten, nicht nur für die Erstellung von Desktop-Anwendungen, sondern für so unterschiedliche Bereiche wie wissenschaftliche Forschung, Datenanalyse, KI und natürlich Blockchain.
In der Blockchain wird Python häufig für die Datenanalyse, die Entwicklung von Webanwendungen (unter Verwendung von Frameworks wie Django oder Flask), Desktop-Anwendungen (z. B. Electrum Wallet) oder einfach zum Ermöglichen des Zugriffs auf Web3-APIs mithilfe dieser in der Blockchain so weit verbreiteten Sprache verwendet Welt der Datenverarbeitung (mit Web3 Python können Sie beispielsweise dezentrale Anwendungen erstellen, die mit EVM kompatibel sind).
Es ist gerade die große Vielseitigkeit von Python, die es im Ökosystem so beliebt macht. Und tatsächlich wird diese Sprache mit der Einführung leistungsstarker KI-Schnittstellen, von denen die meisten in Python entwickelt wurden, eine enorme Nutzungsexplosion erleben, um Web3 und KI effektiver zu integrieren.
Rust
Rust ist eine weitere Programmiersprache, die in der Blockchain-Welt wie vorgesehen verwendet wird auf Speicherebene standardmäßig sicher sein (speichersicher). Das bedeutet, dass in Rust erstellte Programme über Schutzmaßnahmen verfügen, die sie standardmäßig sicherer machen, ohne an Geschwindigkeit zu verlieren.
Rust wird häufig in der Blockchain verwendet Generieren Sie die bekannten virtuellen Maschinen (VM) oder für intelligente Verträge, die darauf abzielen, Probleme im Zusammenhang mit der Verwaltung von Speicherräumen und der Variablenverwaltung zu vermeiden. Darüber hinaus wird es auch bei der Implementierung von Knoten und Infrastruktursoftware verwendet, die mehr Sicherheit bieten soll, um Benutzern zu dienen, die eine Dezentralisierung anstreben.
Ein gutes Beispiel für diese Verwendung ist Rust-Web3, eine Web3-Implementierung für Ethereum. Wir finden es auch im Aufbau von SputnikVM, einem EVM mit WASM-Fähigkeit für Ethereum-basierte Netzwerke, das in Rust implementiert ist.
CosmosWasm oder CosmWasm ist auch in der Lage, Rust zu nutzen, um Smart Contracts mit Multi-Chain- oder Multi-Chain-Unterstützung zu generieren. Auch Solana und NEAR nutzen Rust, um ihre Smart Contracts zu generieren.
Tatsächlich ist Rust eine der am häufigsten verwendeten Programmiersprachen zum Aufbau von Datenschutzsystemen wie zk-SNARKs und zk-STARKs in verschiedenen Blockchains, was als die Zukunft vieler dieser Netzwerke gilt.
Typoskript
TypeScript ist eine Obermenge von JavaScript, d. h. TypeScript ist JavaScript mit Vitaminen in Form geringfügiger Syntaxänderungen, starker Typisierung und einer Reihe von Ergänzungen, die die Lesbarkeit und Reinheit des Codes verbessern sollen.
Da es sich um eine Obermenge handelt, gewöhnen sich diejenigen, die JavaScript beherrschen, schnell an TypeScript, und im Allgemeinen geben diejenigen, die mit TypeScript beginnen, es nicht auf. Denn was Sie in JavaScript tun können, können Sie auch in TypeScript tun, im Allgemeinen viel einfacher und mit besseren Tools, wenn Sie interessiert sind. Haben Sie sichereren Code.
Hier werden wir nicht über den typischen Flamewar zwischen JavaScript und TypeScript sprechen, da es sich bei beiden letzten Endes um vollkommen leistungsfähige Programmiersprachen handelt, die Entwickler für ihre Projekte verwenden können.
Aber das Wachstum von TypeScript in der Branche bringt es aus einem Grund auf die Liste: Viele Web3-Projekte migrieren von JavaScript zu TypeScript. Ein gutes Beispiel hierfür ist die web3.js-Bibliothek selbst, die zunächst in JavaScript geschrieben wurde und seit 2020 die Migration zu TypeScript begann (ab Version 1.3.0).
Go
Go oder Golang ist eine weitere Programmiersprache, deren Verwendung aufgrund einer Situation, die der in Rust sehr ähnlich ist, eine rasche Ausweitung erfahren hat: Sicherheit.
Go ist eine Programmiersprache, auf die man sich konzentriert Bereitstellung einer sicheren Speicherumgebung, ein tolles System Müllsammler, erleichtern die Kreuzkompilierung (Cross-Kette, was eine schnelle plattformübergreifende Unterstützung ermöglicht), neben anderen Funktionen, die es recheneffizient machen.
In der Blockchain- und P2P-Welt gibt es zwei großartige Projekte, die sich durch die Verwendung von Go als Hauptprogrammiersprache auszeichnen. Das erste Projekt ist Gehen Sie zu Ethereum oder GETH, der führende Ethereum-Knoten und unterstützende Netzwerksoftware. Während das zweite Projekt ist IPFS oder Inter Planetary Filesystem, die wichtigste dezentrale Datenspeicherplattform, die in DApps verwendet wird.
Genug Gründe, Go zu lernen? Die Wahrheit ist, dass es noch viel mehr gibt, besonders wenn Sie daran interessiert sind Bereitstellung einer Blockchain-Infrastruktur. Beispielsweise ist Docker, eine der am häufigsten verwendeten Containersoftware der Welt, in Go geschrieben. Wenn Sie Docker verwenden, können Programmierer daher mit der Kenntnis der Sprache benutzerdefinierte Tools (interne Lösungen) für ihre Infrastruktur erstellen.
Projekte wie Kubernetes, InfluxDB, OpenShift und lnd (eine Implementierung des Lightning Network von Bitcoin) sind weitere Projekte im Zusammenhang mit der Blockchain-Welt, die ebenfalls in Go erstellt werden.
Ruby
Ruby ist eine der am meisten missverstandenen Sprachen in der Programmierwelt. Viele werden Ihnen sagen, dass es sich nicht lohnt, es zu lernen, dass es komplex und schwierig ist. Die Realität ist, dass Ruby in der Branche weit verbreitet ist zuverlässige Lösungen schaffenTatsächlich verlassen sich viele Börsen auf Ruby, um die Software zu entwickeln, die ihre Plattformen betreibt, und täuschen Sie sich nicht, das Gleiche passiert in der dezentralen Welt.
Netzwerke wie Ethereum verfügen über alles Notwendige, um diese Sprache bei der Entwicklung von Dapps zu verwenden. Das Gleiche passiert auch in anderen Netzwerken wie NEO, Cosmos, Avalanche oder Polkadot. Ein bekanntes Projekt, das diese Sprache verwendet, ist Peatio eines der größten Open-Source-Projekte für die Börsenentwicklung und das kann verwendet werden, um dezentrale Börsen (DEX) zu schaffen.
GraphQL
GraphQL ist keine Programmiersprache als solche, aber eine Sprache zum Erstellen von Datenanfragen über APIs.
GraphQL ermöglicht es Ihnen Schreiben Sie Abfrageschemata, die APIs verwenden einer Plattform, um Zugang zu diesen Informationen zu erhalten. Auf diese Weise ist es für Programmierer einfacher, über eine standardisierte Struktur auf die Daten innerhalb einer Plattform zuzugreifen.
GraphQL begann als Eigenentwicklung von Facebook und wird seit seiner Veröffentlichung als freie Software in verschiedenen Projekten mit dem gleichen Zweck eingesetzt: das Leben für Entwickler einfacher zu machen.
In der Blockchain wird GraphQL verwendet Zugriff auf Daten Dritter, die über APIs zugänglich sind. Bitquery verfügt beispielsweise über einen GraphQL-kompatiblen API-Zugriff, mit dem Sie auf Daten von Blockchains wie Bitcoin, Bitcoin Cash, Ethereum, Litecoin und anderen Kryptowährungen und Blockchains zugreifen können.
Der Vorteil davon besteht darin, dass Sie auf diese Informationen zugreifen können, ohne direkt über diese Infrastruktur zu verfügen, was die Kosten senkt und die Entwicklung beschleunigt. Wenn Sie keine zentralisierten Lösungen mögen, können Sie zu anderen Projekten wie The Graph gehen, die dieses Potenzial ebenfalls bieten, aber dezentrale Lösungen verwenden.
SQL und noSQL
Letzteres kann natürlich durch Kenntnisse in Sprachen wie SQL und noSQL ergänzt werden. Beide Sprachen sind nützlich für die Entwicklung von Web3-Anwendungen oder Nicht-Web3-Anwendungen, die im Blockchain-Bereich dennoch nützlich sind.
Ein Block-Explorer ist beispielsweise besonders nützlich für Benutzer von Kryptowährungen, aber er wäre nicht so nützlich, wenn es nicht die SQL-Datenbanken gäbe, die seinen Betrieb unterstützen.
In dieser Welt gibt es viele Entscheidungen zu treffen, aber die wichtigsten sind:
- SQL: MySQL, MariaDB, MSSQL, OracleDB oder PostgreSQL
- noSQL: MongoDB, Redis, Cassandra, Firebase, InfluxDB.
Schlussfolgerungen
Wie Sie in dieser Liste sehen können, haben wir mehr als 10 Sprachen genannt (insbesondere bei der Programmierung von Smart Contracts), aber dennoch haben wir die wichtigsten Interessenbereiche erwähnt, die Sie bei der Entwicklung von Web3-Anwendungen berücksichtigen sollten.
Die Realität ist, dass sich die Welt der Programmierung ständig verändert, dass es Tools gibt, die für eine bestimmte Aufgabe möglicherweise besser geeignet sind oder auch nicht, aber das ist etwas, das Sie studieren müssen, wenn Sie mit der Entwicklung einer Anwendung beginnen, um eine endgültige Entscheidung zu treffen welche Sprachen und Tools Sie verwenden werden, um Ihr Projekt Wirklichkeit werden zu lassen.