Apprendre un nouveau langage de programmation est commun aux développeurs endurcis. Le programmeur moyen peut se mettre à niveau en 3 à 4 semaines et peut souvent apprendre 2 à 3 nouvelles langues en un an. Le Lion mérite-t-il votre attention ? À quel point est-il prometteur ? Découvrons-le.
Leo est un langage de programmation à typage statique conçu pour la blockchain Aleo. Vous pouvez créer des applications privées dans une blockchain décentralisée entièrement privée en l'utilisant, essentiellement Solidity mais pour Aleo.
Comparons la syntaxe des opérations mathématiques les plus simples :
Un exemple de programme simple pour Leo :
Idem pour Rust :
Comme nous pouvons le voir, les deux langages ont à peu près la même syntaxe, mais ils diffèrent considérablement dans la structure entrée-sortie. Alors que dans Leo, nous pouvons intégrer des variables à partir d'un fichier d'entrée séparé, dans Rust, vous ne pouvez pas le faire par défaut (vous ne pouvez le faire que si vous décrivez manuellement le fichier d'importation). Cela est dû à la structure de la blockchain Aleo - elle est axée sur l'anonymat, et les développeurs ont estimé que les entrées devaient être décrites dans un fichier séparé. Essayez-le par vous-même :
https://play.leo-lang.org/ <- compilateur en ligne pour Leo
https://play.rust-lang.org/ <- compilateur en ligne pour Rust
Leo prend en charge les mots-clés let
et const
pour définir les variables.
let
définit une variable de programme dédiée.
const
définit une variable de programme constante.
Les variables constantes ne définissent pas une variable dans un système de contraintes. Leur valeur est contrainte dans le schéma lors du calcul avec la variable allouée. les variables constantes ne peuvent pas être modifiées. Ils ont les mêmes fonctionnalités que Rust.
Les calculs sont exprimés en termes de circuits arithmétiques R1CS. Ainsi, le calcul d'une variable sélectionnée aboutit toujours à une autre variable sélectionnée.
Variabilité
Toutes les variables dans Leo sont immuables - elles ne peuvent pas être modifiées après l'affectation, tout comme dans Rust. Toutes les variables dans Leo sont modifiables - elles peuvent être modifiées après l'affectation. La fonctionnalité des variables n'est pas conservée dans différentes zones car les variables Leo sont transmises par valeur.
Typage statique
Leo est un langage à typage statique, ce qui signifie que nous devons connaître le type de chaque variable avant d'exécuter le schéma.
Des types explicites sont requis.
Il n'y a pas de valeur indéfinie ou nulle dans Leo. Lors de l'affectation d'une nouvelle variable, le type de la valeur doit être explicite. Une exception à cette règle est si la nouvelle variable hérite son type d'une variable précédente.
Passage de valeur
Les variables dans Leo sont toujours transmises par valeur, ce qui signifie qu'elles sont toujours copiées lorsqu'elles sont utilisées comme entrée dans une fonction ou dans des affectations.
Valeurs booléennes
Leo prend en charge les tuples traditionnels ou les valeurs booléennes. L'ajout d'un type booléen explicite pour les valeurs booléennes dans les instructions est facultatif.
Entiers
Leo prend en charge les entiers signés i8
, i16
, i64
i32
i128
et les entiers non signés u8
, u16
, u32
, u64
, u128
Les nombres entiers avec des longueurs de bits plus élevées créent plus de restrictions dans le schéma, ce qui peut ralentir le temps de calcul.
De ce qui précède, nous pouvons conclure que l'apprentissage de Leo ne prendra pas beaucoup de temps pour les développeurs Rust. Cependant, la question pour les développeurs d'Aleo est : "Comment pouvons-nous encourager les développeurs à passer de Rust à Leo ?" Étant donné que les constructeurs expérimentés sont en demande, le projet met des enjeux importants sur la ligne. Il existe un programme de subventions Aleo à cet effet :
Afin d'encourager les développeurs qualifiés à rejoindre Aleo, le projet a lancé un programme de subventions :
https://www.aleo.org/post/community-grants-program
Les développeurs peuvent demander jusqu'à 100 000 $ pour leur travail. Cependant, plus le montant d'argent demandé est élevé, plus le niveau de travail requis est élevé. Voici un exemple de certains des gagnants du programme de subventions :
Pine Street Labs : https://www.aleo.org/post/aleo-grants-pine-street-labs - est essentiellement un constructeur de logiciels de portefeuille.
Partenariat avec Forte : https://www.aleo.org/post/aleo-announces-partnership-with-forte - développement de jeux (Pas vraiment un bénéficiaire de subvention puisque ce n'est pas une startup)
Jetons un coup d'œil à Indeed.com :
En moyenne, un développeur Rust moyen-sénior peut gagner jusqu'à 150 000 $ par an (exemples Blockchain et Web2). Combien plus (ou moins) que ce qui peut être gagné chez Leo ? Personne ne le sait, mais vous pouvez certainement vous attendre à un salaire élevé puisque le marché du travail des développeurs Leo n'est évidemment pas le plus compétitif. La plupart des développeurs que je connais se sentent à l'aise pour créer leurs propres éléments, tels que des collections NFT ou des DAO, et vous aussi. Vous pouvez toujours gagner de l'argent tout en étant indépendant. Plus précisément, ce n'est pas du tout compétitif - vous pouvez devenir l'un des premiers programmeurs de Leo dès maintenant !
Où commencer? Apprendre Leo n'est pas la tâche la plus difficile, car les passionnés du projet actuel font déjà un excellent travail de préparation pour éduquer le matériel pour Leo ! Visitez simplement la chaîne officielle Aleo Discord pour rechercher des traductions dans n'importe quelle langue : https://discord.gg/aleohq
Vous pouvez également commencer à apprendre avec les documents officiels de Leo : https://developer.aleo.org/leo/language
Bonne chance dans vos efforts!