Entrevista com o pai da linguagem Move: por que a linguagem de contratos inteligentes Sui Move é adequada para construir produtos Web3?
Recentemente, conversamos com Sam Blackshear, o diretor de tecnologia 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, primeiro, você pode resumir o que é uma linguagem de programação, quais qualidades os desenvolvedores mais se preocupam 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 uma ferramenta para interagir de forma amigável, segura, eficiente e clara com os computadores. Isso é especialmente importante para os computadores. Não podemos nos comunicar com os computadores usando linguagem natural, pois o significado total da linguagem natural é rico e expressivo.
Na programação, o mais importante é ter semântica definida com precisão. Quando você escreve um programa, sabe exatamente o que ele vai fazer. Se você fizer pequenos ajustes, sabe qual será o resultado dessa mudança.
Eu acho que, ao contrário das linguagens naturais, a essência das linguagens de programação é direcionada a áreas ou tarefas específicas. Caso contrário, seria possível usar uma única linguagem de programação para completar todas as tarefas. Mas a razão pela qual existem várias linguagens de programação é que não é possível ter um bom desempenho em todas as áreas. Elas estão se esforçando para se direcionar a domínios de problemas específicos e estão focadas em resolver esses problemas.
Portanto, a história do Move é muito semelhante a isso. Quando o criei, não foi para criar uma nova linguagem. Os desenvolvedores, ao escolher uma linguagem, perguntam: "Essa linguagem é adequada para a tarefa que quero realizar?" Mas eu acho que talvez seja mais importante: "Essa linguagem tem uma comunidade grande? Existem muitas bases de dados disponíveis? Há muitos programadores utilizando? Existem bons recursos educacionais?" Tudo isso é muito importante, portanto, o limiar para criar uma nova linguagem deve ser muito alto.
Q2, você pode compartilhar mais sobre o desenvolvimento do Move?
Move originou-se no projeto Libra do Facebook. Minha tarefa na época não era criar uma nova linguagem, mas sim "Libra precisa ter contratos inteligentes, então descubra o que devemos fazer." Eu examinei uma variedade de coisas. Podemos usar Solidity no EVM? Devemos usar uma linguagem geral comum, como WASM ou JVM, e aplicá-la ao Libra? Ou deveríamos criar algo nosso?
A decisão de criar nossas próprias soluções baseou-se em um estudo dos contratos inteligentes existentes, entendendo o que os programadores estavam tentando fazer e onde certas linguagens os ajudavam e os decepcionavam. Minha conclusão é que, em muitos casos, as linguagens de contratos inteligentes existentes realmente os decepcionaram.
Este ponto pode ser claramente visto a partir do mau histórico de segurança do Solidity, mas mais fundamentalmente, esses contratos inteligentes não são exatamente o tipo de programa tradicional. Solidity não é uma linguagem construída para as coisas que as pessoas estão fazendo agora.
Portanto, esses contratos inteligentes são muito simples, eles basicamente fazem duas coisas. Eles definem o tipo de ativo, incluindo quando o ativo pode ser transferido, o que você pode fazer com ele, quem pode lê-lo, quem pode escrever as regras. E verificam as políticas de controle de acesso, determinando quem possui o ativo, quem tem permissão para usá-lo, quem tem permissão para operá-lo. Tudo gira em torno do ativo, você deseja que esses ativos tenham as mesmas propriedades que os ativos físicos.
Nos contratos inteligentes, existe o conceito de propriedade e transferência de propriedade, mas no computador, tudo é apenas dígitos e bytes, e pode ser copiado livremente. Além disso, você sabe que esses conceitos não existem no mundo real. Portanto, você deseja uma linguagem que possa fornecer uma boa abstração sobre propriedade e homogeneidade. Assim como no mundo real, mas sem forçar os programadores a reinventá-lo. Você espera obter garantias básicas de segurança.
Esta é a função do Move e porque finalmente criámos esta nova linguagem. Estas tarefas são fundamentais para a programação de contratos inteligentes. Elas são difíceis de recriar em outras linguagens, incluindo as linguagens de contratos inteligentes existentes, e queremos desenhar toda a linguagem em torno da oferta destas funcionalidades básicas, para que os programadores possam escrever código de forma segura e eficiente, sem ter que reinventar a roda sempre que desejam escrever algum código.
Q3, Sui usou uma variante do Move, chamada Sui Move. O que motivou essas mudanças? Quais características do Sui Move são muito adequadas para construir produtos no Web3?
Os seguintes fatores impulsionaram essas mudanças, sendo um deles o objetivo original do projeto Libra de construir uma rede de pagamento em conformidade. Portanto, tentamos projetar o Move como uma linguagem genérica. Mas também fizemos algumas coisas de forma consciente, pois a Libra queria ter restrições. Uma das coisas importantes é que eles não queriam que as pessoas pudessem enviar certos ativos para qualquer lugar. Eles queriam que as pessoas criassem uma conta de forma explícita e estabelecessem algumas regras no momento da criação da conta, como o proprietário da conta deve passar pela verificação KYC. Ou talvez seja necessário pagar uma taxa para criar a conta, ou apenas uma pequena parte das pessoas que têm permissão para criar contas pode fazê-lo. Como o objetivo geral é que a Libra deseja realizar pagamentos em conformidade e contratos inteligentes em conformidade, existem essas restrições. Mas no campo mais genérico do Web3, a situação é exatamente o oposto. Você não quer que a conformidade ocorra no nível fundamental, esse é o conceito de contratos inteligentes. Você quer que as coisas sejam o mais livres possível, podendo enviar algo para qualquer endereço. Então, você não deve criar contas explicitamente, pois isso bloquearia vários casos de uso. Este é um fator importante.
Outro fator é que, embora tenhamos nos concentrado em ativos no Move, na época no Libra não consideramos como trazer o foco nos ativos para a própria transação. Portanto, quando você chega ao nível da transação, você ainda tem apenas essa API, onde você insere números e valores booleanos, etc., que não são ativos, e então no Move, você usa esses números para retirar ativos da conta e realizar outras operações. A verdade é que a maior parte do código que você executa é esse trabalho de contabilidade irritante, que inclui retirar essa coisa, retirar aquela coisa, retirar outras coisas, certo, eu tenho todos os ativos que quero. Eles estão aqui, no meu estúdio, agora posso começar a fazer algo significativo. Então, no final desse processo, você pode dizer: "Certo, coloque esses ativos de volta nesta conta, coloque-os de volta naquela conta, reorganize-os."
No Sui, após cuidadosa consideração, podemos abstrair isso se cada programa começar e terminar dessa maneira? Assim, a lógica para processar transações permitirá que os programadores realizem essa operação; do ponto de vista do programador, eles só precisam preparar os ativos necessários e começar imediatamente a fazer o trabalho interessante. Esse é o modelo de dados centrado em objetos que existe no Sui. No Move original, temos um modelo de dados baseado em contas, onde os ativos são armazenados sob contas e os programadores devem extraí-los explicitamente. Já no Sui, ao entrar na parte do Move da transação, os ativos já foram adquiridos pelo runtime do Sui. Isso é mais conveniente para os programadores, pois eles não precisam fazer todo esse trabalho de contabilidade antes e depois, e também é a arma secreta que nos permite determinar, sem realmente executar, se uma transação pode ser executada em paralelo com outra, escalar o Sui horizontalmente e realizar outras operações de maneira mais eficiente.
Fizemos também alguns trabalhos muito interessantes, como a utilização de modelos de dados baseados em objetos para criar blocos de transação programáveis. Este é um tema um pouco técnico, e terei todo o prazer em discutir mais a fundo. Mas estes dois fatores são o principal motor que leva às divergências em relação ao Move original.
Q4, pode compartilhar mais informações sobre blocos de transação programáveis e suas funções?
Gosto de usar uma analogia para explicar, outras blockchains são como a praça de alimentação de um centro comercial. Se você quer um gelado, vai ao quiosque de gelados e usa o seu cartão de crédito para pagar. Mas se você decidir que também quer um hambúrguer, vai ao quiosque de hambúrgueres e paga novamente. Não sou uma pessoa gulosa, mas se eu quiser comer oito coisas, terei que fazer oito transações separadas. E a Sui é mais como um buffet, onde cada transação não é apenas uma coisa. Uma vez que você pagou a taxa do buffet, pode fazer muitas coisas sem custo adicional. Você pode comer gelado, pode comer hambúrguer, pode misturá-los.
Para tornar este conceito mais concreto, em uma situação simples, se você quiser enviar 100 transações para cunhar 100 NFTs, você pode enviar uma transação que cunhe 100 NFTs. O custo desse tipo de transação é praticamente o mesmo que o custo de cunhar um NFT. Você também pode realizar o empacotamento de transações heterogêneas, como a primeira transação no bloco retirando um personagem Mario da sua carteira multi-assinatura, enquanto a segunda transação solicita um Mario e permite que você jogue. Se você ganhar o jogo e receber um troféu, talvez a terceira transação coloque o troféu em um armário de troféus compartilhado com amigos. O legal é que os blocos de transações programáveis permitem que os programadores escrevam código dessa maneira, e o jogo não precisa saber como a carteira multi-assinatura ou o Mario estão armazenados, nem precisa saber sobre o seu armário de troféus ou como ele é implementado.
Os blocos de transação programáveis são compostos por transações que têm objetos de entrada e saída. Se você precisar de um objeto de entrada, pode obtê-lo sem se preocupar de onde ele vem, e em seguida, passar sua saída para o objeto que precisa dele, também sem se preocupar para onde será passado. Em outras blockchains, o acoplamento é mais forte, então os jogos devem ser integrados com carteiras multi-assinatura e troféus, ou todos devem implementar algumas interfaces comuns e ter um acoplamento mais forte. O Sui torna mais fácil o que é chamado de combinação temporária. Assim, se os tubos coincidirem, podemos concluir em uma única transação.
Q5, quais são os benefícios de um bloco de transação programável para os usuários?
Os benefícios dos blocos de negociação programáveis para os usuários incluem taxas de gas mais baixas, uma vez que você pode agrupar todas as operações em uma única transação, em vez de realizar transações separadas. Além disso, o número de aprovações necessárias também será reduzido. Se o sistema que você está usando requer aprovação de transação, você precisa fazer uma única aprovação e, em seguida, ela concluirá todas as operações de uma só vez. Outro benefício é a atomicidade; se você deseja realizar três coisas diferentes e deseja que a terceira operação só seja bem-sucedida se as duas primeiras operações forem bem-sucedidas, se essas operações tiverem que ser transações independentes, você não poderá realizar isso. Mas, se você puder agrupá-las em uma única transação, então você pode facilmente realizar isso.
Q6, Eu ouvi você e outras pessoas falarem que desenvolver na Sui é uma ótima experiência para programadores, e isso é importante. Você tem alguma anedota para compartilhar sobre programadores Web3 experientes e novos começando a usar Sui Move?
Para os desenvolvedores que vêm de outras linguagens de programação Web3, a experiência de desenvolvimento em Move e Sui Move é realmente mais eficiente e segura. Acabei de participar de um podcast sobre o Bucket Protocol, que está a construir um projeto DeFi muito interessante em Sui. Eles mostraram a arquitetura do sistema e explicaram como os diferentes componentes trabalham em conjunto. Disseram que, se estivessem a escrever este projeto em Solidity, poderia levar oito meses, mas com Sui Move levaram apenas dois meses, e estão muito confiantes na sua segurança. A maneira como esta linguagem funciona está muito próxima da ideia que têm em mente sobre o portfólio de projetos. Já no domínio do Solidity, essa ligação não é tão direta.
Este é apenas um exemplo, mas ouvimos muitas situações semelhantes, onde as pessoas disseram que o ritmo de desenvolvimento nesta linguagem é mais rápido e que se sentem mais confiantes após a conclusão. Ouvir isso me deixa feliz. Mas, de certa forma, não é surpreendente; estudamos o Solidity e entendemos os problemas que ele apresenta. Projetamos claramente soluções em torno de como torná-lo mais seguro e mais rápido. Examinamos o que os desenvolvedores que usam esta linguagem estão tentando fazer e como projetar uma linguagem que atenda às suas necessidades, em vez de se adaptar às situações existentes. Esta linguagem foi projetada para os problemas que as pessoas encontram, então quando elas fazem a transição, realmente apreciam muito esta linguagem.
Eles dizem que a vantagem de ser o primeiro é muito importante, mas eu acho que, neste caso, a vantagem de ser o último é mais importante.
Isso mesmo.
 e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
