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 @nogc impô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.
  • 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.