Cette façon de le présenter est tout à fait raisonnable et me convient parfaitement.
Attention : la suite est une digression !
Cet argument est séduisant.
Mais pour moi il reste théorique.
On peut citer de nombreux cas où la plupart des codeurs utilisent (en général pour des raisons historiques) une mauvaise façon de faire qui est (ou a été) plus répandue , mais moins "correcte", et parfois moins lisible.
en Java :
- l'utilisation de raw types là où ce n'est pas nécessaire
- l'utilisation de Vector
- l'utilisation de String en lieu et place de StringBuilder/StringBuffer
- l'absence d'utilisation d'annotations
- ... je suis sur que tu en connais plus que moi
en C++ :
- l'utilisation de code et d'en-tête C (sprintf, malloc, <stdio.h>...)
- la gestion de la mémoire "à la main"
- toutes les techniques de soit-disant optimisation de lignes de code à la place du compilateur
- ... en fait presque tous les points de la FAQ C++