15 Curtidas
Recompensa
15
5
Repostar
Compartilhar
Comentário
0/400
DegenWhisperer
· 08-18 15:44
O velho Hei falou bem desta vez.
Ver originalResponder0
BearMarketBro
· 08-18 06:41
Novos idiotas, melhor não aparecer.
Ver originalResponder0
OnchainDetective
· 08-17 04:31
move fantástico sui segue Até à lua
Ver originalResponder0
GateUser-44a00d6c
· 08-17 04:22
Já estou a seguir o Move fantástico
Ver originalResponder0
AirdropHuntress
· 08-17 04:22
A velocidade de iteração do código do Sui é duvidosa, os dados mostram que a atividade da Rede principal não atende aos padrões.
Interpretação do fundador da Move: por que o Sui Move é mais adequado para construir produtos Web3
Entrevista com o pai da linguagem Move: por que a linguagem de contratos inteligentes Sui Move é adequada para construir produtos Web3?
Recentemente, conversamos com Sam Blackshear, o diretor de tecnologia 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, primeiro, você pode resumir o que é uma linguagem de programação, quais qualidades os desenvolvedores mais se preocupam 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 uma ferramenta para interagir de forma amigável, segura, eficiente e clara com os computadores. Isso é especialmente importante para os computadores. Não podemos nos comunicar com os computadores usando linguagem natural, pois o significado total da linguagem natural é rico e expressivo.
Na programação, o mais importante é ter semântica definida com precisão. Quando você escreve um programa, sabe exatamente o que ele vai fazer. Se você fizer pequenos ajustes, sabe qual será o resultado dessa mudança.
Eu acho que, ao contrário das linguagens naturais, a essência das linguagens de programação é direcionada a áreas ou tarefas específicas. Caso contrário, seria possível usar uma única linguagem de programação para completar todas as tarefas. Mas a razão pela qual existem várias linguagens de programação é que não é possível ter um bom desempenho em todas as áreas. Elas estão se esforçando para se direcionar a domínios de problemas específicos e estão focadas em resolver esses problemas.
Portanto, a história do Move é muito semelhante a isso. Quando o criei, não foi para criar uma nova linguagem. Os desenvolvedores, ao escolher uma linguagem, perguntam: "Essa linguagem é adequada para a tarefa que quero realizar?" Mas eu acho que talvez seja mais importante: "Essa linguagem tem uma comunidade grande? Existem muitas bases de dados disponíveis? Há muitos programadores utilizando? Existem bons recursos educacionais?" Tudo isso é muito importante, portanto, o limiar para criar uma nova linguagem deve ser muito alto.
Q2, você pode compartilhar mais sobre o desenvolvimento do Move?
Move originou-se no projeto Libra do Facebook. Minha tarefa na época não era criar uma nova linguagem, mas sim "Libra precisa ter contratos inteligentes, então descubra o que devemos fazer." Eu examinei uma variedade de coisas. Podemos usar Solidity no EVM? Devemos usar uma linguagem geral comum, como WASM ou JVM, e aplicá-la ao Libra? Ou deveríamos criar algo nosso?
A decisão de criar nossas próprias soluções baseou-se em um estudo dos contratos inteligentes existentes, entendendo o que os programadores estavam tentando fazer e onde certas linguagens os ajudavam e os decepcionavam. Minha conclusão é que, em muitos casos, as linguagens de contratos inteligentes existentes realmente os decepcionaram.
Este ponto pode ser claramente visto a partir do mau histórico de segurança do Solidity, mas mais fundamentalmente, esses contratos inteligentes não são exatamente o tipo de programa tradicional. Solidity não é uma linguagem construída para as coisas que as pessoas estão fazendo agora.
Portanto, esses contratos inteligentes são muito simples, eles basicamente fazem duas coisas. Eles definem o tipo de ativo, incluindo quando o ativo pode ser transferido, o que você pode fazer com ele, quem pode lê-lo, quem pode escrever as regras. E verificam as políticas de controle de acesso, determinando quem possui o ativo, quem tem permissão para usá-lo, quem tem permissão para operá-lo. Tudo gira em torno do ativo, você deseja que esses ativos tenham as mesmas propriedades que os ativos físicos.
Nos contratos inteligentes, existe o conceito de propriedade e transferência de propriedade, mas no computador, tudo é apenas dígitos e bytes, e pode ser copiado livremente. Além disso, você sabe que esses conceitos não existem no mundo real. Portanto, você deseja uma linguagem que possa fornecer uma boa abstração sobre propriedade e homogeneidade. Assim como no mundo real, mas sem forçar os programadores a reinventá-lo. Você espera obter garantias básicas de segurança.
Esta é a função do Move e porque finalmente criámos esta nova linguagem. Estas tarefas são fundamentais para a programação de contratos inteligentes. Elas são difíceis de recriar em outras linguagens, incluindo as linguagens de contratos inteligentes existentes, e queremos desenhar toda a linguagem em torno da oferta destas funcionalidades básicas, para que os programadores possam escrever código de forma segura e eficiente, sem ter que reinventar a roda sempre que desejam escrever algum código.
Q3, Sui usou uma variante do Move, chamada Sui Move. O que motivou essas mudanças? Quais características do Sui Move são muito adequadas para construir produtos no Web3?
Os seguintes fatores impulsionaram essas mudanças, sendo um deles o objetivo original do projeto Libra de construir uma rede de pagamento em conformidade. Portanto, tentamos projetar o Move como uma linguagem genérica. Mas também fizemos algumas coisas de forma consciente, pois a Libra queria ter restrições. Uma das coisas importantes é que eles não queriam que as pessoas pudessem enviar certos ativos para qualquer lugar. Eles queriam que as pessoas criassem uma conta de forma explícita e estabelecessem algumas regras no momento da criação da conta, como o proprietário da conta deve passar pela verificação KYC. Ou talvez seja necessário pagar uma taxa para criar a conta, ou apenas uma pequena parte das pessoas que têm permissão para criar contas pode fazê-lo. Como o objetivo geral é que a Libra deseja realizar pagamentos em conformidade e contratos inteligentes em conformidade, existem essas restrições. Mas no campo mais genérico do Web3, a situação é exatamente o oposto. Você não quer que a conformidade ocorra no nível fundamental, esse é o conceito de contratos inteligentes. Você quer que as coisas sejam o mais livres possível, podendo enviar algo para qualquer endereço. Então, você não deve criar contas explicitamente, pois isso bloquearia vários casos de uso. Este é um fator importante.
Outro fator é que, embora tenhamos nos concentrado em ativos no Move, na época no Libra não consideramos como trazer o foco nos ativos para a própria transação. Portanto, quando você chega ao nível da transação, você ainda tem apenas essa API, onde você insere números e valores booleanos, etc., que não são ativos, e então no Move, você usa esses números para retirar ativos da conta e realizar outras operações. A verdade é que a maior parte do código que você executa é esse trabalho de contabilidade irritante, que inclui retirar essa coisa, retirar aquela coisa, retirar outras coisas, certo, eu tenho todos os ativos que quero. Eles estão aqui, no meu estúdio, agora posso começar a fazer algo significativo. Então, no final desse processo, você pode dizer: "Certo, coloque esses ativos de volta nesta conta, coloque-os de volta naquela conta, reorganize-os."
No Sui, após cuidadosa consideração, podemos abstrair isso se cada programa começar e terminar dessa maneira? Assim, a lógica para processar transações permitirá que os programadores realizem essa operação; do ponto de vista do programador, eles só precisam preparar os ativos necessários e começar imediatamente a fazer o trabalho interessante. Esse é o modelo de dados centrado em objetos que existe no Sui. No Move original, temos um modelo de dados baseado em contas, onde os ativos são armazenados sob contas e os programadores devem extraí-los explicitamente. Já no Sui, ao entrar na parte do Move da transação, os ativos já foram adquiridos pelo runtime do Sui. Isso é mais conveniente para os programadores, pois eles não precisam fazer todo esse trabalho de contabilidade antes e depois, e também é a arma secreta que nos permite determinar, sem realmente executar, se uma transação pode ser executada em paralelo com outra, escalar o Sui horizontalmente e realizar outras operações de maneira mais eficiente.
Fizemos também alguns trabalhos muito interessantes, como a utilização de modelos de dados baseados em objetos para criar blocos de transação programáveis. Este é um tema um pouco técnico, e terei todo o prazer em discutir mais a fundo. Mas estes dois fatores são o principal motor que leva às divergências em relação ao Move original.
Q4, pode compartilhar mais informações sobre blocos de transação programáveis e suas funções?
Gosto de usar uma analogia para explicar, outras blockchains são como a praça de alimentação de um centro comercial. Se você quer um gelado, vai ao quiosque de gelados e usa o seu cartão de crédito para pagar. Mas se você decidir que também quer um hambúrguer, vai ao quiosque de hambúrgueres e paga novamente. Não sou uma pessoa gulosa, mas se eu quiser comer oito coisas, terei que fazer oito transações separadas. E a Sui é mais como um buffet, onde cada transação não é apenas uma coisa. Uma vez que você pagou a taxa do buffet, pode fazer muitas coisas sem custo adicional. Você pode comer gelado, pode comer hambúrguer, pode misturá-los.
Para tornar este conceito mais concreto, em uma situação simples, se você quiser enviar 100 transações para cunhar 100 NFTs, você pode enviar uma transação que cunhe 100 NFTs. O custo desse tipo de transação é praticamente o mesmo que o custo de cunhar um NFT. Você também pode realizar o empacotamento de transações heterogêneas, como a primeira transação no bloco retirando um personagem Mario da sua carteira multi-assinatura, enquanto a segunda transação solicita um Mario e permite que você jogue. Se você ganhar o jogo e receber um troféu, talvez a terceira transação coloque o troféu em um armário de troféus compartilhado com amigos. O legal é que os blocos de transações programáveis permitem que os programadores escrevam código dessa maneira, e o jogo não precisa saber como a carteira multi-assinatura ou o Mario estão armazenados, nem precisa saber sobre o seu armário de troféus ou como ele é implementado.
Os blocos de transação programáveis são compostos por transações que têm objetos de entrada e saída. Se você precisar de um objeto de entrada, pode obtê-lo sem se preocupar de onde ele vem, e em seguida, passar sua saída para o objeto que precisa dele, também sem se preocupar para onde será passado. Em outras blockchains, o acoplamento é mais forte, então os jogos devem ser integrados com carteiras multi-assinatura e troféus, ou todos devem implementar algumas interfaces comuns e ter um acoplamento mais forte. O Sui torna mais fácil o que é chamado de combinação temporária. Assim, se os tubos coincidirem, podemos concluir em uma única transação.
Q5, quais são os benefícios de um bloco de transação programável para os usuários?
Os benefícios dos blocos de negociação programáveis para os usuários incluem taxas de gas mais baixas, uma vez que você pode agrupar todas as operações em uma única transação, em vez de realizar transações separadas. Além disso, o número de aprovações necessárias também será reduzido. Se o sistema que você está usando requer aprovação de transação, você precisa fazer uma única aprovação e, em seguida, ela concluirá todas as operações de uma só vez. Outro benefício é a atomicidade; se você deseja realizar três coisas diferentes e deseja que a terceira operação só seja bem-sucedida se as duas primeiras operações forem bem-sucedidas, se essas operações tiverem que ser transações independentes, você não poderá realizar isso. Mas, se você puder agrupá-las em uma única transação, então você pode facilmente realizar isso.
Q6, Eu ouvi você e outras pessoas falarem que desenvolver na Sui é uma ótima experiência para programadores, e isso é importante. Você tem alguma anedota para compartilhar sobre programadores Web3 experientes e novos começando a usar Sui Move?
Para os desenvolvedores que vêm de outras linguagens de programação Web3, a experiência de desenvolvimento em Move e Sui Move é realmente mais eficiente e segura. Acabei de participar de um podcast sobre o Bucket Protocol, que está a construir um projeto DeFi muito interessante em Sui. Eles mostraram a arquitetura do sistema e explicaram como os diferentes componentes trabalham em conjunto. Disseram que, se estivessem a escrever este projeto em Solidity, poderia levar oito meses, mas com Sui Move levaram apenas dois meses, e estão muito confiantes na sua segurança. A maneira como esta linguagem funciona está muito próxima da ideia que têm em mente sobre o portfólio de projetos. Já no domínio do Solidity, essa ligação não é tão direta.
Este é apenas um exemplo, mas ouvimos muitas situações semelhantes, onde as pessoas disseram que o ritmo de desenvolvimento nesta linguagem é mais rápido e que se sentem mais confiantes após a conclusão. Ouvir isso me deixa feliz. Mas, de certa forma, não é surpreendente; estudamos o Solidity e entendemos os problemas que ele apresenta. Projetamos claramente soluções em torno de como torná-lo mais seguro e mais rápido. Examinamos o que os desenvolvedores que usam esta linguagem estão tentando fazer e como projetar uma linguagem que atenda às suas necessidades, em vez de se adaptar às situações existentes. Esta linguagem foi projetada para os problemas que as pessoas encontram, então quando elas fazem a transição, realmente apreciam muito esta linguagem.
Eles dizem que a vantagem de ser o primeiro é muito importante, mas eu acho que, neste caso, a vantagem de ser o último é mais importante.
Isso mesmo.
![Entrevista com o pai da linguagem Move: por que a linguagem de contratos inteligentes Sui Move é adequada para construir produtos Web3?](