“Neste documento apresento a linguagem de programação D, que acaba de chegar na sua versão 1.0. Uma linguagem de alto nível, porém se necessário pode propiciar acesso a instruções de baixo nível. O compilador está disponível para Linux e Windows, assim facilitando a portabilidade do código fonte.”
Erro de compilação?! :-D
Permissivo sim, pernicioso não :-D você pode usar apenas o que acha útil, claro, etc.
"eram vendidos como "errados" e como ruins"
"como a própria Java com o seu Generics."
"Existe até discussão para que Java suporte pre-processadores (para facilitar na hora de manter uma única base de código entre versões J2ME e J2SE por exemplo)"
"....lhe faço outra:
O que deveria acontecer na classe, conceitualmente, quando um método com uma mesma assinatura existe em duas ou mais interfaces que vc está implemetando ? Como especificar para o método que quero chamar o método da relativo a interface A e não a da B ?"
"o que existe é a mentalidade que empresas como a M$ implantou em nossa cabeça de que tudo que é estupidamente simples e sem requerer o mínimo de conhecimento e experiencia anterior é melhor..."
"Não existe nada de errado com C++ e sua herança multipla e seus ponteiros e seus templates e seus pré-processadores"
Agora já mais dentro da minha especialidade (Java), eu percebi ao projetar sistemas que tudo o que vc. pode fazer com herança múltipla pode ser ajustado para funcionar sem ela. Talvez escrevendo um pouco mais (...)
Para quem programa hoje em C++, D é um grande investimento. É multiparadigma (procedural, orientação a objetos, templates, etc.), suporta todos os recursos do C++ como embeded ASM, etc. e acrescenta muitas outras facilidades, como suporte direto a coleta de lixo automática (até que enfim!!). Em suma, a migração vale muito a pena.
Mas, para quem *não* trabalha com C++ hoje, D oferece muito pouco, na verdade.
Seu código é apenas parcialmente portável ("portabilidade de código-fonte" como C++) e esse quesito promete piorar quando empresas como a Microsoft ou IBM começarem a adicionar suas APIs proprietárias.
Sua capacidade multiparadigma é um convite para códigos híbridos confusos (coisa que os programadores da nova geração, como os javeiros, desejam abolir de sua vida).
A possibilidade de incluir código assembly pode deixar uma rotina mais rápida e eficiente, mas amarrar um sistema a uma determinada plataforma de hardware.
Conclusão: D incorpora novidades desenvolvidas por comunidades como Java, Ruby, Python e C# e essa é uma grande evolução em relação ao C++ (se eu um dia tiver de escrever alguma coisa em código nativo em algum futuro projeto Java, será uma boa idéia escrever em D).
Mas não chega a ser um Eldorado para a nova geração, como algumas pessoas podem pensar.
[]s