Conheçam a linguagem D (saiu do forno)!

Neste documento apresento a linguagem de programação D. 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.

[ Hits: 30.170 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 14/02/2007 | Blog: http://assuntonerd.com.br


Introdução




Criada em 1999 pelo Walter Bright da Digital Mars, a linguagem de programação D foi baseada em C++. Mas não chega a ser apenas uma variante. É uma linguagem de programação de mais alto nível que C++, entretanto preserva a capacidade para escrever código de alta performance, interagir diretamente com a API do sistema operacional e acesso a hardware. O foco principal da linguagem é reunir o alto desempenho do C/C++ e a produtividade das linguagens atuais.

A análise léxica* funciona independente da análise sintaxe e da análise de semântica. Abaixo os processos de compilação da linguagem D:

1. Caracteres do código fonte:
O arquivo fonte é checado para validar o conjunto de caracteres. Os formatos aceitáveis são ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, e UTF-32LE.

2. Análise léxica:
O arquivo fonte é dividido em uma seqüência de símbolos.

3. Análise de sintaxe:
Os símbolos são analisados para validação da sintaxe.

4. Análise semântica:
Verifica os erros semânticos, (por exemplo, uma multiplicação entre tipos de dados diferentes)

5. Otimização:
Otimização é um passo que busca criar uma versão equivalente em semântica, entretanto mais rápido em termos de execução.

6. Finalmente o código:
Instruções da arquitetura/plataforma são selecionadas implementar toda a semântica do programa. O resultado será um arquivo objeto, para um posterior processamento um linker**.

* Análise léxica é o processo de analisar a entrada de linhas de caracteres (tal como o código-fonte de um programa de computador) e produzir uma seqüência de símbolos chamado "símbolos léxicos" (mais informações aqui http://pt.wikipedia.org/wiki/An%C3%A1lise_l%C3%A9xica).

** Linker é um programa que liga objetos gerados por um compilador, formando assim um arquivo binário executável com instruções nativa.

Abaixo algumas características:
  • Coletagem de lixo;
  • Orientada a Objetos;
  • Inline Assembler;
  • Compatibilidade com códigos objeto C;
  • Arranjos dinâmicos e associativos (Sensacional!!!);
  • Código facilmente portável;
  • Rápido aprendizado para programadores em C ou C++.
  • Acesso a instruções de baixo nível.

Em particular, gostei do recurso de Arranjos dinâmicos e associativos, veja os exemplos abaixo:

Arranjos dinâmicos:

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

Arranjos associativos:

int[char[]] a; //array associativo
a["hello"] = 4;
a["tchau"] = 10;
a["oi"] = 50;
a["nome"] = 70;

Veja no link abaixo as comparações entre a linguagem D com C, C++, C# e Java.
Para mais informações, consulte o site oficial:
Abaixo os links utilizado para pesquisa e/ou referências:
    Próxima página

Páginas do artigo
   1. Introdução
   2. Download e instalação
Outros artigos deste autor

Transmitindo vídeo de eventos ao vivo via Internet com GNU/Linux

Montando um mirror de atualização do anti-vírus AVG

IBM Omni Find Yahoo: Um mecanismo de busca corporativa em seu servidor

STEPMANIA: Transforme seu PC com GNU/LINUX em uma máquina Dance Dance Revolution

Transforme o seu celular Android em webcam sem fio na plataforma Linux

Leitura recomendada

Linux Virtual Memory Management e lentidão ao copiar arquivos grandes para mídia lenta

Novidades do Kernel 2.6.35

NetFilter Hook em Kernel 2.6

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

Slackware 13 - Compilando o kernel 2.6.32rc6

  
Comentários
[1] Comentário enviado por hlegius em 14/02/2007 - 13:52h

Putz cabelo, mais um artigo excelente! Sempre trazendo novidades hein rapaz!! Parabéns!

Agora, será que criar aplicações gráficas fica fácil ? Ele usa as mesmas bibliotecas do C para criar janelas e tal, ou há outro tipo de interação ?


Abraços,

[2] Comentário enviado por juninho (RH.com) em 14/02/2007 - 15:21h

Caramba, eu não entendo nada de programação, mas seus artigos são impossíveis de não ler e de não interessar.

E como sempre você sempre na frente das novidades.

Parabéns!!!

[3] Comentário enviado por removido em 14/02/2007 - 17:10h

de novo de novo....
inovando para sempre, hein cabelo!
seus artigos sao muito doidos...soh coisa diferente e inovadora. parabens

[4] Comentário enviado por tenchi em 14/02/2007 - 19:48h

Kra, que legal, mas eh possível usar coisas em baixo nível como ponteiros, assembly etc. no modo interpretado também?
Existem muitos programas (livres ou não) escritos nessa linguagem? Ela possui recursos q permitem a interação com bibliotecas como gtk, tcl, etc?
Muito legal o artigo. Eu já havia ouvido falar nessa linguagem, mas nunca havia me interessado. Agora que vc escreveu este artigo, vou pesquisar mais.

Nota 10.

[5] Comentário enviado por sombriks em 15/02/2007 - 04:30h

ahhhhh!!! que show, quer dizer que o gcc ainda é o nosso "um anel", :D

tenchi, eu acredito que pela idade da linguagem (soh sete anim...) ainda não tenhamos muita coisa.

bibliotecas que ao surgir vão garantir vida próspera ao D:

1- Toolkit Gráfico (pelo que eu vi isto ou está em desenvolvimento e eh parente do SWT!!!!)
2- Implementações de padrões existentes na WEB (web-services, cgi, qq coisa semelhante aos JAVA servlets, SOAP, SAX, DOM, ORB/CORBA e por aí vai. )
3- Bibliotecas para dispositivos móveis
4- Bibliotecas Multimídia (vamos editar nossos vídeos e músicas em D???)
5- Uma licença gpl, ;D

[6] Comentário enviado por sergiotucano em 15/02/2007 - 08:10h

sombriks, isso você esta prevendo ou viu no site oficial? Pois não achei nada lá sobre essas bibliotecas...

Ae, Ótima novidade esta nova linguagem ! Muito bom mesmo.


FALOW !!

[7] Comentário enviado por kleber_pa em 15/02/2007 - 16:56h

Mto bom mesmo, eu nem sabia que existia essa linguagem...
espero encontrar mais fontes sobre ela...

abração...

[8] Comentário enviado por sombriks em 15/02/2007 - 17:37h

Aew sergiotucano!

O primeiro ítem eu coloquei na base da futurologia, mas aí eu fui fuçar a página oficial. Na parte de listas e discussão, porque a coisa ainda deve ser beta, sei lah...

Já o resto é uma constatação simples, pois se organização fulana-de-tal define um padrão a galera que mantém as grandes linguagens tratam logo de fornecer uma implementação. Graças a isso programador A, que programa em Delphi, pode se comunicar com o software do Programador B, que programa em Java, graças a, por exemplo, CORBA.

Realmente quero ver se isso aparece por lá.

[9] Comentário enviado por uiliangurjon em 15/02/2007 - 18:35h

Cara, inovando mais uma vez, muito bom o artigo

[10] Comentário enviado por removido em 16/02/2007 - 10:27h

Como era de se esperar, mais um artigo de qualidade vindo do colega "Cabelo"!!!!

[11] Comentário enviado por cllaudionovaes em 17/02/2007 - 08:58h

Muito bom este artigo mesmo .... parabéns ...

[12] Comentário enviado por tralsl em 17/02/2007 - 21:07h

Muito bacana essa linguagem D
ainda naum conheço muito sobre mas meu interesse nela acabou de nascer
muitos votos para o futuro da D

[13] Comentário enviado por O_7º_Anjo em 01/03/2007 - 20:38h

Rapaz
sempre gostei de programação
e esse arttigo seu faz quaquer um se interessar
gostei da tal D

onde a gente acha assim um manual bem completo
de iniciação em D
estou interessado em aprender
um abraço

[14] Comentário enviado por tralsl em 23/04/2007 - 21:45h

Olá Cabelo e todos VOLianos

Alguém tem mais informações sobre a linguagem D, sei que existe pouca documentação, mas se for possível que seja em português.
Pretendo apresentar uma mini-palestra sobre D, apenas uma motivação.
As fontes que tenho até agora além do VOL e wikipedia são:

http://www.digitalmars.com/d/
http://www.dsource.org/
http://www.dprogramming.com/

ainda não conseguir rodar direito o compilador(dmd), alguém tem alguma dica? (pq eu só conheço C e JAVA).

espero respostas
boa semana para o VOL

[15] Comentário enviado por f_Candido em 12/02/2008 - 20:55h

Parabéns. Ficou ótimo o artigo, vou buscar mais fontes sobre esta linguagem.

Abraços

[16] Comentário enviado por removido em 06/05/2008 - 15:28h

è sem dúvida um belo artigo, parabéns pelo mesmo.


[17] Comentário enviado por gilbertosantos em 31/03/2009 - 10:50h

Por falor, alguém sabe como faço para copiar arquivos gravados em 1 dvd multisesão no nero? Eu quero copiar os arquivos no Linux mas quando clico em cima não abre, da pra ver as pastas mas não abre de jeito nenhum.

Alguém conhece um meio de como eu posso conseguir tirar esses arquivos? Ja tentei até no nero e não deu certo.

Obrigado.

[18] Comentário enviado por listeiro_037 em 30/04/2012 - 00:24h

Já faz algum tempo que está disponível um compilador para D da GNU.

Igual aos outros tipo o de Fortran (g77/gfortran), C++ (g++), Pascal (gpc), Java (gcj), Ada (gnat), em que servem como uma interface (o nome correto é front-end?) para as ferramentas-padrão da GNU.

Para a linguagem D ele se chama gcd e está disponível no Debian, por exemplo.

Quer dizer, mais uma ferramenta na mão do linuxer!

[19] Comentário enviado por programadorc em 03/11/2015 - 11:40h

Olá, a todos do Viva Linux.

Quero compartilhar com a comunidade o lançamento do primeiro livro brasileiro sobre a "Linguagem D" publicado pelo Professor Augusto Manzano. Para quem quer iniciar na linguagem é uma boa alternativa. O texto é muito didático, ao estilo Manzano.

https://www.clubedeautores.com.br/book/197356--Linguagem_D_Programacao_de_Computadores#.Vji5nYHnTnE

Abraços.
Sullivan


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts