a- vision de l'orienté objet beaucoup plus proche du pur concept objet
b- immense portabilité (ralala, je sens qu'on va encore me copier coller LE truc ultra rare qui prouve un exemple de non portabilité du java)
c- api standard très fournie, les seuls langages qui égalent + ou - le java sur ce point sont le C# et le Delphi. Pour le C++, on peut dire qu'il est vraiment tout en bas de l'échelle, la stl ne contient à peu de choses près que des conteneurs, des streams et... des chaines de caractères (
wow, c'est révolutionnaire).
d- edis extrèmement puissants, avec nottament de la rédaction de code automatique et du refactoring comme j'en ai jamais vu dans aucun autre langage. C'est quelque chose de pratiquement impossible à créer en C++, justement parcequ'il n'est pas bien normalisé mais aussi parcequ'il est d'une grande complexité au point de vue syntaxique.
e- plus grande facilité de gestion de la mémoire (he oui, fallait bien en venir à ça)
f- Bon, je t'ai donné mes arguments en faveur de Java, à toi de me donner les tiens en faveur du C++.
g- Mais avant ça, j'aimerais parler d'un argument que je juge complètement irrecevable et que tu vas surement m'énoncer parcequ'il revient 99% du temps: l'optimisation de la vitesse, le controle de la mémoire et "les GC c'est pô bien". Oui un programme Java c'est plus lent que du C++, c'est indéniable, oui on ne controle pas la mémoire à l'octet près, mais et alors? Le but d'un programmeur n'est pas de créer des programmes les plus rapides possibles, mais de créer des programmes, point. Je le redis, avec les ordinateurs actuels l'optimisation à outrance n'est pas nécessaire, si ce n'est dans quelques domaines bien précis.
h- L'un des seuls arguments que je trouve recevables que j'ai pu apercevoir sur ce forum est la métaprogrammation, mais on peut vraiment pas dire qu'il soit cité souvent.
Partager