Pourquoi les grosses applis sont développées en C++ ? - C++ - Programmation
Marsh Posté le 16-11-2005 à 19:08:15
Il y a plusieurs raisons:
1) c'est pour des raisons historiques. au debut de ces projets, .net et java n'etaient pas disponibles par exemple.
2) certaines fonctionalites ne sont pas accessibles. Par exemple, l'API du systeme d'exploitation n'est souvent accessible en C et pas directement en .net ou java
3) la performance? ca depend. Java est tres souvent aussi rapide que C++ (a code equivalent) mais certaines bibliotheques ne le sont pas (swing et meme swt).
Pour un nouveau projet, la vraie raison est la seconde.
Marsh Posté le 16-11-2005 à 19:18:42
vas-y, compte le nombre d'appli que tu fais tourner sur ton desktop. On va dire minimum 20. Tu multiplies par autant de VM (avec on dira un minimum de 10MB de mémoire privée). Tu sommes le tout. Et tu nous l'a refait ton histoire de rapidité.
Marsh Posté le 16-11-2005 à 20:00:57
j'ai été témoin d'un essai d'un serveur écrit en java, il prenait environ 80 MB, et il y a environ une quinzaine de serveur à faire tourner sur cette machine. Et c'était un des plus petits serveurs ... Meme avec 4 GB de Ram comme c'était le cas, c'était injouable.
Et dans le domaine du calcul numérique, les perfs de Java sont inférieures ,disons de 5 à 50 fois plus lentes, pour quelques maigres benchmarks effectué je l'accorde.
Marsh Posté le 16-11-2005 à 20:14:50
le problème c'est qu'avec les langages à VM, la taille des appli à tendance à exploser, celles des données aussi (combien pèse un Object ?) mais la taille des cache ne suit pas.
Marsh Posté le 16-11-2005 à 21:42:02
MS-Office n'est pas développé en C++, mais dans un langage particulier qui produit du P-code, qui est propre à Micosoft.
Une grande partie des logiciels d'Adobe n'est pas non plus développée en C++, mais en C.
Marsh Posté le 16-11-2005 à 22:32:35
OK, merci des réponses.
Et pour la partie graphique (boutons, interaction utilisateurs, etc ...), comment est-ce possible d'avoir un résultat satisfaisant rapidement ? Parce que là je viens de voir dans un exemple que l'on gère toute l'interaction dans une seule fonction, c un intorchable
Marsh Posté le 20-11-2005 à 05:58:26
personnellement, je trouve que Qt est super simple....
http://www.trolltech.com
Marsh Posté le 16-11-2005 à 18:52:58
Salut,
Je débarque un peu en C++ (je dois développer un snap-in pour le "Computer Management" de Windows, c'est pas la joie !) et je me pose une question fondamentale : le pourquoi de C++.
Quelle est la raison principale pour développer les grosses applications en C++ comme : MS Office, Adobe etc ... ?
Pourquoi ne pas utiliser .NET ou Java qui sont des langages moins spartiates a priori ? Par exemple, la gestion des composants graphiques et des évènements utilsiateurs a l'air à peu près horrible en C++ (si vous pouvez me démontrer le contraire je suis preneur)
Pour la perf ? Parce qu'il faudrait le runtime .NET ou Java pour les faire fonctionner ?
Merci
Message édité par Lex le 16-11-2005 à 18:55:09