Linguagem D (em inglês, D Programming Language) é uma linguagem de programação de uso geral.
Histórico
A linguagem D foi criada por Walter Bright, desenvolvedor de copiladores para as linguagens Linguagem_de_programação_C e ++ e fundador da Digital Mars C/C++ Compiler. Ela foi concebida em dezembro de 1999 para ser uma sucessora das linguagens C e C++.
A linguagem possui estrutura semelhante a da linguagem C e pode ser utilizada para desenvolver vários tipos de aplicações tais quais, aplicativos, jogos, compiladores, etc...
Características
A linguagem D apresenta, dentre outras, as seguintes características:
Coletor de Lixo; fortemente tipada; orientação a objetos; programação genérica; inline Assembler; compatibilidade com C (código objeto), dynamic arrays e arrays associativos.
Exemplos de Códigos
Olá Mundo
import std.c.stdio; int main(char[][] args) { printf("Olá mundo\n"); }
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 } }
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; }
Referências externas
- Walter Bright Homepage (em inglês)
- Características da linguagem (em inglês)
- D Programming Language (em inglês)
- Digital Mars (em inglês). Site da empresa do criador da linguagem.
- dsource.org (em inglês). Repositório de programas e projetos escritos em D.
- DUI (em inglês). Toolkit gráfico para a linguagem baseado no GTK+.
- dprogramming.com (em inglês). Site com tutoriais e arquivos para download.
- DMD (em inglês). Compilador para a Linguagem D.
- Comparação (em inglês). Comparação da Linguagem D com C, C++, C# e Java.
de:D (Programmiersprache) en:D programming language es:Lenguaje de programación D fr:D (langage) it:D (linguaggio di programmazione) ja:D言語 ko:D 프로그래밍 언어 nl:D (programmeertaal) pl:D (język programowania) sk:D (programovací jazyk) sv:D (programspråk)