Categoria

Linguagens de Programação e Runtimes

Zig: a linguagem de sistemas que quer substituir C sem a complexidade do Rust
Linguagens de Programação e Runtimes

Zig: a linguagem de sistemas que quer substituir C sem a complexidade do Rust

No coração da programação de sistemas, existe um dilema persistente. De um lado, C, a linguagem que construiu a infraestrutura digital moderna — sistemas operacionais, kernels, firmware, bancos de dados. C é poderoso, direto e dá ao programador controle absoluto sobre o hardware. Mas C é frágil: buffer overflows, ponteiros nulos, uso após liberação e comportamento indefinido são armadilhas que assombram até os desenvolvedores mais experientes.

08/12/2023
Introdução ao desenvolvimento web com Gleam e frameworks emergentes na BEAM
Linguagens de Programação e Runtimes 07/12/2023

Introdução ao desenvolvimento web com Gleam e frameworks emergentes na BEAM

Gleam é uma linguagem de programação moderna que compila para a BEAM (Bogdan/Björn's Erlang Abstract Machine), a mesma máquina virtual que executa Erlang e Elixir. Sua principal característica é oferecer um sistema de tipos estáticos rigoroso, inspirado em linguagens como Haskell e Elm, combinado com uma sintaxe limpa e familiar para desenvolvedores que já trabalham com JavaScript, Python ou Rust.

Metaprogramação em Ruby: como e quando usar method_missing e define_method
Linguagens de Programação e Runtimes 09/11/2023

Metaprogramação em Ruby: como e quando usar method_missing e define_method

Metaprogramação é a técnica de escrever código que escreve código durante a execução. Ruby é uma linguagem particularmente favorável a essa abordagem devido à sua natureza dinâmica: classes podem ser abertas e modificadas a qualquer momento, objetos podem ganhar novos métodos em tempo real, e a introspecção é parte fundamental da linguagem.

Concorrência em Go: goroutines e channels na prática
Linguagens de Programação e Runtimes 22/10/2023

Concorrência em Go: goroutines e channels na prática

A linguagem Go foi projetada desde sua origem para lidar com concorrência de forma simples e eficiente. Diferentemente de linguagens tradicionais que dependem de threads do sistema operacional, Go introduziu as goroutines — threads leves gerenciadas pela própria runtime. Uma goroutine consome apenas alguns kilobytes de pilha, permitindo que milhares delas executem simultaneamente sem sobrecarregar o sistema.

Introdução ao desenvolvimento com Nim para ferramentas de sistema
Linguagens de Programação e Runtimes 14/10/2023

Introdução ao desenvolvimento com Nim para ferramentas de sistema

Nim compila para C, o que significa que seus programas rodam sem a necessidade de uma máquina virtual ou runtime pesado. O binário gerado é nativo, pequeno e eficiente — características essenciais para ferramentas de sistema que precisam inicializar rapidamente e consumir poucos recursos. Além disso, a interoperabilidade com bibliotecas C é direta, permitindo chamar funções do sistema operacional sem camadas de abstração custosas.

Programação concorrente com channels em Go
Linguagens de Programação e Runtimes 24/09/2023

Programação concorrente com channels em Go

Go foi projetado desde sua origem para lidar com concorrência de forma nativa e elegante. O coração desse modelo são as goroutines — funções ou métodos que executam concorrentemente com outras goroutines, dentro do mesmo espaço de endereçamento. Diferente de threads de sistema operacional, goroutines são extremamente leves (apenas alguns KB de pilha) e gerenciadas pelo runtime do Go.

Decoradores em Python: como funcionam e quando usar
Linguagens de Programação e Runtimes 22/08/2023

Decoradores em Python: como funcionam e quando usar

Decoradores são um dos recursos mais elegantes e poderosos do Python. Para entendê-los completamente, precisamos primeiro compreender dois conceitos fundamentais: funções de primeira classe e closures.

Frameworks JavaScript mais promissores atualmente
Linguagens de Programação e Runtimes 11/08/2023

Frameworks JavaScript mais promissores atualmente

O ecossistema JavaScript passou por uma transformação radical desde os dias do jQuery. Em 2024-2025, não escolhemos mais apenas uma biblioteca DOM — escolhemos um ecossistema completo que define arquitetura, renderização, roteamento e até deploy. O desenvolvimento web moderno exige decisões estratégicas sobre performance, experiência do desenvolvedor e escalabilidade.

Usando macros em Rust para reduzir código repetitivo
Linguagens de Programação e Runtimes 09/07/2023

Usando macros em Rust para reduzir código repetitivo

Em Rust, a repetição de código é um problema comum que afeta a produtividade e a manutenibilidade do software. Macros oferecem uma solução poderosa para gerar código automaticamente em tempo de compilação, eliminando padrões repetitivos que funções genéricas ou traits não conseguem resolver adequadamente.

Como criar CLIs simples com cobra para automações internas em Go
Linguagens de Programação e Runtimes 02/06/2023

Como criar CLIs simples com cobra para automações internas em Go

Cobra é um framework CLI para Go, criado por Steve Francia (spf13) e usado por projetos como Kubernetes, Hugo e Docker. Ele fornece uma estrutura robusta para criar interfaces de linha de comando com suporte a subcomandos, flags e argumentos, sendo ideal para automações internas.