En fait concernant les opérateurs, je peux comprendre qu'ils ne les aient pas mis... Cependant, avis perso, je ne crois pas que cela pose tellement plus de problème: que ce soit "+" qui soit flou ou "add" qui soit flou change grand chose....
En fait, c'est surtout à l'utilisation (je passe d'un langage à l'autre pour le moment), ce qui m'embête le plus c'est:
Vector v=new Vector();
v.add("test");
string t=(string)v[0]; // et non! v.get(0).
Etc... je pense que ce sont typiquement les cas ou surchargé un opérateur aurait été pratique... (pareil pour hashtable, etc...), ça aurait en plus permis à string d'être vraiment une classe comme les autres...
Par contre c'est vrai que le "<<" et ">>" peut amener plus de confusions... (de base il n'ont pas une sémantique clair sur autre chose que des données binaires) et qu'il ne faut amha pas surcharger à tour de bras... ceci dit, le langage nous permettre d'utiliser des noms idiots pour les méthodes, ça ne veut pas dire qu'il faut le faire!
Amha, ce n'est pas uniquement pour abbréger le code, mais le rendre plus clair, typiquement un vector et un tableau dynamique, pouvoir l'indexé comme un tableau rend les choses plus simple! un hashtable est une association key->item, pouvoir utiliser un indexer pour ça me semble plus rapide et logique... parce que là, tu vois le get, tu ne sais pas toujours très bien de quoi il s'agit!
Enfin bref, les arguments contre (confusion, simplicité, etc....) sont aussi valable, perso, j'aurais aimer les avoir... mais bon ;-)
[^] # Re: 100% D'accord ... sauf ;)
Posté par tene . En réponse à la dépêche Java Virtual Machine 1.4.2 beta. Évalué à 7.
En fait, c'est surtout à l'utilisation (je passe d'un langage à l'autre pour le moment), ce qui m'embête le plus c'est:
string str1="coucou";
string str2="pas coucou";
if(str1==str2) // compile mais buggé, faut utiliser equals...
Vector v=new Vector();
v.add("test");
string t=(string)v[0]; // et non! v.get(0).
Etc... je pense que ce sont typiquement les cas ou surchargé un opérateur aurait été pratique... (pareil pour hashtable, etc...), ça aurait en plus permis à string d'être vraiment une classe comme les autres...
Par contre c'est vrai que le "<<" et ">>" peut amener plus de confusions... (de base il n'ont pas une sémantique clair sur autre chose que des données binaires) et qu'il ne faut amha pas surcharger à tour de bras... ceci dit, le langage nous permettre d'utiliser des noms idiots pour les méthodes, ça ne veut pas dire qu'il faut le faire!
Amha, ce n'est pas uniquement pour abbréger le code, mais le rendre plus clair, typiquement un vector et un tableau dynamique, pouvoir l'indexé comme un tableau rend les choses plus simple! un hashtable est une association key->item, pouvoir utiliser un indexer pour ça me semble plus rapide et logique... parce que là, tu vois le get, tu ne sais pas toujours très bien de quoi il s'agit!
Enfin bref, les arguments contre (confusion, simplicité, etc....) sont aussi valable, perso, j'aurais aimer les avoir... mais bon ;-)