• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

deathseeker25

D programming language

7 mensagens neste tópico

D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability.

D is statically typed, and compiles direct to native code. It's multiparadigm: supporting imperative, object oriented, and template metaprogramming styles. It's a member of the C syntax family, and its look and feel is very close to C++'s. For a quick feature comparison, see this comparison of D with C, C++, C# and Java.

#!/usr/bin/dmd -run
/* sh style script syntax is supported */

/* Hello World in D
   To compile:
     dmd hello.d
   or to optimize:
     dmd -O -inline -release hello.d
*/

import std.stdio;

void main(char[][] args)
{
    writefln("Hello World, Reloaded");

    // auto type inference and built-in foreach
    foreach (argc, argv; args)
    {
        // Object Oriented Programming
        CmdLin cl = new CmdLin(argc, argv);
        // Improved typesafe printf
        writefln(cl.argnum, cl.suffix, " arg: %s", cl.argv);
        // Automatic or explicit memory management
        delete cl;
    }

    // Nested structs and classes
    struct specs
    {
        // all members automatically initialized
        int count, allocated;
    }

    // Nested functions can refer to outer
    // variables like args
    specs argspecs()
    {
        specs* s = new specs;
        // no need for '->'
        s.count = args.length;		   // get length of array with .length
        s.allocated = typeof(args).sizeof; // built-in native type properties
        foreach (argv; args)
            s.allocated += argv.length * typeof(argv[0]).sizeof;
        return *s;
    }

    // built-in string and common string operations
    writefln("argc = %d, " ~ "allocated = %d",
argspecs().count, argspecs().allocated);
}

class CmdLin
{
    private int _argc;
    private char[] _argv;

public:
    this(int argc, char[] argv)	// constructor
    {
        _argc = argc;
        _argv = argv;
    }

    int argnum()
    {
        return _argc + 1;
    }

    char[] argv()
    {
        return _argv;
    }

    char[] suffix()
    {
        char[] suffix = "th";
        switch (_argc)
        {
          case 0:
            suffix = "st";
            break;
          case 1:
            suffix = "nd";
            break;
          case 2:
            suffix = "rd";
            break;
          default:
    break;
        }
        return suffix;
    }
}

Note: all D users agree that by downloading and using D, or reading the D specs, they will explicitly identify any claims to intellectual property rights with a copyright or patent notice in any posted or emailed feedback sent to Digital Mars.

Fonte: DigitalMars

Pelos vistos é uma linguagem que combina o poder do C com o do C++, com uma sintaxe bastante parecida com C e C++. Tem as características de todas as linguagens de alto nível combinadas nela mesma. Vejam o link da comparação para ficarem a conhecer as semelhanças entre as linguagens.

O que dizem?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Digo que, à primeira vista, me agrada. Parece mais uma evolução do C++, como o C++ foi do C e o C do B. Se se provar que tem a mesma eficiência, sou fã!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esqueci-me de referir que em termos de portabilidade tem as mesmas vantagens que o C: a própria GNU se encarregou de desenvolver o GDC para Linux e a própria DigitalMars desenvolveu o DMD para Windows.

Portável, com um potencial unificado de todas as outras linguagens, valerá a pena abrirmos uma secção para a linguagem aqui no fórum? :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei se valerá a pena, pois ainda não é muito usada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei se valerá a pena, pois ainda não é muito usada.

Concordo. Ainda vai na versão 0.18. Deixa amadurecer a ver no que dá. Por enquanto não me convence...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

epa... há muitas linguagens de programação, dezenas delas...

Cada uma se afirma a melhor, mas a verdade é que o C/C++ não se vão abaixo. Basta olhar para um aplicação escrita em C e uma em Java... ah tal.. java... POO por si própria, segura, facil, portável etc etc... mas depois o resultado está à vista

PHP e python parecem-me as liguagens do momento. E estão a saltar para o client side a bom ritmo.... especialmente o python...

ainda ontem ouvi falar de um framework novo no digg... uma cena para desenvolver aplicações web de forma rápida...já não me lembro qual é... que carago... acho que era uma m**** chamada django... alguem conhece?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem.. Peço desculpa por reavivar um tópico antigo  :D mas havendo notícias relevante achei por bem fazê-lo.

Como alguns já o devem saber saiu (finalmente) a versão 1.0 do D. Esperando que os criadores continuem a avançar no caminho mais apropriado aos programadores as novas "features" não serão assim coisas tão novas mas serão sim o melhoramento do produto actual, como a estabilidade e a fiabilidade do compilador. Espero que assim seja, apesar de a versão actual ser bastante boa e no (pouco) que trabalhei nela perfeitamente funcional e uma sintaxe muito agradável e fácil (especialmente para quem gosta de C++). Mas uma versão em que todas as outras se possam basear irá ser com certeza o marco que, espero, levará a história de sucesso da linguagem ainda a pontos mais altos.

Não tendo experimentado mas confiando no que os utilizadores revelam e alguns benchmarks que se encontram pela internet (incluindo a página oficial) Além de aumentar a velocidade de produção também a sua eficiência é bastante elevada, devido a ser uma lingagem que apesar de facilitar muita coisa permitir o acesso a tarfas de baixo nível. Apesar de muita gente (como eu), pensar que esta é uma linguagem mais ao menos recente, o seu aparecimento já aconteceu à cerca de 7 anos , permitindo assim ter criado ao longo do tempo uma forte e eficiente base de desenvolvimento.

Mas mais que de dar a conhecer gostava de saber se aluém já trabalhou ou tem travalhado com ela e qual a sua opinião, eu ainda não pude explorar e estou curioso. Já li bastantes tópicos noutros fóruns estrangeiros, mas gostava de ler algo da comunida aqui do POrtugal-a-Programar   :)

Aqui estão alguns Links referentes á linguagem:

Uma entrevista a um dos seus criadores (além de outras tarefas encarregado do design da linguagem) Walter Bright, o mesmo homem que criou o primeiro compilador nativo para C++, Zortech C++ que actualmente é o Digital Mars C++ - http://www.bitwisemag.com/copy/programming/d/interview/d_programming_language.html

Um pequeno artigo sobre a linguagem - http://larsivi.net/comment/reply/72

Para informações mais especificas - http://www.digitalmars.com/d/ - a página oficial e - http://dgcc.sourceforge.net/ - O compilado GNU para D

Outras páginas: http://www.dsource.org/, http://www.codemoon.com/dpage.php, http://spottedtiger.tripod.com/D_Language/D_Main_XP.html, http://dmedia.dprogramming.com/ - Contêm tutoriais, projectos e muitos mais infrmação acerca de D.

Se procuram um IDE para programar em D (devem haver já alguns) mas o Code::Blocks - www.codeblocks.org - é o único em que trabalhei e é bastante agradável.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora