![Como medir a engenharia da plataforma](https://optimuscloud.com.br/wp-content/uploads/2024/07/1720045325_Como-medir-a-engenharia-da-plataforma-150x150.jpg)
Como medir a engenharia da plataforma
3 de julho de 2024![Galeria de fotos do Transform 2019](https://optimuscloud.com.br/wp-content/uploads/2024/07/1720070524_Anunciando-os-finalistas-do-6o-VentureBeat-AI-Innovations-Awards-anual-150x150.jpg)
Anunciando os finalistas do 6º VentureBeat AI Innovations Awards anual
4 de julho de 2024Rust_core versão 1.0.0 foi lançada.
De acordo com o subreddit r/dartlang, rust_core é uma implementação da biblioteca principal do Rust no Dart.
Ao fazer ajustes nos recursos do Rust para se alinhar aos princípios do Dart, o objetivo da implementação é criar uma integração natural e perfeita entre as duas linguagens. Isso permite que os desenvolvedores usem ferramentas avançadas que antes eram exclusivas dos desenvolvedores Rust, permitindo uma transição suave entre as linguagens.
Os objetivos do projeto afirmam que “rust_core se esforça para trazer confiabilidade e desempenho em todos os recursos. Cada recurso é testado de forma robusta. Mais de 500 conjuntos de testes significativos e contando.”
Além disso, “para desenvolvedores Rust envolvidos em programação com Dart, ou desenvolvedores Dart interessados em programação idiomática e segura, desenvolvemos ‘rust_core’, um pacote projetado para implementar a biblioteca principal de Rust em Dart”, escreveu Henry McMahon em uma postagem no blog em novembro passado.
A empresa por trás do projeto ferrugem_core se chama Voyver, uma startup na área de IA e software educacional. McMahon é o principal mantenedor da equipe de rust_core.
“Usamos principalmente Dart e Rust em nossa pilha”, disse ele ao The New Stack. “Uma API comum foi identificada como uma peça que faltava principalmente para a equipe de desenvolvedores e base de código do Rust. Rust_core resolveu isso para nós.”
Livro Núcleo de Ferrugem
Para apoiar a versão 1.0.0, o projeto também lançou o Rust Core Book.
O Rust Core Book apresenta um FAQ, que inclui como primeira pergunta: Por que usar o Rust Core mesmo que eu não conheça o Rust?
Em resposta, o FAQ diz: “Do ponto de vista da linguagem, acreditamos que o Dart está infelizmente ausente em algumas áreas, das quais este pacote resolve:
- O Dart utiliza exceções try/catch não verificadas. O tratamento de erros como valores é preferido para a manutenção, portanto, o
Result
tipo. - O Dart tem tipos anuláveis, mas você não pode executar operações específicas nulas ou não nulas sem um monte de
if
declarações.Option<T>
corrige isso sem custo de tempo de execução e você pode alternar facilmente para tipos anuláveis, pois é apenas um tipo de extensão de custo zero deT?
. - Dart está faltando a funcionalidade do Rust
?
operador, então o implementamos no Dart. - Dart está faltando um integrado
Cell
tipo ou equivalente (eOnceCell
/LazyCell
). - Dardos
List
type é uma união array/vetor (pode crescer ou não). Isso não é visível na camada de tipo, o que pode levar a exceções de tempo de execução e incentiva o uso de expansíveisList
está em todo lugar, mesmo quando você não precisa, o que tem menos desempenho. Então você adicionouArr
(variedade). - O Dart não tem conceito de tipo de fatia, portanto, alocar sublistas é o único método, que não é tão eficiente. Então você adicionou
Slice<T>
. - A comunicação isolada do Dart é por portas (
ReceivePort
/SendPort
), que não é digitado e é horrível, padronizamos isso introduzindochannel
para comunicação isolada bidirecional digitada. - Os métodos de iteração do Dart estão faltando para
Iterable
eIterator
(não há nenhum! apenasmoveNext()
ecurrent
), enquanto Rust tem uma abundância de métodos úteis. Então apresentamos o Rust’sIterator
.”
Enquanto isso, Rust está sendo adotado de forma mais ampla em casos de uso onde a programação com segurança de memória é recomendada.
A postagem Rust encontra Dart com o lançamento de rust_core 1.0.0 apareceu pela primeira vez em The New Stack.