Rust

Try/Catch: Origem, Propósito e o Erro de Usá-lo como Fluxo Lógico

tratamento de erros exceções javascript typescript rust clojure boas práticas c++
Entenda quando, por que e para que o try/catch foi criado, e por que ele não deve ser usado como controle de fluxo lógico.

O tratamento de exceções surgiu para separar o fluxo normal do programa do tratamento de situações inesperadas, como falhas de hardware ou erros de entrada/saída. Inicialmente, programas usavam códigos de retorno para lidar com erros, mas isso era propenso a falhas e difícil de manter.

O modelo de tratamento estruturado de exceções evoluiu desde os anos 60, ganhando formas mais concretas em linguagens como PL/I, Ada, C++ e Java, e depois sendo adotado por outras como JavaScript.

Leia mais →

Como o compilador do Rust funciona?

Rust Compiladores LLVM Memória Segurança
Uma visão geral do compilador do Rust

Introdução

O Rust é famoso por ser uma linguagem que evita muitos erros de memória sem precisar de um coletor de lixo rodando em segundo plano. Mas como ele faz isso? O segredo está no compilador, que passa seu código por várias etapas até virar um programa que o computador entende.

Neste artigo, explicarei de forma simples cada fase desse processo: desde a leitura do código lexing, passando pela análise da estrutura parsing, até a geração do código final pelo LLVM.

Leia mais →