Je pense que les devs de Java et de D auraient dut regarder la syntaxe de Ruby au moins pour ce point la!
OK, c'est du "sucre syntaxique" mais les commandes d'affichage sont tellement utilisé que ça le vaut et moi entre un:
1- puts "Erreur numero %{error} a la ligne %{lineNb}, colonne %{colNb} du fichier %{fileName}"
2- printeln "Erreur numero " + error.toString + " a la ligne " + lineNb + ", colonne" + colNb + " du fichier " + fileName
3- printf( "Erreur numero %d a la ligne %ld, colonne %ld du fichier %s", errno, lineNb, colNb, fileName);
Je prends 1!
La grosse difference entre 1 et 2 est que dans 1 le toString est appelé "magiquement"..
Normalement string+objet, cela fait type error et heureusement pour la vérification de typage, mais dans 1, la syntaxe indique bien quand veut obtenir une string en final et donc c'est remplacé par string+objet.toString..
Le printf est vraiment tres moche, il n'y a que le C++ qui ait réussi a faire pire.. Le seul avantage que je lui voit c'est qu'on peut facilement faire des formattage assez complexe (indentation a gauche, a droite,etc..), possibilité qui est quand même assez rarement utilisé..
Je ne vois pas pourquoi ce "syntactic sugar" bien agréable devrait être réservé aux languages "de script"..
[^] # Re: C'est un troll.
Posté par reno . En réponse à la dépêche Mono 1.0 sous le feu des projecteurs. Évalué à 1.
Je viens de lire un tutorial sur D ( http://www.digitalmars.com/d/index.html(...) ) ou ils present printf comme la huitieme merveille du monde..
Je pense que les devs de Java et de D auraient dut regarder la syntaxe de Ruby au moins pour ce point la!
OK, c'est du "sucre syntaxique" mais les commandes d'affichage sont tellement utilisé que ça le vaut et moi entre un:
1- puts "Erreur numero %{error} a la ligne %{lineNb}, colonne %{colNb} du fichier %{fileName}"
2- printeln "Erreur numero " + error.toString + " a la ligne " + lineNb + ", colonne" + colNb + " du fichier " + fileName
3- printf( "Erreur numero %d a la ligne %ld, colonne %ld du fichier %s", errno, lineNb, colNb, fileName);
Je prends 1!
La grosse difference entre 1 et 2 est que dans 1 le toString est appelé "magiquement"..
Normalement string+objet, cela fait type error et heureusement pour la vérification de typage, mais dans 1, la syntaxe indique bien quand veut obtenir une string en final et donc c'est remplacé par string+objet.toString..
Le printf est vraiment tres moche, il n'y a que le C++ qui ait réussi a faire pire.. Le seul avantage que je lui voit c'est qu'on peut facilement faire des formattage assez complexe (indentation a gauche, a droite,etc..), possibilité qui est quand même assez rarement utilisé..
Je ne vois pas pourquoi ce "syntactic sugar" bien agréable devrait être réservé aux languages "de script"..