IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

Vous �tes nouveau sur Developpez.com ? Cr�ez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et �tre connect� pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Cr�ez-en un en quelques instants, c'est enti�rement gratuit !

Si vous disposez d�j� d'un compte et qu'il est bien activ�, connectez-vous � l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oubli� ?
Cr�er un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

GCC 9 sera la premi�re version stable du compilateur � supporter le langage D :
Un nouveau frontend allonge la liste

Le , par Patrick Ruiz

888PARTAGES

14  0 
GCC 9 sera la premi�re version stable du compilateur � supporter le langage D :
Un nouveau frontend allonge la liste

La collection de compilateurs GNU (GCC) dispose d�un nouveau frontend ; c�est le r�sultat de l�int�gration d�un commit au projet GCC il y a bient�t une semaine, ce, suite au feu vert du GCC Steering Committee.


D�apr�s ce qui ressort du commit, ledit frontend est une redite de celui de GDC � GNU D Compiler. Ce dernier vient allonger une liste dans laquelle on retrouve d�j� des frontend pour les langages C (gcc), C++ (g++), Objective-C (gobjC), Objective C++ (gobjC++), Java (gcj), Ada (gnat), Fortran (gfortran) et Go (gccgo). � la r�alit�, la liste de frontend qui font office de potentiels candidats � une int�gration avec la distribution standard de GCC est plus longue. Il s�agit de projets matures ou en cours de d�veloppement. On parle ici de GNU Pascal Compiler (GPC), Mercury, Cobol for GCC, GNU Modula-2, GNU Modula-3, GHDL, PL/1 for GCC et GCC Unified Parallel C (GCC UPC).

En 2015, Andrei Alexandrescu a annonc� son d�part de Facebook pour se consacrer au d�veloppement du langage D en partenariat avec la fondation qui en a la charge. Il fait partie des observateurs qui soutiennent que D fait office de meilleur successeur au langage C que Rust et Go. Une int�gration d�un frontend pour le langage D avec GCC est donc de nature � d�cupler l�int�r�t des d�veloppeurs pour ce langage, mais il faudra que les int�ress�s fassent montre de patience. En effet, r�f�rence faite aux �changes sur le forum d�di� au langage, l�int�gration est pr�vue avec GCC 9. D�apr�s le plan de d�veloppement du compilateur, les travaux sur cette version ont d�but� le 25 avril dernier. La version stable est attendue pour le premier trimestre de l�ann�e 2019.

Pour ceux qui sont au stade de sa d�couverte, Le D est un langage de programmation imp�ratif orient� objet et multiparadigme. Il a �t� con�u pour la programmation syst�me et est inspir� par de nombreux langages dont C, C++ et Java. Illustration avec le fragment de code qui suit :

Code D : S�lectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void main() 
{ 
    import std.stdio, std.string, std.algorithm, std.conv; 
  
    // Reduce the RPN expression using a stack 
    readln.split.fold!((stack, op) 
    { 
        switch (op) 
        { 
            // Generate operator switch cases statically 
            static foreach (c; "+-*/") 
                case [c]: 
                    return stack[0 .. $ - 2] ~ 
                        mixin("stack[$ - 2] " ~ c ~ 
                            " stack[$ - 1]"); 
            default: return stack ~ op.to!real; 
        } 
    })((real[]).init).writeln; 
}

Source : dlang.org

Et vous ?

Qu�en pensez-vous ?

Le feu vert du GCC Steering Committee pour l�int�gration de GDC avec GCC augmente-t-il la c�te du langage D ?

Avez-vous d�j� fait usage du langage D ? Si oui, pour quel projet ? Quels retours pouvez-vous faire en termes de comparaison avec le langage C ?

Voir aussi :

Quel langage pourrait remplacer C ? Apr�s avoir compar� Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D

DMD : le compilateur de r�f�rence du langage D est d�sormais compl�tement open source, son backend vient de passer sous la Boost License

C2 : un langage qui se pr�sente comme une �volution de C plus rapide, sans fichiers d'en-t�te, avec syst�me de build int�gr� et d'autres changements

