Uma Década de Reclamações sobre Go: Por que este Programador Ainda Odeia Go

2025-08-22

Uma crítica de dez anos de um programador sobre Go destaca várias falhas frustrantes. Os problemas incluem: escopo de variável de erro ilógico que leva a problemas de legibilidade e bugs; dois tipos de nil aumentando a complexidade; baixa portabilidade com compilação condicional desajeitada; comportamento imprevisível da função append; instruções defer inflexíveis para gerenciamento de recursos; a biblioteca padrão engolindo exceções; suporte insuficiente para codificação diferente de UTF-8; e gerenciamento de memória ineficiente. O autor argumenta que esses não são desafios técnicos, mas sim falhas de design fundamentais, afirmando que Go poderia ter sido muito superior.

Leia mais
Desenvolvimento

Zero System Calls: Construindo um Servidor Web de Alto Desempenho com io_uring

2025-08-22

Este artigo detalha a evolução da construção de servidores web de alto desempenho, desde o pre-forking inicial até select/poll, depois epoll, e finalmente atingindo zero chamadas de sistema usando io_uring. O autor desenvolveu um servidor web experimental chamado tarweb que utiliza io_uring para adicionar assincronamente todas as operações a uma fila do kernel, evitando assim a sobrecarga de chamadas de sistema frequentes. Combinado com kTLS e arquivos sem descritores, são alcançadas melhorias adicionais de desempenho. Embora ainda existam desafios, como gerenciamento de memória e preocupações com a segurança do io_uring, o projeto demonstra o potencial para ganhos significativos de desempenho em cenários de alta concorrência.

Leia mais