D (linguagem de programação)
Origem: Wikipédia, a enciclopédia livre.
D | |
---|---|
Paradigma: | orientação a objeto, imperativo, genperico |
Surgido em: | 1999 |
Criado por: | Walter Bright |
Estilo de tipagem: | forte, estática |
Compiladores: | DMD, DGCC |
Dialetos: | |
Influenciada por: | C, C++, C#, Java |
Influenciou: |
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) é esperada para janeiro de 2007.
Índice |
[editar] Histórico
A linguagem D foi criada por Walter Bright, desenvolvedor de compiladores para as linguagens C e C++ e fundador da Digital Mars. Ela foi concebida em dezembro de 1999 para ser uma sucessora das linguagens C e C++.
[editar] Características
A linguagem D apresenta, dentre outras características, a presença de coletor de lixo, ser fortemente tipada, ser projetada para a orientação a objetos e programação genérica, inline Assembler, compatibilidade com códigos objeto C, arranjos dinâmicos e associativos.
[editar] Exemplos de Códigos
[editar] Olá Mundo
import std.c.stdio; int main(char[][] args) { printf("Olá mundo\n"); }
[editar] Classes
class A { public this() //Construtor { x = 10.0 + 7i; } private cfloat x; //número complexo } class B : A { public this() { super(); //Chama construtos da classe pai } }
[editar] Arrays
int[] a; a.length = 10; //comprimento igual a 10 posições a = 50; //a[0], a[1] ... a[9] = 50 a ~= 48; //adiciona uma posição ao array e atribui 48 a ela int[] b; for(int i=0; i<30; i++) { b ~= i; } int[] c; c = b[1..10]; //c[0] = b[1], c[1] = b[2] ... c[8] = b[9] int[] d; d = a ~ c; // d[0]=a[0],d[1]=a[1]...,d[10]=a[10],d[11]=c[0]... d[19]=c[8] int* p = b.ptr; //p aponta para o primeiro elemento de b for(int i=0; i<b.length; i++) printf("%d\n", *(p+i)); c.sort; //ordena o vetor c
int[char[]] a; //array associativo a["hello"] = 4; a["tchau"] = 10; a["oi"] = 50; a["nome"] = 70; int* p; p = ("tchau" in a); //p aponta para uma chave de índice "tchau" e se ela //não existir, p será igual a null if(p != null) //encontrou o índice { printf("%d\n", *p); } a.remove("oi"); //remove a chave "oi"
uint toHash(char[] str) { uint hash; foreach (char c; str) hash = (hash * 9) + c; return hash; }
é o mesmo que
uint toHash(char[] str) { uint hash; for(int i=0; i<str.length; i++) { char c = str[i]; hash = (hash * 9) + c; } return hash; }
[editar] Ligações externas
- ((en)) Página oficial da linguagem
- ((en)) Página de Walter Bright
- ((en)) Repositório de programas e projetos escritos em D
- ((en)) Toolkit gráfico para a linguagem baseado no GTK+
- ((en)) Tutoriais e arquivos de referência para a linguagem
- ((en)) DMD - compilador para a D
- ((en)) Comparação de D com C, C++, C# e Java