Pourquoi les langages C et C++ auraient-ils encore de nombreuses ann�es devant eux ? Donnez votre avis
Vous avez lu gratuitement 12 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.

Une erreur dans cette actualit� ? Signalez-nous-la !

Avatar de kmedghaith
Membre confirm� https://www.developpez.com
Le 04/11/2018 � 19:10
Le langage D est extr�mement interessant. Il peut �tre vu comme du C++ avec plus de fonctionnalit�s pour la programmation g�n�rique et au temps de la compilation, moins les d�fauts du C.
Ceci n'est pas �tonnant vu que Andrei, son second p�re, vient du monde C++ auquel il a contribu� avec beaucoup de bonnes id�es..
Quand il a compris que le C++ n'allait pas assez dans la direction qu'il a pr�conisait, il en est parti pour s�occuper � temps complet du D. Il faut voir sa pr�sentation lors du cppcon 2018 pour comprendre son animosit� (amicale et toujours sur un ton humoristique) � l��gard du comit� de normalisation.
Ceci dit, un langage, sans biblioth�que standard solide, plein de libraires pour faire des applications et une large communaut�, �a ne d�colle pas facilement.
Le C++, d�s sa premi�re version, �tait compatible avec le C. Et il n'a vraiment �t� adopt� qu'apr�s la publication de la stl plus d'autres libraires comme Qt.
3  0 
Avatar de Pyramidev
Expert �minent https://www.developpez.com
Le 05/11/2018 � 14:30
Je suis d�veloppeur C++. Je connais un peu D. Je connais aussi un peu Rust, mais moins que D.

De mon point de vue, avant que le langage D ne puisse d�coller pour devenir un concurrent s�rieux � C++ et Rust, il y a 3 probl�mes � r�gler :
  • Le langage D n'est pas encore assez stable. Il y a encore trop souvent des changements non r�trocompatibles. Je consulte r�guli�rement le forum D de dlang.org et j'ai vu plusieurs fois des d�veloppeurs se plaindre que des biblioth�ques externes ne compilaient plus apr�s une mise � jour de DMD et que cela se produisait plus souvent qu'avec d'autres langages.
  • Le compilateur officiel, DMD, a trop de bogues.
  • La biblioth�que standard, Phobos, n'est vraiment pas sympa avec ceux qui veulent d�sactiver le ramasse-miettes. Pour rappel, le langage D permet de d�finir des fonctions avec un attribut @nogc qui permet de garantir � la compilation que le code sous-jacent ne n�cessite pas le ramasse-miettes. Mais, dans Phobos, il y a encore beaucoup de trop de fonctions qui ne sont pas @nogc alors qu'elles devraient l'�tre.


Si un jour ces 3 probl�mes seront corrig�s, alors le langage D pourra d�coller. Mais, pour l'instant, je pense que c'est Rust qui d�collera au d�triment de D.

Pour l'instant, le principal int�r�t que je vois � utiliser le langage D, c'est de devenir meilleur en programmation g�n�rique et en m�taprogrammation.
Le C++ poss�de les templates, les fonctions constexpr et les macros, mais cela reste tr�s loin derri�re le langage D.

Citation Envoy� par Markand Voir le message
C'est un langage qui n'apporte aucune r�elle nouveaut�.
Je t'invite � lire https://dlang.org/spec/spec.html
Tu verras que le langage D a une tonne de fonctionnalit�s. Il est plus riche que C++ et le surpasse largement en programmation g�n�rique et surtout en m�taprogrammation.
3  0 
Avatar de Steinvikel
Membre expert https://www.developpez.com
Le 04/11/2018 � 15:53
Qu�en pensez-vous ?
"Il fait partie des observateurs qui soutiennent que D fait office de meilleur successeur au langage C que Rust et Go."
Le langage ce montrant explicitement son successeur est le C++. Quand est-il de la comparaison C++17 vs D ? et C2 ?
D'ailleur, je m'�tonne qu'il ne fasse pas parti des propositions dans les th�mes du style :
Quel langage pourrait remplacer C ? (Apr�s avoir compar� Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D)
ou encore Pourquoi les langages C et C++ auraient-ils encore de nombreuses ann�es devant eux ?...je comprend qu'il puisse �tre per�u comme "vieux" parce que d�velopp� depuis les ann�es 80, mais il a �volu� depuis... quelqu'un aurait des notions concr�tes qui sont limitantes dans C++ et n�cessaires pour plus de possibilit�s /performances ?
Est-il per�u comme un langage parall�le plut�t que successeur ?

