
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 ?



Voir aussi :




Vous avez lu gratuitement 9 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.