dev | oxi

Um blog sobre desenvolvimento de software, Java, Rust e Linux

Rust: Organizando fontes em arquivos e diretórios separados

A documentação oficial do Rust é formidável, porém a explicação sobre a estruturação de arquivos e diretórios pode parecer confusa. Nesse artigo pretendo mostrar de maneira simples - sem se aprofundar em todas possibilidades e detalhes. Vamos conferir!

Rust: Lidando com erro ao misturar borrow imutável e mutável

Ao trabalhar com Rust cedo ou tarde você irá se deparar com o "error[E0502]: cannot borrow ... as immutable because it is also borrowed as mutable". As vezes acontece quando vamos tentar fazer algo simples, coisa que fazemos de maneira corriqueira em outra linguagem. Vamos conferir algumas soluções para contornar esse problema.

Trabalhando com Option em Rust

Diferente de muitas linguagens, Optional type é um mecanismo fundamental no desenvolvimento com Rust - ele está por trás da sua característica null safe. Mas além de funcionar como um Optional pointer, o tipo Option possui alguns recursos bem úteis. Option é um enumerado, em Rust isso significa que temos o poder dos enumerados algébricos, que permite levar consigo um determinado valor. Option é um enumerado de variedade None e Some(T). Muitas de suas operações possuem formato funcional - que faz um callback através de closure, sendo bastante eficiente, pois é invocado somente quando necessário. Vamos explorar isso e muito mais!

Por que Rust? Ou... é possível usar Rust com outras linguagens?

Percebe-se que muitos estudam Rust, experimentam e se apaixonam, mas na prática não usam profissionalmente. A famosa pesquisa anual do Stack Overflow prova isso - há um grande percentual no quesito de linguagem amada, mas baixo quando comparado ao uso.

Por ser uma linguagem relativamente nova e pouco popular, Rust acaba sofrendo algumas barreiras para ser adotado de forma mais ampla. Nesse artigo gostaria de compartilhar a minha experiência para conseguir conciliar o Rust e usar no trabalho ao lado de outras linguagens.