Bonjour,
je voulais juste faire un post afin de lister des petits détails dans la grammaire de D qui font de ce langage un vrai bonheur à utiliser.
On parle souvent de ses avantages par rapport à C++ pour vanter ses mérites : Garbage collector, scope(), contrats, ... mais on oublie souvent que la grammaire a été améliorée.
Hier soir, je suis tombé sur une erreur de compilation qui m'a littéralement arraché un sourire (oui, c'est plutôt rare). C'est arrivé avec le code suivant :
Oui c'est idiot comme erreur de mettre un ';' après un if, mais la journée avait été longue. Et que celui à qui ça n'est jamais arrivé me jette la première pierre !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (success); { // instructions... }
Eh bien j'ai eu la surprise de voir le compilateur (gdc) me dire
Voilà quelques minutes de débogage de gagnées !No ';' allowed for empty if statements. Use {} for empty if statements.
De la même manière le code suivant
Correspond à la déclaration d'un pointeur et d'un entier en C. Alors qu'en D, il correspond à la déclaration de deux pointeurs. Ces deux pointeurs sont d'ailleurs initialisés à null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2int* a, b;
Ce genre de petits détails ne bouleverse pas le monde de la programmation, mais mis bout à bout, ils en font un langage plus résistant aux erreurs, plus logique et plus agréable à utiliser.
N'hésitez pas à compléter cette liste dans vos réponses.
Partager