Entretien avec le père du langage Move : pourquoi Sui Move est-il adapté à la construction de produits Web3 ?
Récemment, nous avons eu une conversation avec Sam Blackshear, le directeur technique de Mysten Labs et créateur du langage de programmation Move, au sujet de pourquoi il a développé Sui Move, ce que Sui peut étendre et les avantages des technologies décentralisées pour les constructeurs.
Voici le contenu de cette interview :
Q1 : Pouvez-vous donner un aperçu de ce qu'est un langage de programmation, ce qui préoccupe le plus les développeurs lorsqu'ils choisissent un langage de programmation, et ce qui vous a poussé à développer votre propre langage de programmation ?
Les langages de programmation sont des outils pour interagir de manière amicale, sécurisée, efficace et claire avec les ordinateurs. Dans les langages de programmation, il est le plus important d'avoir une sémantique définie avec précision. L'essence des langages de programmation est de cibler des domaines ou des tâches spécifiques.
Move provient du projet Libra de Facebook. Ma tâche à l'époque était de développer des fonctionnalités de contrats intelligents pour Libra. Après des recherches, j'ai constaté que les langages de contrats intelligents existants laissaient souvent les développeurs déçus.
Les contrats intelligents font principalement deux choses : définir le type d'actif et ses règles, et vérifier les politiques de contrôle d'accès. L'objectif de la conception de Move est de fournir une bonne abstraction pour ces fonctions de base, permettant aux programmeurs d'écrire du code de manière sûre et efficace, sans avoir à réinventer la roue à chaque fois.
Q2: Sui utilise une variante de Move, appelée Sui Move. Qu'est-ce qui a motivé ces changements ? Quelles caractéristiques de Sui Move conviennent particulièrement à la construction de produits dans le Web3 ?
Les facteurs qui ont contribué à ces changements incluent:
Le projet Libra était à l'origine conçu pour établir un réseau de paiement conforme, avec certaines restrictions. Mais dans le domaine plus général du Web3, nous espérons que les choses seront aussi libres que possible.
Nous avons adopté un modèle de données centré sur les objets dans Sui, permettant aux programmeurs de traiter directement les actifs sans avoir à effectuer un travail de comptabilité compliqué. Cela facilite non seulement la tâche des programmeurs, mais c'est également la clé de Sui pour réaliser un traitement parallèle et une mise à l'échelle horizontale.
Nous avons également développé une fonction de bloc de transaction programmable, permettant d'exécuter plusieurs opérations dans une seule transaction.
Ces changements rendent Sui Move plus adapté à la construction de produits Web3, offrant une plus grande flexibilité, efficacité et évolutivité.
Q3 : Pourriez-vous partager plus d'informations sur les blocs de transaction programmables et leurs fonctionnalités ?
Les zones de trading programmables permettent d'exécuter plusieurs opérations dans une seule transaction, semblable à un buffet plutôt qu'à des stands de nourriture où l'on paie séparément. Cela présente plusieurs avantages :
Réduire les frais de gaz, car il est possible de regrouper plusieurs opérations en une seule transaction.
Réduire le nombre d'approbations.
Assurer l'atomicité, garantir que plusieurs opérations connexes réussissent toutes ou échouent toutes.
Autoriser l'emballage des transactions hétérogènes, par exemple, réaliser plusieurs étapes dans une transaction, telles que retirer des actifs d'un portefeuille multi-signature, utiliser des actifs, stocker des récompenses, etc.
Favoriser les "compositions temporaires", où différents composants peuvent travailler ensemble plus facilement dans une transaction, sans avoir besoin d'un couplage étroit.
Ce design rend les opérations complexes plus faciles à réaliser, tout en maintenant l'indépendance et la flexibilité de chaque composant.
Q4 : Que pensez-vous de l'expérience de développement de Sui Move par rapport à d'autres langages de programmation Web3 ?
Selon les retours des développeurs, Sui Move offre une expérience de développement plus efficace et plus sécurisée. Par exemple, certaines équipes de développement ont indiqué qu'elles avaient terminé un projet en seulement deux mois avec Sui Move, alors qu'avec Solidity, cela aurait pu prendre huit mois, et elles ont plus confiance dans la sécurité de leur code.
Cette amélioration provient de notre recherche sur les problèmes des langages existants comme Solidity, ainsi que de la conception ciblée de solutions. Sui Move est spécifiquement conçu pour résoudre les problèmes pratiques rencontrés dans le développement de contrats intelligents, c'est pourquoi les développeurs ressentiront une amélioration significative lorsqu'ils passeront à Sui Move.
Bien que l'avantage du premier arrivé soit important, dans ce cas, l'avantage du second arrivé pourrait être encore plus crucial. Nous pouvons tirer parti des leçons des précédents pour concevoir un langage mieux adapté aux besoins actuels.
Q5 : Comment la conception de Sui Move soutient-elle l'adoption à grande échelle de Web3, avec faible latence, faible coût et évolutivité ?
L'objectif de Sui est d'atteindre une évolutivité horizontale, ce qui signifie qu'en augmentant les ressources matérielles, le débit du système peut être amélioré sans limites. Ce design évite les problèmes rencontrés par d'autres plateformes de blockchain lorsqu'elles atteignent leur limite de capacité, tels que l'augmentation des prix du gas et l'accroissement des délais.
Pour atteindre cet objectif, nous avons adopté un modèle de données orienté objet, organisant l'état global en une correspondance entre les ID d'objet et les objets. Cette structure est plus facile à fragmenter et à étendre.
En même temps, nous avons conçu une structure de transaction adaptée à ce modèle de données, permettant d'obtenir et de mettre à jour les données de manière efficace à partir du stockage clé-valeur. Cette conception permet à Sui de se développer continuellement avec l'augmentation du nombre d'utilisateurs tout en maintenant une faible latence.
Q6 : Comment expliquez-vous le potentiel des technologies décentralisées aux développeurs Web2 qui les remettent en question ?
La blockchain et les cryptomonnaies sont essentiellement une technologie qui élimine les frictions. Elles peuvent supprimer les obstacles présents dans les systèmes traditionnels, rendant le transfert d'informations et de valeur plus fluide et efficace.
Un exemple typique est l'agent de séquestre dans les transactions immobilières. Grâce aux contrats intelligents, nous pouvons remplacer les intermédiaires traditionnels par un code transparent, réduisant ainsi les coûts et améliorant l'efficacité.
De manière plus générale, la technologie blockchain peut éliminer les obstacles à l'interopérabilité entre les applications. Imaginez si les données, les objets et la valeur pouvaient circuler librement entre différentes applications, cela ouvrirait d'énormes possibilités pour l'innovation et l'expérience utilisateur.
Pour les développeurs, ces nouvelles technologies ressemblent à une sorte de "super pouvoir", leur permettant de créer des produits plus attrayants et innovants.
Q7: Quelles sont vos attentes pour le développement futur de Sui Move ?
Notre priorité actuelle est d'améliorer Sui Move sur la base des retours des développeurs précoces. Nous nous concentrons principalement sur les aspects suivants :
Améliorer l'évolutivité et la flexibilité des packages, permettant aux développeurs de mettre à jour et d'étendre plus facilement leur code tout en respectant leurs engagements envers les utilisateurs.
Introduire de nouvelles caractéristiques linguistiques, comme les types énumérés, pour renforcer la capacité d'expression de la langue.
Améliorer l'intégration de Move avec le code front-end, rendant l'ensemble du processus de développement d'applications plus fluide.
Explorer comment augmenter la proportion de code Move dans l'application pour améliorer la sécurité globale.
Rendre le programme Move plus facile à comprendre et à utiliser pour les non-programmeurs Move.
Dans l'ensemble, nous nous engageons à faire de Sui Move un langage de développement de contrats intelligents plus puissant, plus flexible et plus facile à utiliser, afin de soutenir la construction de la prochaine génération d'applications Web3.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Le père du langage Move interprète Sui Move : pourquoi il est devenu un outil de construction de produits Web3.
Entretien avec le père du langage Move : pourquoi Sui Move est-il adapté à la construction de produits Web3 ?
Récemment, nous avons eu une conversation avec Sam Blackshear, le directeur technique de Mysten Labs et créateur du langage de programmation Move, au sujet de pourquoi il a développé Sui Move, ce que Sui peut étendre et les avantages des technologies décentralisées pour les constructeurs.
Voici le contenu de cette interview :
Q1 : Pouvez-vous donner un aperçu de ce qu'est un langage de programmation, ce qui préoccupe le plus les développeurs lorsqu'ils choisissent un langage de programmation, et ce qui vous a poussé à développer votre propre langage de programmation ?
Les langages de programmation sont des outils pour interagir de manière amicale, sécurisée, efficace et claire avec les ordinateurs. Dans les langages de programmation, il est le plus important d'avoir une sémantique définie avec précision. L'essence des langages de programmation est de cibler des domaines ou des tâches spécifiques.
Move provient du projet Libra de Facebook. Ma tâche à l'époque était de développer des fonctionnalités de contrats intelligents pour Libra. Après des recherches, j'ai constaté que les langages de contrats intelligents existants laissaient souvent les développeurs déçus.
Les contrats intelligents font principalement deux choses : définir le type d'actif et ses règles, et vérifier les politiques de contrôle d'accès. L'objectif de la conception de Move est de fournir une bonne abstraction pour ces fonctions de base, permettant aux programmeurs d'écrire du code de manière sûre et efficace, sans avoir à réinventer la roue à chaque fois.
Q2: Sui utilise une variante de Move, appelée Sui Move. Qu'est-ce qui a motivé ces changements ? Quelles caractéristiques de Sui Move conviennent particulièrement à la construction de produits dans le Web3 ?
Les facteurs qui ont contribué à ces changements incluent:
Le projet Libra était à l'origine conçu pour établir un réseau de paiement conforme, avec certaines restrictions. Mais dans le domaine plus général du Web3, nous espérons que les choses seront aussi libres que possible.
Nous avons adopté un modèle de données centré sur les objets dans Sui, permettant aux programmeurs de traiter directement les actifs sans avoir à effectuer un travail de comptabilité compliqué. Cela facilite non seulement la tâche des programmeurs, mais c'est également la clé de Sui pour réaliser un traitement parallèle et une mise à l'échelle horizontale.
Nous avons également développé une fonction de bloc de transaction programmable, permettant d'exécuter plusieurs opérations dans une seule transaction.
Ces changements rendent Sui Move plus adapté à la construction de produits Web3, offrant une plus grande flexibilité, efficacité et évolutivité.
Q3 : Pourriez-vous partager plus d'informations sur les blocs de transaction programmables et leurs fonctionnalités ?
Les zones de trading programmables permettent d'exécuter plusieurs opérations dans une seule transaction, semblable à un buffet plutôt qu'à des stands de nourriture où l'on paie séparément. Cela présente plusieurs avantages :
Réduire les frais de gaz, car il est possible de regrouper plusieurs opérations en une seule transaction.
Réduire le nombre d'approbations.
Assurer l'atomicité, garantir que plusieurs opérations connexes réussissent toutes ou échouent toutes.
Autoriser l'emballage des transactions hétérogènes, par exemple, réaliser plusieurs étapes dans une transaction, telles que retirer des actifs d'un portefeuille multi-signature, utiliser des actifs, stocker des récompenses, etc.
Favoriser les "compositions temporaires", où différents composants peuvent travailler ensemble plus facilement dans une transaction, sans avoir besoin d'un couplage étroit.
Ce design rend les opérations complexes plus faciles à réaliser, tout en maintenant l'indépendance et la flexibilité de chaque composant.
Q4 : Que pensez-vous de l'expérience de développement de Sui Move par rapport à d'autres langages de programmation Web3 ?
Selon les retours des développeurs, Sui Move offre une expérience de développement plus efficace et plus sécurisée. Par exemple, certaines équipes de développement ont indiqué qu'elles avaient terminé un projet en seulement deux mois avec Sui Move, alors qu'avec Solidity, cela aurait pu prendre huit mois, et elles ont plus confiance dans la sécurité de leur code.
Cette amélioration provient de notre recherche sur les problèmes des langages existants comme Solidity, ainsi que de la conception ciblée de solutions. Sui Move est spécifiquement conçu pour résoudre les problèmes pratiques rencontrés dans le développement de contrats intelligents, c'est pourquoi les développeurs ressentiront une amélioration significative lorsqu'ils passeront à Sui Move.
Bien que l'avantage du premier arrivé soit important, dans ce cas, l'avantage du second arrivé pourrait être encore plus crucial. Nous pouvons tirer parti des leçons des précédents pour concevoir un langage mieux adapté aux besoins actuels.
Q5 : Comment la conception de Sui Move soutient-elle l'adoption à grande échelle de Web3, avec faible latence, faible coût et évolutivité ?
L'objectif de Sui est d'atteindre une évolutivité horizontale, ce qui signifie qu'en augmentant les ressources matérielles, le débit du système peut être amélioré sans limites. Ce design évite les problèmes rencontrés par d'autres plateformes de blockchain lorsqu'elles atteignent leur limite de capacité, tels que l'augmentation des prix du gas et l'accroissement des délais.
Pour atteindre cet objectif, nous avons adopté un modèle de données orienté objet, organisant l'état global en une correspondance entre les ID d'objet et les objets. Cette structure est plus facile à fragmenter et à étendre.
En même temps, nous avons conçu une structure de transaction adaptée à ce modèle de données, permettant d'obtenir et de mettre à jour les données de manière efficace à partir du stockage clé-valeur. Cette conception permet à Sui de se développer continuellement avec l'augmentation du nombre d'utilisateurs tout en maintenant une faible latence.
Q6 : Comment expliquez-vous le potentiel des technologies décentralisées aux développeurs Web2 qui les remettent en question ?
La blockchain et les cryptomonnaies sont essentiellement une technologie qui élimine les frictions. Elles peuvent supprimer les obstacles présents dans les systèmes traditionnels, rendant le transfert d'informations et de valeur plus fluide et efficace.
Un exemple typique est l'agent de séquestre dans les transactions immobilières. Grâce aux contrats intelligents, nous pouvons remplacer les intermédiaires traditionnels par un code transparent, réduisant ainsi les coûts et améliorant l'efficacité.
De manière plus générale, la technologie blockchain peut éliminer les obstacles à l'interopérabilité entre les applications. Imaginez si les données, les objets et la valeur pouvaient circuler librement entre différentes applications, cela ouvrirait d'énormes possibilités pour l'innovation et l'expérience utilisateur.
Pour les développeurs, ces nouvelles technologies ressemblent à une sorte de "super pouvoir", leur permettant de créer des produits plus attrayants et innovants.
Q7: Quelles sont vos attentes pour le développement futur de Sui Move ?
Notre priorité actuelle est d'améliorer Sui Move sur la base des retours des développeurs précoces. Nous nous concentrons principalement sur les aspects suivants :
Améliorer l'évolutivité et la flexibilité des packages, permettant aux développeurs de mettre à jour et d'étendre plus facilement leur code tout en respectant leurs engagements envers les utilisateurs.
Introduire de nouvelles caractéristiques linguistiques, comme les types énumérés, pour renforcer la capacité d'expression de la langue.
Améliorer l'intégration de Move avec le code front-end, rendant l'ensemble du processus de développement d'applications plus fluide.
Explorer comment augmenter la proportion de code Move dans l'application pour améliorer la sécurité globale.
Rendre le programme Move plus facile à comprendre et à utiliser pour les non-programmeurs Move.
Dans l'ensemble, nous nous engageons à faire de Sui Move un langage de développement de contrats intelligents plus puissant, plus flexible et plus facile à utiliser, afin de soutenir la construction de la prochaine génération d'applications Web3.