Categoria

Linguagens de Programação e Runtimes

Programação reativa com RxJS e Reactor
Linguagens de Programação e Runtimes

Programação reativa com RxJS e Reactor

A programação reativa representa uma mudança paradigmática na forma como construímos sistemas que lidam com fluxos de dados assíncronos. Diferentemente da programação imperativa tradicional, onde o código executa sequencialmente e o programador controla explicitamente o fluxo, a abordagem reativa trata dados como streams contínuos que podem ser observados, transformados e combinados.

05/05/2026
Lua em 2025: ainda relevante e onde ela brilha
Linguagens de Programação e Runtimes 05/05/2026

Lua em 2025: ainda relevante e onde ela brilha

Lua completou três décadas de existência em 2023 e, em 2025, mantém-se como uma linguagem madura e focada em nichos específicos. A versão estável atual é a Lua 5.4.6, lançada em maio de 2023, que trouxe melhorias incrementais como atribuição múltipla de variáveis locais e funções tointeger e tounsigned mais robustas. O LuaJIT, por sua vez, permanece congelado na versão 2.1, sem atualizações oficiais desde 2021, mas ainda oferecendo desempenho superior para cargas de trabalho intensivas.

Macros em Elixir: escrevendo código que escreve código
Linguagens de Programação e Runtimes 05/05/2026

Macros em Elixir: escrevendo código que escreve código

Macros em Elixir são ferramentas de metaprogramação que permitem gerar código durante a compilação. Diferentemente de funções comuns, que operam em tempo de execução com valores, as macros operam em tempo de compilação com a própria estrutura do código — a Árvore Sintática Abstrata (AST). Isso significa que uma macro recebe código como entrada e produz código transformado como saída.

Metaprogramação em Ruby: como e quando usar method_missing e define_method
Linguagens de Programação e Runtimes 05/05/2026

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.

Nim: a linguagem de sistemas com sintaxe Python que compila para C
Linguagens de Programação e Runtimes 05/05/2026

Nim: a linguagem de sistemas com sintaxe Python que compila para C

Criada por Andreas Rumpf em 2008, Nim nasceu da insatisfação com as linguagens de sistemas existentes. Rumpf queria unir a produtividade de Python com o desempenho de C, eliminando trade-offs que forçavam desenvolvedores a escolher entre velocidade e expressividade.

Novidades do Java: records, sealed classes e virtual threads
Linguagens de Programação e Runtimes 05/05/2026

Novidades do Java: records, sealed classes e virtual threads

O Java, uma das linguagens mais maduras do ecossistema de desenvolvimento, passou por uma transformação significativa nos últimos anos. Três features se destacam por mudar drasticamente a forma como escrevemos código: records, sealed classes e virtual threads. Vamos explorar cada uma delas em detalhes, com exemplos práticos que mostram como essas novidades podem simplificar seu dia a dia.

Introdução a linguagens de baixo nível e Assembly
Linguagens de Programação e Runtimes 05/05/2026

Introdução a linguagens de baixo nível e Assembly

Linguagens de baixo nível são aquelas que fornecem pouca ou nenhuma abstração sobre a arquitetura do hardware subjacente. Elas operam diretamente com os componentes do processador, como registradores, endereços de memória e instruções específicas da CPU. A principal característica dessas linguagens é o controle granular sobre o hardware, permitindo ao programador gerenciar cada recurso do sistema de forma explícita.

Introdução ao desenvolvimento com Nim para ferramentas de sistema
Linguagens de Programação e Runtimes 05/05/2026

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.

Introdução ao desenvolvimento de sistemas com Rust
Linguagens de Programação e Runtimes 05/05/2026

Introdução ao desenvolvimento de sistemas com Rust

No desenvolvimento de sistemas modernos, a segurança de memória sempre foi um desafio central. Linguagens como C e C++ oferecem controle total sobre o hardware, mas abrem portas para vulnerabilidades graves: vazamentos de memória, buffer overflows e use-after-free. Rust surge como uma alternativa que combina o desempenho bruto dessas linguagens com garantias de segurança em tempo de compilação — sem a necessidade de um garbage collector.

Introdução ao desenvolvimento web com Gleam e frameworks emergentes na BEAM
Linguagens de Programação e Runtimes 05/05/2026

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.