OpenD, um fork da linguagem D aberto às suas contribuições
Um novo fork da linguagem de programação D, liderado pela comunidade e chamado OpenD, está gerando debate sobre governança, direção técnica e se D ainda pode conquistar um nicho viável em um mundo dominado por C++, Rust, Go, C# e Java. Comentadores citam anos de frustração com uma liderança lenta ou desdenhosa, cisões de design não resolvidas (especialmente em torno de garbage collection e lifetimes) e um ecossistema fraco como razões para D ter perdido impulso, apesar de boas ideias técnicas. Muitos veem o fork como uma última chance de revitalizar D ao abraçar o GC e flexibilizar o controle sobre contribuições, enquanto outros duvidam que ele consiga superar a fragmentação ou competir com linguagens melhor financiadas e mais amplamente adotadas.
Escopo do Fork (“OpenD”)
- O fork é apresentado como uma resposta à tomada de decisões a montante lenta e difícil, especialmente em torno de mudanças na linguagem e contribuições.
- Alguns veem isso como uma repetição de “Tango 2.0” e duvidam que vá mudar muita coisa; outros esperam que seja a única forma de “salvar” D reiniciando a governança.
- Um exemplo concreto: divergência sobre propostas de interpolação de strings, em que o fork já lançou uma alternativa ao design a montante.
Nome e Identidade
- Muitas propostas de nomes em tom de brincadeira (por exemplo, trocadilhos com “D”, “open”, “free”), com comentários frequentes de que “OpenD” é sem graça e sugere compatibilidade que talvez não mantenha.
- Vários sugerem abandonar completamente o nome D para sinalizar uma ruptura real, mas outros veem valor em aproveitar a marca e as ferramentas já existentes de D.
Crítica à Governança e à Liderança
- Insatisfação de longa data com a liderança da linguagem: ego percebido, postura desdenhosa, resistência a ideias externas e dificuldade para conseguir que patches sejam mesclados.
- Outros contrapõem que designers de linguagem precisam dizer “não” com frequência e que a liderança tem sido amplamente civil apesar das críticas persistentes.
- A governança é destacada como um critério-chave ao escolher linguagens; controle no estilo BDFL é visto tanto como algo esclarecedor quanto arriscado, dependendo do gosto.
Direção Técnica: GC, Programação de Sistemas e Nicho
- Principal linha de divisão: garbage collection.
- Um lado: GC por padrão é uma força (produtividade, CTFE mais fácil); tentar agradar usuários de
@nogcimpôs custos altos com benefício limitado. - Lado oposto: a presença de GC limita inerentemente D como substituto de C/C++ e o coloca contra ecossistemas GC mais fortes (C#, Java, Go); GC opcional é chamado de beco sem saída de design.
- Um lado: GC por padrão é uma força (produtividade, CTFE mais fácil); tentar agradar usuários de
- Alguns argumentam que o GC de D está tecnicamente ultrapassado; se o GC for adotado, ele precisa ser significativamente melhorado.
- Outros veem o verdadeiro nicho de D como “C/C++ melhor” por meio de betterC, allocators, código nativo e sintaxe mais simples, tornando um fork centrado em GC estrategicamente estranho.
Ecossistema, Ferramentas e Saúde da Comunidade
- Queixas recorrentes: ecossistema de bibliotecas fraco, suporte a IDE pobre ou desigual e, especialmente, experiência inicial difícil no Windows.
- Vários observam que linguagens como Rust e Go tiveram sucesso ao construir ecossistemas fortes e ferramentas completas, e não apenas melhores recursos centrais da linguagem.
- Alguns querem que D se concentre em bibliotecas padrão coesas e práticas e em “lançar aplicativos de verdade”, modelando a abordagem do Go.
Contexto Histórico e Comparações
- Muitos sentem que D teve uma vantagem técnica inicial, mas a perdeu à medida que C++11+, Go, Rust, Nim, Zig, C# e outras linguagens incorporaram ideias semelhantes.
- Forks em outros ecossistemas (LibreOffice, MariaDB, Nextcloud, Jenkins, Chromium/WebKit, X.Org, etc.) são citados como prova de que forks podem funcionar, mas apenas com amplo apoio da comunidade e compromisso de longo prazo.