Lançamento do Rust 1.78. A linguagem Borgo, que combina os pontos fortes do Go e do Rust

Foi lançado o Rust 1.78, uma linguagem de programação de propósito geral desenvolvida pela Mozilla, agora gerida pela organização sem fins lucrativos Rust Foundation. A linguagem foca na segurança do gerenciamento de memória e fornece ferramentas para alcançar alta paralelização na execução de tarefas, tudo isso sem a utilização de um coletor de lixo e com um runtime reduzido à inicialização básica e manutenção da biblioteca padrão.

Os métodos de manipulação de memória em Rust protegem o desenvolvedor de erros ao trabalhar com ponteiros e evitam problemas decorrentes de manipulação de memória de baixo nível, como acesso a áreas de memória após sua liberação, desreferenciação de ponteiros nulos, e estouro de buffer, entre outros. Para distribuição de bibliotecas, construção e gerenciamento de dependências, o projeto conta com o gerenciador de pacotes Cargo. O repositório crates.io é suportado para hospedagem de bibliotecas.

A manipulação segura da memória em Rust é garantida em tempo de compilação através da verificação de referências, rastreamento de propriedade de objetos, controle do tempo de vida dos objetos (escopos) e avaliação da correção do acesso à memória durante a execução do código. Rust também oferece mecanismos para proteção contra estouros inteiros, exige a inicialização obrigatória de valores de variáveis antes do uso, trata erros de forma superior na biblioteca padrão, aplica o conceito de referências e variáveis imutáveis (immutable) por padrão e oferece uma forte tipagem estática para minimizar erros lógicos.

Principais novidades:

Além disso, pode-se destacar a linguagem de programação Borgo, que tenta ser mais expressiva que a linguagem Go, mas menos complexa que a linguagem Rust. Borgo combina as melhores características de Go e Rust, preenchendo as lacunas de cada uma dessas linguagens. Por exemplo, a linguagem Go é simples e clara, mas não fornece ferramentas avançadas para garantir segurança ao trabalhar com tipos. A linguagem Rust oferece ferramentas para programação segura, mas é excessivamente complexa. O projeto é desenvolvido por Marco Sampellegrini, autor do livro 'The Simple Haskell Handbook' e desenvolvedor do sistema de integração contínua Quad CI.

Lançamento do Rust 1.78. A linguagem Borgo, que combina os pontos fortes do Go e do Rust

O Borgo utiliza tipagem estática, tipos semelhantes aos da linguagem Go e uma sintaxe parecida com a do Rust. O uso de ponto e vírgula ao final das linhas no código Borgo não é obrigatório. O código na linguagem Borgo é compilado para um formato em Go, que é totalmente compatível com os pacotes existentes da linguagem Go. O código do compilador é escrito em Rust e distribuído sob a licença ISC. use fmt enum NetworkState { Loading, Failed(int), Success(T), } struct Response { title: string, duration: int, } fn main() { let res = Response { title: "Hello world", duration: 0, } let state = NetworkState.Success(res) let msg = match state { NetworkState.Loading => "ainda carregando", NetworkState.Failed(code) => fmt.Sprintf("Código de erro obtido: %d", code), NetworkState.Success(res) => res.title, } fmt.Println(msg) }

Fonte:
opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster