55Fermer57
ZephLe 05/09/2007 à 01:15
Sasume (./46) :
Je pense que ce que Jyaif voulait dire, c'est que l'opération + entre deux entiers est une opération machine.Par extension, quand on lit "chaine = debut + chaine + fin", ça donne au premier coup d'oeil l'impression qu'on a affaire à des opérations de base dans le code, alors qu'il peut s'agir de fonctions lourdes (en temps d'exécution) mais aussi buggées.

Plus un langage est haut niveau, moins cette notion de "opération de base" a du sens; bien sûr, il serait stupide de surcharger "+" avec une opération monstrueusement longue, mais à partir du moment où ce symbole a un sens et peut alléger la syntaxe (l'exemple de la concaténation de chaînes me semble tout à fait adapté), ça me semble être un avantage conséquent.

Sinon pour le fait de devoir aller regarder le code derrière, oui effectivement, mais on revient à une discussion qu'on avait eue à propos du passage par référence, qui ne se détecte pas au moment de l'appel d'une fonction, et oblige à aller voir son prototype (sauf en C# tiens, les passages par référence se voient ^^). C'est vrai, mais a priori en voyant "a + b", on est supposé savoir de quels types sont a et b, et donc on peut deviner sans trop de mal si le "+" a été redéfini ou non.