Entrevista com o pai da linguagem Move: por que Sui Move é adequado para construir produtos Web3?
Recentemente, conversamos com Sam Blackshear, o CTO da Mysten Labs e criador da linguagem de programação Move, sobre por que ele desenvolveu a nova linguagem de programação de contratos inteligentes Sui Move, as capacidades de escalabilidade do Sui e os benefícios da tecnologia descentralizada para os construtores.
Segue o conteúdo da entrevista:
Q1: Você pode resumir o que é uma linguagem de programação, o que os desenvolvedores mais consideram ao escolher uma linguagem de programação, e o que o levou a desenvolver sua própria linguagem de programação?
As linguagens de programação são ferramentas para interagir de forma amigável, segura, eficiente e clara com os computadores. Nas linguagens de programação, o mais importante é ter semântica definida de forma precisa. A essência das linguagens de programação é direcionada a domínios ou tarefas específicas.
Move é originário do projeto Libra do Facebook. Minha tarefa na época era desenvolver funcionalidades de contratos inteligentes para o Libra. Após pesquisa, descobri que as linguagens de contratos inteligentes existentes muitas vezes deixavam os desenvolvedores desapontados.
Os contratos inteligentes fazem principalmente duas coisas: definem o tipo de ativo e suas regras, e verificam as políticas de controle de acesso. O objetivo do design do Move é fornecer uma boa abstração para essas funcionalidades básicas, permitindo que os programadores escrevam código de forma segura e eficiente, sem precisar reinventar a roda a cada vez.
Q2: Sui usa uma variante do Move, chamada Sui Move. O que motivou essas mudanças? Quais características do Sui Move são particularmente adequadas para construir produtos na Web3?
Os fatores que impulsionam essas mudanças incluem:
O projeto Libra foi originalmente concebido para construir uma rede de pagamentos conforme, com algumas limitações. Mas no campo mais geral do Web3, esperamos que as coisas sejam o mais livres possível.
Adotamos um modelo de dados orientado a objetos no Sui, permitindo que os programadores possam lidar diretamente com ativos, sem necessidade de realizar trabalhos contábeis complicados. Isso não só facilita a vida dos programadores, como também é a chave para o Sui implementar processamento paralelo e escalabilidade horizontal.
Também desenvolvemos a funcionalidade de bloco de negociação programável, permitindo a execução de múltiplas operações em uma única negociação.
Essas mudanças tornam o Sui Move mais adequado para construir produtos Web3, oferecendo maior flexibilidade, eficiência e escalabilidade.
Q3: Pode compartilhar mais informações sobre os blocos de negociação programáveis e suas funcionalidades?
As zonas de negociação programáveis permitem a execução de várias operações numa única transação, semelhante a um buffet em vez de bancadas de comida onde se paga separadamente. Isto traz várias vantagens:
Reduzir as taxas de gas, pois é possível agrupar várias operações em uma única transação.
Reduzir o número de aprovações.
Implementar a atomicidade, garantindo que múltiplas operações relacionadas sejam todas bem-sucedidas ou todas falhem.
Permitir o empacotamento de transações heterogêneas, como completar várias etapas em uma transação, como retirar ativos de uma carteira multi-assinatura, usar ativos, armazenar recompensas, etc.
Promover "composições temporárias", onde diferentes componentes podem trabalhar mais facilmente em uma transação, sem a necessidade de acoplamento estreito.
Este design torna mais fácil a implementação de operações complexas, mantendo a independência e flexibilidade de cada componente.
Q4: Como é que vê a experiência de desenvolvimento do Sui Move em comparação com outras linguagens de programação Web3?
De acordo com o feedback dos desenvolvedores, o Sui Move oferece uma experiência de desenvolvimento mais eficiente e segura. Por exemplo, algumas equipas de desenvolvimento relataram que levaram apenas dois meses para completar um projeto com o Sui Move, enquanto com o Solidity poderia levar oito meses, e eles se sentem mais confiantes na segurança do código.
Esta melhoria decorre da nossa pesquisa sobre os problemas das linguagens existentes, como o Solidity, e do design direcionado de soluções. O Sui Move foi projetado especificamente para resolver os problemas práticos encontrados no desenvolvimento de contratos inteligentes, portanto, quando os desenvolvedores mudam para o Sui Move, eles sentirão uma melhoria significativa.
Embora a vantagem do primeiro a agir seja importante, nesta situação, a vantagem do segundo a agir pode ser ainda mais crucial. Podemos aprender com as lições do passado para desenhar uma linguagem mais adequada às necessidades atuais.
Q5: Como o design do Sui Move suporta a adoção em larga escala do Web3, com baixa latência, baixo custo e escalabilidade?
O objetivo da Sui é alcançar escalabilidade horizontal, o que significa que a capacidade de processamento do sistema pode ser aumentada indefinidamente através da adição de recursos de hardware. Este design evita os problemas que outras plataformas de blockchain enfrentam quando atingem o limite de capacidade, como o aumento dos preços do gás, aumento da latência, entre outros.
Para alcançar este objetivo, adotamos um modelo de dados orientado a objetos, organizando o estado global como um mapeamento de ID de objeto para objeto. Esta estrutura facilita a fragmentação e a escalabilidade.
Ao mesmo tempo, projetamos uma estrutura de negociação adequada para este modelo de dados, permitindo que ele acesse e atualize dados de forma eficiente a partir do armazenamento de chave-valor. Este design permite que o Sui se expanda continuamente com o aumento do número de usuários, mantendo baixa latência.
Q6: Como explicaria o potencial da tecnologia descentralizada a desenvolvedores Web2 que a questionam?
A tecnologia blockchain e criptomoedas é essencialmente uma tecnologia que remove atritos. Elas podem eliminar os obstáculos existentes nos sistemas tradicionais, tornando a transmissão de informação e valor mais fluida e eficiente.
Um exemplo típico é o agente de custódia em transações imobiliárias. Através de contratos inteligentes, podemos substituir o intermediário tradicional por código transparente, reduzindo custos e aumentando a eficiência.
De uma forma mais ampla, a tecnologia blockchain pode eliminar as barreiras de interoperabilidade entre aplicações. Imagine se os dados, itens e valores pudessem fluir livremente entre diferentes aplicações; isso traria enormes possibilidades para inovação e experiência do usuário.
Para os desenvolvedores, essas novas tecnologias são como uma nova "superpoder", permitindo-lhes criar produtos mais atraentes e inovadores.
Q7: Quais são as suas expectativas para o desenvolvimento futuro do Sui Move?
O nosso foco atual é melhorar o Sui Move com base no feedback dos desenvolvedores iniciais. As principais áreas de atenção são as seguintes:
Aumentar a escalabilidade e flexibilidade do pacote, permitindo que os desenvolvedores atualizem e expandam seu código mais facilmente, mantendo ao mesmo tempo o compromisso com os usuários.
Introduzir novos recursos de linguagem, como tipos de enumeração, para aumentar a expressividade da linguagem.
Melhorar a experiência de integração entre o Move e o código front-end, tornando todo o processo de desenvolvimento da aplicação mais fluido.
Explorar como aumentar a proporção de códigos Move em toda a aplicação para melhorar a segurança global.
Tornar o programa Move mais fácil de ser entendido e utilizado por programadores que não são da Move.
No geral, estamos comprometidos em tornar o Sui Move uma linguagem de desenvolvimento de contratos inteligentes mais poderosa, flexível e fácil de usar, para apoiar a construção da próxima geração de aplicações Web3.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
O pai da linguagem Move interpreta o Sui Move: por que se tornou uma ferramenta poderosa para a construção de produtos Web3
Entrevista com o pai da linguagem Move: por que Sui Move é adequado para construir produtos Web3?
Recentemente, conversamos com Sam Blackshear, o CTO da Mysten Labs e criador da linguagem de programação Move, sobre por que ele desenvolveu a nova linguagem de programação de contratos inteligentes Sui Move, as capacidades de escalabilidade do Sui e os benefícios da tecnologia descentralizada para os construtores.
Segue o conteúdo da entrevista:
Q1: Você pode resumir o que é uma linguagem de programação, o que os desenvolvedores mais consideram ao escolher uma linguagem de programação, e o que o levou a desenvolver sua própria linguagem de programação?
As linguagens de programação são ferramentas para interagir de forma amigável, segura, eficiente e clara com os computadores. Nas linguagens de programação, o mais importante é ter semântica definida de forma precisa. A essência das linguagens de programação é direcionada a domínios ou tarefas específicas.
Move é originário do projeto Libra do Facebook. Minha tarefa na época era desenvolver funcionalidades de contratos inteligentes para o Libra. Após pesquisa, descobri que as linguagens de contratos inteligentes existentes muitas vezes deixavam os desenvolvedores desapontados.
Os contratos inteligentes fazem principalmente duas coisas: definem o tipo de ativo e suas regras, e verificam as políticas de controle de acesso. O objetivo do design do Move é fornecer uma boa abstração para essas funcionalidades básicas, permitindo que os programadores escrevam código de forma segura e eficiente, sem precisar reinventar a roda a cada vez.
Q2: Sui usa uma variante do Move, chamada Sui Move. O que motivou essas mudanças? Quais características do Sui Move são particularmente adequadas para construir produtos na Web3?
Os fatores que impulsionam essas mudanças incluem:
O projeto Libra foi originalmente concebido para construir uma rede de pagamentos conforme, com algumas limitações. Mas no campo mais geral do Web3, esperamos que as coisas sejam o mais livres possível.
Adotamos um modelo de dados orientado a objetos no Sui, permitindo que os programadores possam lidar diretamente com ativos, sem necessidade de realizar trabalhos contábeis complicados. Isso não só facilita a vida dos programadores, como também é a chave para o Sui implementar processamento paralelo e escalabilidade horizontal.
Também desenvolvemos a funcionalidade de bloco de negociação programável, permitindo a execução de múltiplas operações em uma única negociação.
Essas mudanças tornam o Sui Move mais adequado para construir produtos Web3, oferecendo maior flexibilidade, eficiência e escalabilidade.
Q3: Pode compartilhar mais informações sobre os blocos de negociação programáveis e suas funcionalidades?
As zonas de negociação programáveis permitem a execução de várias operações numa única transação, semelhante a um buffet em vez de bancadas de comida onde se paga separadamente. Isto traz várias vantagens:
Reduzir as taxas de gas, pois é possível agrupar várias operações em uma única transação.
Reduzir o número de aprovações.
Implementar a atomicidade, garantindo que múltiplas operações relacionadas sejam todas bem-sucedidas ou todas falhem.
Permitir o empacotamento de transações heterogêneas, como completar várias etapas em uma transação, como retirar ativos de uma carteira multi-assinatura, usar ativos, armazenar recompensas, etc.
Promover "composições temporárias", onde diferentes componentes podem trabalhar mais facilmente em uma transação, sem a necessidade de acoplamento estreito.
Este design torna mais fácil a implementação de operações complexas, mantendo a independência e flexibilidade de cada componente.
Q4: Como é que vê a experiência de desenvolvimento do Sui Move em comparação com outras linguagens de programação Web3?
De acordo com o feedback dos desenvolvedores, o Sui Move oferece uma experiência de desenvolvimento mais eficiente e segura. Por exemplo, algumas equipas de desenvolvimento relataram que levaram apenas dois meses para completar um projeto com o Sui Move, enquanto com o Solidity poderia levar oito meses, e eles se sentem mais confiantes na segurança do código.
Esta melhoria decorre da nossa pesquisa sobre os problemas das linguagens existentes, como o Solidity, e do design direcionado de soluções. O Sui Move foi projetado especificamente para resolver os problemas práticos encontrados no desenvolvimento de contratos inteligentes, portanto, quando os desenvolvedores mudam para o Sui Move, eles sentirão uma melhoria significativa.
Embora a vantagem do primeiro a agir seja importante, nesta situação, a vantagem do segundo a agir pode ser ainda mais crucial. Podemos aprender com as lições do passado para desenhar uma linguagem mais adequada às necessidades atuais.
Q5: Como o design do Sui Move suporta a adoção em larga escala do Web3, com baixa latência, baixo custo e escalabilidade?
O objetivo da Sui é alcançar escalabilidade horizontal, o que significa que a capacidade de processamento do sistema pode ser aumentada indefinidamente através da adição de recursos de hardware. Este design evita os problemas que outras plataformas de blockchain enfrentam quando atingem o limite de capacidade, como o aumento dos preços do gás, aumento da latência, entre outros.
Para alcançar este objetivo, adotamos um modelo de dados orientado a objetos, organizando o estado global como um mapeamento de ID de objeto para objeto. Esta estrutura facilita a fragmentação e a escalabilidade.
Ao mesmo tempo, projetamos uma estrutura de negociação adequada para este modelo de dados, permitindo que ele acesse e atualize dados de forma eficiente a partir do armazenamento de chave-valor. Este design permite que o Sui se expanda continuamente com o aumento do número de usuários, mantendo baixa latência.
Q6: Como explicaria o potencial da tecnologia descentralizada a desenvolvedores Web2 que a questionam?
A tecnologia blockchain e criptomoedas é essencialmente uma tecnologia que remove atritos. Elas podem eliminar os obstáculos existentes nos sistemas tradicionais, tornando a transmissão de informação e valor mais fluida e eficiente.
Um exemplo típico é o agente de custódia em transações imobiliárias. Através de contratos inteligentes, podemos substituir o intermediário tradicional por código transparente, reduzindo custos e aumentando a eficiência.
De uma forma mais ampla, a tecnologia blockchain pode eliminar as barreiras de interoperabilidade entre aplicações. Imagine se os dados, itens e valores pudessem fluir livremente entre diferentes aplicações; isso traria enormes possibilidades para inovação e experiência do usuário.
Para os desenvolvedores, essas novas tecnologias são como uma nova "superpoder", permitindo-lhes criar produtos mais atraentes e inovadores.
Q7: Quais são as suas expectativas para o desenvolvimento futuro do Sui Move?
O nosso foco atual é melhorar o Sui Move com base no feedback dos desenvolvedores iniciais. As principais áreas de atenção são as seguintes:
Aumentar a escalabilidade e flexibilidade do pacote, permitindo que os desenvolvedores atualizem e expandam seu código mais facilmente, mantendo ao mesmo tempo o compromisso com os usuários.
Introduzir novos recursos de linguagem, como tipos de enumeração, para aumentar a expressividade da linguagem.
Melhorar a experiência de integração entre o Move e o código front-end, tornando todo o processo de desenvolvimento da aplicação mais fluido.
Explorar como aumentar a proporção de códigos Move em toda a aplicação para melhorar a segurança global.
Tornar o programa Move mais fácil de ser entendido e utilizado por programadores que não são da Move.
No geral, estamos comprometidos em tornar o Sui Move uma linguagem de desenvolvimento de contratos inteligentes mais poderosa, flexível e fácil de usar, para apoiar a construção da próxima geração de aplicações Web3.