Categoria

Linguagens de Programação e Runtimes

Python vs. Java: qual linguagem escolher para projetos empresariais
Linguagens de Programação e Runtimes

Python vs. Java: qual linguagem escolher para projetos empresariais

Python e Java dominam o cenário empresarial global. Java, criado em 1995 pela Sun Microsystems, mantém-se como espinha dorsal de sistemas críticos em bancos, seguradoras e governos. Python, lançado em 1991 por Guido van Rossum, experimentou crescimento explosivo na última década, impulsionado por inteligência artificial, ciência de dados e automação. Segundo o índice TIOBE (2024), ambas figuram consistentemente entre as cinco linguagens mais populares, com Java liderando em ambientes corporativo

22/05/2024
Introdução ao GraalVM: compilação nativa para JVM e polyglot
Linguagens de Programação e Runtimes 12/05/2024

Introdução ao GraalVM: compilação nativa para JVM e polyglot

A JVM tradicional, embora poderosa, apresenta limitações conhecidas: tempo de inicialização elevado, consumo significativo de memória RAM e necessidade de warm-up para que o compilador JIT (Just-In-Time) atinja seu pico de desempenho. Em aplicações serverless ou microsserviços, onde instâncias são criadas e destruídas rapidamente, esses problemas tornam-se críticos.

Gerenciamento de memória em Java vs Go: um comparativo técnico
Linguagens de Programação e Runtimes 12/04/2024

Gerenciamento de memória em Java vs Go: um comparativo técnico

A organização da memória é a primeira grande diferença entre Java e Go. Em Java, a JVM gerencia um heap único onde todos os objetos são alocados, enquanto cada thread possui sua própria pilha (stack) para variáveis locais e chamadas de método. Objetos criados com new vão sempre para o heap, e a pilha armazena apenas referências para esses objetos.

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

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.

Bun 1.x no dia a dia: o que mudou na prática para apps Node.js existentes
Linguagens de Programação e Runtimes 02/03/2024

Bun 1.x no dia a dia: o que mudou na prática para apps Node.js existentes

Bun é um runtime JavaScript all-in-one criado por Jarred Sumner, escrito em Zig, que combina runtime, bundler, test runner e gerenciador de pacotes em uma única ferramenta. Diferente do Node.js, que depende de V8 e do ecossistema npm com múltiplas ferramentas separadas, Bun usa JavaScriptCore da Apple e implementa internamente o que o Node.js delega a bibliotecas externas.

Truques para debugar memory leaks em aplicações Go com pprof
Linguagens de Programação e Runtimes 22/02/2024

Truques para debugar memory leaks em aplicações Go com pprof

Memory leaks em Go são mais sutis do que em linguagens sem garbage collector. O garbage collector (GC) gerencia a memória automaticamente, mas não consegue liberar objetos que ainda possuem referências ativas. Os padrões mais comuns de vazamento incluem:

Programação assíncrona em Python com asyncio
Linguagens de Programação e Runtimes 26/01/2024

Programação assíncrona em Python com asyncio

A programação assíncrona em Python representa uma mudança paradigmática na forma como lidamos com operações de I/O. Para compreendê-la, é essencial distinguir três conceitos frequentemente confundidos:

Gleam: a linguagem funcional com tipos que roda na BEAM e em JavaScript
Linguagens de Programação e Runtimes 07/01/2024

Gleam: a linguagem funcional com tipos que roda na BEAM e em JavaScript

Gleam é uma linguagem de programação funcional com sistema de tipos estáticos e fortes, criada por Louis Pilfold em 2019. Ela ocupa um espaço único no ecossistema de linguagens: compila tanto para a BEAM (máquina virtual do Erlang) quanto para JavaScript. Isso significa que um mesmo código pode rodar em servidores Elixir/Erlang, no navegador ou no Node.js.

OCaml: o nicho funcional que influenciou TypeScript, Flow e Reason
Linguagens de Programação e Runtimes 06/01/2024

OCaml: o nicho funcional que influenciou TypeScript, Flow e Reason

OCaml é uma linguagem de programação funcional que nasceu no Instituto Nacional de Pesquisa em Informática e Automação (INRIA) da França, na década de 1990, como sucessora do Caml Special Light. Herdeira da tradição ML (Meta Language), OCaml combinou pela primeira vez inferência de tipos robusta com um sistema de módulos poderoso e suporte prático a programação imperativa.

Como usar o módulo asyncio em Python para I/O concorrente eficiente
Linguagens de Programação e Runtimes 12/12/2023

Como usar o módulo asyncio em Python para I/O concorrente eficiente

O módulo asyncio introduz um modelo de concorrência baseado em event loop (laço de eventos). Diferente do threading tradicional, onde múltiplas threads compartilham a CPU com preempção, o asyncio utiliza um único thread que gerencia uma fila de tarefas cooperativas. O event loop alterna entre essas tarefas quando elas encontram operações de I/O bloqueantes, permitindo que o programa continue executando outras tarefas enquanto aguarda respostas externas.