multiparadigme, polymorphisme, r�flexivit�, asynchronisme, typage fort, le degr�s de contr�le bas niveau... la facilit� de codage dans tel ou tel contexte...
Des �l�ments que j'ai rarement vu c�te � c�te pour la description d'un langage, mais qui serait parfait comme brochure de pr�sentation !
PS: �a demande s�rement pas mal de temps de rassembler toutes ces info... en tout cas quand on s'y connait pas, comme moi. ^^'

edit:
- D peut �tre �galement utilis� pour �crire rapidement des scripts. En plus, les scripts ex�cut�s b�n�ficient de performances �normes ind�pendamment du nombre de scripts.
- D dispose d�un nombre important de biblioth�ques. De plus, il utilise la m�me structure de m�moire que C et C++, ce qui fait que la biblioth�que enti�re de C est facilement accessible � D ...et des travaux sont en cours (2016) pour faire la m�me chose avec C++.
- La compilation du code D est beaucoup plus rapide que celle du C++ pour des performances �quivalentes (sur du code ex�cut�) ...pour Go c'est l'inverse.

"Pour Andrei Alexandrescu (un des co-cr�ateur du langage D), les caract�ristiques d�introspection statique, le temps de compilation assez rapide ainsi que les nombreux atouts uniques au langage D, font de celui-ci le rempla�ant id�al � C. Partant de ce fait, il trouve que Go est d�pass� et n�a m�me pas saisi le probl�me, tandis Rust s�essaye � donner quelques �l�ments de solutions. (...) il estime que comparativement � D, m�me C++ s�est �gar� dans les bois."
0  0 
Avatar de Christophe
Responsable Syst�mes https://www.developpez.com
Le 05/11/2018 � 21:12
Le langage D est-il utilis� ?
Je le connais que de nom et depuis peu.

Je ne suis pas d�veloppeur, mais pour moi le C et le C++ sont tellement implant�s, que je ne vois pas ce langage n'�tre autre chose qu'une niche.

Ce n'est pas un jugement du langage lui-m�me. Et de ce que j'ai vu de ce langage, il a quelques �l�ments int�ressants.
0  0 
Avatar de Pyramidev
Expert �minent https://www.developpez.com
Le 05/11/2018 � 22:30
Citation Envoy� par chrtophe Voir le message
Le langage D est-il utilis� ?
Sur la page Wikip�dia du langage D, on peut trouver plusieurs exemples :
Notable organisations that use the D programming language for projects include Facebook,[49] eBay,[50] and Netflix.[51]

D has been successfully used for AAA games,[52] a JavaScript virtual machine,[53][54] an operating system kernel,[55] GPU programming,[56] web development,[57][58] numerical analysis,[59] GUI applications,[60][61] and a passenger information system.[62]
Les notes de bas de page renvoient vers des articles que je n'ai pas lus.

J'ai aussi un exemple d�taill� sous la main : https://dlang.org/blog/2018/06/20/ho...-migrate-to-d/
Cet exemple vient de l'industrie maritime. Une entreprise avait un code d'un demi-million de lignes en Extended Pascal. Mais Extended Pascal �tait sur le point de ne plus �tre maintenu, donc ils ont voulu transpiler le code vers un autre langage. Finalement, Bastiaan Veelo, un lead developer de l'entreprise, a �crit un code en D pour transpiler Extended Pascal vers D. Le choix du langage D est d�taill� dans l'article.
0  0 
Avatar de Markand
Membre �clair� https://www.developpez.com
Le 05/11/2018 � 9:00
Je ne vois pas l'int�r�t de continuer � d�velopper D. C'est un langage qui n'apporte aucune r�elle nouveaut�. En plus de �a il a souffert d'avoir eu 2 biblioth�ques standard, poss�de un GC et n'a m�me pas de pattern matching.
1  3