D (linguagem de programação)
# D (linguagem de programação)

D é uma linguagem de programação de uso geral projetada por Walter Bright da Digital Mars. É baseada majoritariamente em C++, apesar de não ser apenas uma variante. A versão estável da primeira especificação (v1.0) foi lançada em janeiro de 2007. O código D nativo é geralmente tão rápido quanto o código C ++ equivalente, embora seja mais curto e economize memória .

## Histórico

A linguagem D foi criada por Walter Bright, desenvolvedor de compiladores para as linguagens C e C++ e fundador da Digital Mars. Foi concebida em dezembro de 1999 para ser uma sucessora das linguagens C e C++.
É uma linguagem de programação de sistemas, focada em combinar o alto desempenho das linguagens C e C++ com a produtividade de outras linguagens modernas, tais como Ruby e Python.

## Características

A linguagem D apresenta, dentre outras características:
* Fortemente tipada estaticamente;
* Compilada para código nativo;
* Multiparadigma: suporta os estilos imperativo, orientado a objetos e multiprogramação de template;
* Projetada para a orientação a objetos e programação genérica;
* Pertencente à família com sintaxe semelhante à Linguagem C, com aparência próxima à Linguagem C++ (Compatibilidade com códigos objeto C);
* Arranjos dinâmicos e associativos;
* Presença de coletor de lixo;
* inline Assembler.

## Principais metas de D

* Reduzir os custos de desenvolvimento de software em ao menos 10% com adição de produtividade comprovada, realçando características e ajustando características da linguagem de modo que erros comuns e bugs, que consomem tempo, sejam eliminados;
* Torná-la fácil para escrever código que seja portável de compilador para compilador, máquina para máquina, e sistema operacional para sistema operacional;
* Suportar multi-paradigmas de programação, isto é, com um mínimo de suporte a paradigmas imperativos, estruturados, orientados a objetos, e programação genérica;
* Ter uma curta linha de aprendizagem para programadores acostumados com programação em C ou C++;
* Tornar D substancialmente mais fácil para implementar um compilador próprio que C++;
* Ser compatível com as APIs C locais;
* Ter uma gramática livre de contexto;
* Incorporar metodologia de Programação de Contrato e teste de unidade;
* Ser capaz de construir programas leves por si próprio;
* Reduzir os custos da criação de documentação.

## Exemplos de Códigos
### Olá Mundo

ou, equivalente:

### Arrays

é o mesmo que