La surcharge d'opérateur fait de C++ un langage plein de caractère non textuel il me semble. Ce n'est donc pas forcément mieux sur ce point. Cependant les caractères spéciaux peuvent être un plus.
Code:
{ (x,y) | x <- [1..10] /\ y <- [1..5] }
Trouves-tu ça si difficile à lire ?
un « -> » pour une flèche, un « <- » pour un « appartient », « /\ » pour un « et logique » n'est pas si terrible non ? Pas plus tordu qu'un « & » pour une référence, un « :: » pour un opérateur d'accès, un « << » pour un opérateur de flot ou un « && » pour un « et logique ».
Mais bon, quoi qu'il en soit, il serait légitime que tu n'aimes pas ça. C'est affaire de goût après tout. C'est donc un critère peu pertinent pour la lisibilité. Un habitué de Java préférera plus probablement Java à C++.
La question se poserait plutôt sous la forme : si on prend le même langage, qu'est-ce qu'un code lisible écrit dans ce langage. Ça évacue un peu les affaires de goûts personnels.
(.../...)