Non. La blockchain est une idée de programmation et, en principe, elle peut être implémentée à l'aide de n'importe quel langage de programmation. Par exemple, Solidity, C++, C#, Java, javascript et Go peuvent tous réaliser le développement de la technologie blockchain. Le langage de programmation n'est qu'un moyen de présenter des concepts de conception dans le code et de créer des produits destinés aux utilisateurs.
L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.
Blockchain est une idée de programmation qui peut, en principe, être implémentée en utilisant n'importe quel langage de programmation. Par exemple : C++, Java, javascript, python et Go peuvent tous être utilisés pour développer la blockchain.
La technologie Blockchain couvre un large éventail de sujets, notamment : l'informatique, la cryptographie, l'économie et bien d'autres disciplines. Le langage de programmation n'est qu'un moyen de présenter des concepts de conception dans le code et de créer des produits destinés aux utilisateurs.
Trois directions principales du développement de la blockchain
En théorie, vous pouvez utiliser n'importe quel langage de programmation pour apprendre et écrire des projets blockchain. Y compris : C++, C#, Java, Python, Go, Javascript, etc., qui peuvent tous développer des projets blockchain.
Par exemple, bien que le système Bitcoin soit développé en C++, lorsque nous apprenons les principes de Bitcoin, nous pouvons utiliser le code source de Bitcoin dans n'importe quel langage tel que Java, Python et Go. Cependant, différentes directions de développement ont des langages de programmation préférés différents.
Le développement de la blockchain s'articule actuellement autour de trois directions principales :
Technologie sous-jacente de la blockchain
Pour la technologie sous-jacente, les exigences de sécurité et de performances sont élevées. Premier choix : C++, Go. Les langages de développement des chaînes publiques courantes sont les suivants :
Application de couche supérieure Blockchain : DAPP
Pour les applications de couche supérieure, cela implique le développement de contrats intelligents, front-end et back-end développement et autres connaissances connexes. Seul un développement rapide et une itération rapide peuvent saisir les opportunités du marché. Premier choix : Javascript, basé sur Ethereum et Solidty de premier choix.
Applications liées aux jetons
Pour les applications liées aux jetons : concentrez-vous sur la logique de conception, il n'y a pas de recommandation particulière en termes de langage.
Sept langages de programmation
Actuellement, la plupart des projets blockchain utilisent principalement les sept langages de programmation suivants :
1 Solidity
Solidity, un développeur Ethereum Un nouveau langage de programmation simple et populaire parmi. développeurs car c’est le langage utilisé pour développer les contrats intelligents Ethereum. Solidity est un langage de programmation Turing-complet orienté contrat avec une base de développeurs estimée à plus de 200 000.
Étant donné qu'Ethereum est le leader des contrats intelligents, de nombreuses plateformes blockchain alternatives garantissent qu'elles sont compatibles avec Solidity (ou ERC-20), permettant aux contrats intelligents d'être facilement portés d'Ethereum vers de nouveaux réseaux de blockchain.
Ethereum, techniquement Ethereum en tant qu'« ordinateur mondial » utilisé comme machine virtuelle Ethereum (EVM), est composé de plusieurs langages, dont C++, Python, Ruby, Go et Java. JavaScript sert d'épine dorsale à Ethereum car il agit comme environnement d'exécution pour l'exécution des scripts.
2. Java
Java, un langage de programmation généraliste concurrent, orienté objet et basé sur les classes, est conçu de telle manière que Java n'a presque aucune dépendance d'implémentation. Depuis son lancement en 1995, Java est devenu l'un des trois principaux langages de programmation et compte plus de 9 millions de développeurs. Le réseau blockchain principal de NEM est écrit exclusivement en Java (bientôt en C++).
3. C#
C#, un langage orienté objet qui permet aux développeurs de créer des applications robustes sur le .NET Framework avec au moins 2 millions de développeurs dans le monde. C# a été développé en 2000. Depuis sa création, il est devenu un langage de programmation populaire pour créer un code multiplateforme puissant qui s'exécute sur plusieurs systèmes d'exploitation tels que Windows, Mac, Linux et Android. Les projets blockchain écrits en C# incluent :
Stratis est un fournisseur de blockchain en tant que service alimenté par Microsoft qui permet aux entreprises de créer leurs propres systèmes de blockchain privés.
NEO est écrit en C#, mais il prend également en charge divers langages de programmation tels que Javascript, Java, Python et Go.
4、Javascript
Javascript, souvent abrégé en JS, est un langage multi-paradigme qui prend en charge les styles de programmation événementiels, fonctionnels et impératifs (y compris orientés objet et basés sur des prototypes). Il s'agit de l'un des langages de programmation les plus populaires au monde, utilisé par au moins 9,7 millions de développeurs dans le monde.
Le kit de développement SideChain (SDK) de Lisk est écrit en JavaScript et permet aux développeurs de créer des applications sur la plate-forme blockchain de Lisk.
5. SQL
SQL, Structured Query Language ou "Sequel" est un langage de programmation développé par IBM pour communiquer avec des bases de données qui stockent, interrogent et manipulent des données. On estime actuellement que 7 millions d'utilisateurs utilisent SQL. Les bases de données populaires telles que MySQL, PostgreSQL, SQL Server, DB2, Oracle, etc. utilisent SQL pour développer des applications. Les projets Blockchain qui incluent SQL sont :
Aergo, une solution intégrée d'entreprise développée par Blocko sur la base de sa technologie exclusive Coinstack utilisant des contrats intelligents SQL. Aergo Chain dispose d'une plate-forme de contrats intelligents basée sur SQL qui permet aux entités d'entreprise de créer et d'exécuter des contrats intelligents avancés dans des environnements commerciaux.
6, C++
C++, un langage de programmation à usage général avec environ 4,4 millions de développeurs, sa plus grande force est sa capacité à faire évoluer des applications gourmandes en ressources et à leur permettre de fonctionner sans problème, ce qui en fait un jeu 3D très populaire. langage de programmation. Les projets blockchain utilisant C++ incluent :
EOS, C++ est le principal langage de programmation pour EOS en raison de sa flexibilité pour exécuter un grand nombre d'applications sur la blockchain. EOS prend également en charge n'importe quel langage compilé sur WebAssembly (WASM).
bitcoin, le cœur de réseau Bitcoin est programmé en C++.
7, Golang
Go, également connu sous le nom de Golang, est un langage de programmation général open source développé par Google. Il a été conçu à l'origine pour résoudre l'informatique distribuée et est un langage émergent dans le domaine du cloud. informatique. La syntaxe du langage Go est similaire à celle du langage C. Ses caractéristiques sont : une vitesse de compilation rapide, une efficacité d'exécution élevée, une programmation réseau conviviale, une concurrence élevée et une multiplateforme. Go est facile à apprendre et à utiliser. Il peut bien répondre aux besoins de développement de l'industrie de la blockchain, tels que « une efficacité d'exécution élevée, une concurrence élevée, des exigences multiplateformes et de développement de réseau élevées » et d'autres caractéristiques. Il correspond parfaitement au développement de la blockchain !
Au début, le développement sous-jacent de la blockchain était principalement basé sur le C++. Certains projets commencent désormais à être développés en utilisant le langage Go. Les projets écrits en Go incluent :
HyperLedger Fabric : les contrats intelligents construits à l'aide d'HyperLedger Fabrics sont principalement écrits en Go.
Pourquoi le langage Go peut-il devenir le langage de développement principal de la blockchain ?
Étant donné que le développement de systèmes blockchain implique de la puissance de calcul et des applications, ces langages C++ peuvent naturellement résoudre le problème, mais les coûts de développement fastidieux sont trop élevés, bien qu'ils utilisent d'autres langages de couche supérieure tels que Java. , Python, etc. peuvent réduire les coûts de développement, les performances et la puissance de calcul de la blockchain ne peuvent pas suivre, donc lorsque de nombreuses entreprises développeront la technologie blockchain, elles choisiront le langage Go comme langage de premier choix avec un faible coût de développement et des performances de développement objectives.
Le langage Go est extrêmement efficace dans le développement de la blockchain et présente des avantages évidents, qui se reflètent principalement dans les aspects suivants :
1) Il peut être directement compilé en code machine sans recourir à d'autres bibliothèques. La version de la glibc en possède certaines. exigences, et le déploiement est simplement de jeter un fichier et vous avez terminé.
2) Un langage typé statiquement, mais avec la sensation d'un langage dynamique. Un langage typé statiquement peut détecter la plupart des problèmes cachés lors de la compilation. Le sentiment d'un langage dynamique est qu'il existe de nombreux packages qui peuvent être utilisés, et c'est le cas. très efficace pour écrire haut.
3) Le niveau de langage prend en charge la concurrence. C'est la fonctionnalité de Go, qui prend intrinsèquement en charge la concurrence. Go prend en charge la concurrence dans ses gènes. Il peut utiliser pleinement plusieurs cœurs et faciliter l'utilisation de la concurrence.
4) Le runtime intégré prend en charge le garbage collection, qui est l'une des caractéristiques des langages dynamiques. Bien que GC ne soit pas parfait à l'heure actuelle, il est suffisant pour faire face à la plupart des situations que nous pouvons rencontrer, en particulier GC après Go1.1.
5) C'est simple et facile à apprendre. Les auteurs du langage Go ont tous des gènes C, donc Go a naturellement des gènes C. Les mots-clés Go sont donc au nombre de 25, mais la capacité d'expression est très puissante et prend en charge presque tous les mots-clés que vous utilisez. voir dans d'autres langages Fonctionnalités : héritage, surcharge, objets, etc.
6) Riche bibliothèque standard, Go dispose actuellement d'un grand nombre de bibliothèques intégrées, notamment la bibliothèque réseau qui est très puissante.
7) Outils puissants intégrés. Le langage Go possède de nombreuses chaînes d'outils intégrées, des outils gouvernementaux et un formatage de code automatisé, ce qui peut rendre la révision en équipe si simple. Le format du code est exactement le même et il est difficile d'y penser. de quelque chose de différent.
8) Compilation multiplateforme. Si le code Go que vous écrivez ne contient pas de cgo, alors vous pouvez compiler des applications Linux sur le système Windows. Comment faire ? Go fait référence au code de plan9, qui est une information qui ne dépend pas du système.
9) Prise en charge du C intégré, Go peut également inclure directement du code C, en utilisant la riche bibliothèque C existante.
【Recommandations associées : Tutoriel vidéo Go, Enseignement de la programmation】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!