Parce que python est nettement meilleur à ce sujet là ?[/quote]
Python est un langage interprété, contrairement au Java qui compile à la volée.[/quote]
Ça c’est faux.
Pas vraiment de raison ou plutôt si mais pas celle que tu crois. C’est le fait d’avoir un langage dynamique qui consomme.
Tu immagine bien que c’est débile d’avancer des choses comme ça. Les développeurs java ne savent pas coder et les développeurs C++ sont associables (c’est à peu près du même niveau).
Ce qui va jouer sur la consommation c’est :
[ul]
[li]le runtime : c’est très parlant pour Java et python et leur VM, mais ça peut aussi concerner les comme le C++ ou le go si on ajoute (par exemple un gc) (bonne nouvelle pour ceux que ça intéresse ça devrait évoluer dans le bon sens du coté de java avec jigsaw pour java 9 ou 10) ;[/li]
[li]le langage : en C, tu consomme très peu de mémoire autre que ce que tu alloue explicitement, dès que tu passe à un langage objet ça commence à grossir. Là dessus Java est assez lourd parce qu’il possède des mécanismes assez lourd (pour gérer l’introspection et la sécurité entre autre), python aussi est assez lourd par design le fait d’avoir des objets/classes dynamiques ;[/li]
[li]la conception : on peut faire des choses très lourdes par conception, il s’agit ici d’un couple développeur(s)/langage. Outre la partie algorithmique c’est la maîtrise du langage qui va jouer.[/li][/ul]
Je ne sais pas ce qu’il en est pour les logiciels que tu cite, mais Firefox et Chrome consomment énormément de mémoire et sont en C/C++.