Les performances des compilateurs C ont augmenté ?
Rassure-moi : tu en doutes sérieusement ? Rien qu'entre gcc 2.9x et gcc 3.0, elles ont fait un bond très sensible, et mesuré. De plus le x86 est un processeur peu sympa pour les compilos (jeu d'instructions foisonnant et peu orthogonal, très peu de registres, règles d'optimisation variables d'un processeur à l'autre et parfois délirantes (pipelines U et V du Pentium...)), ce qui fait qu'il y a eu beaucoup de marge pour l'optimisation du code généré. Cf. pgcc (le gcc optimisé Pentium), egcs (forké de gcc à l'époque où celui-ci stagnait en performances)...
Quake III est programmé en C.
Quake 3, étant sorti il y a quatre ans a été commencé il y a encore plus longtemps, et comme il s'agit d'une suite il est probable qu'ils n'aient pas voulu tout remettre à plat. En tout cas à l'époque où Quake 3 était sorti, certains studios travaillaient déjà en C++, et les compilateurs produisaient déjà du code de bonne qualité (en tout cas celui de Visual Studio).
quand le projet gnome a débuté, l'argument principal était que le C++ [...]
Que viennent faire ici les prétextes peu crédibles du projet Gnome ? Tout le monde sait que Gnome a été créé 1) à cause de la licence de Qt à l'époque 2) parce que RMS et MDI voulaient leur propre desktop (syndrome Not Invented Here + ego surgonflé des deux Messieurs).
mais avec le fait que les jeux open source sont ou bien moches ou bien avec des dessins très mignons (comme frozen bubble), mais très en retard sur les jeux actuels
Oui. Et je te réponds que les "jeux actuels" ne sont pas écrits en Java. Conclusion : les jeux "à l'heure" sont en C/C++, les jeux "en retard" sont en Java. C'est difficile à avaler ?
java a été utilisé depuis des années dans des jeux commerciaux, comme par exemple Vampire the masquerade qui a remplacé son langage de script proprio par du Java
Super : Java est utilisé comme langage de script et non comme langage principal, ce qui disqualifie complètement l'exemple donné. En plus, Java comme langage de script... J'ose à peine imaginer les difficultés des scripteurs qui ont dû se mettre à Java alors que la programmation avancée n'est pas leur métier.
Et puis, finalement, que le seul exemple que tu trouves est un jeu relativement peu connu (alors que pour C et C++ tu cites Quake 3 et Doom 3 ;-)) ne fait que confirmer que Java n'est pas à proprement parler très adapté à la programmation de jeux. Il y a de mauvaises décisions partout, mais le fait que l'immense majorité des jeux "actuels" (par opposition aux jeux "en retard") soient actuellement codés en C ou C++ ne laisse guère de doute sur l'intérêt de Java dans le domaine, n'est-ce pas ?
De plus, Java est très utilisé en embarqué
Ah oui, quand on parle de jeux temps réel et d'interfaces graphiques sur un PC de bureau, le démineur en Java sur un téléphone portable est un argument très pertinent.
[^] # Re: 1ère mouture du collecticiel client de OpenOfice.org : Glow
Posté par Moby-Dik . En réponse à la dépêche 1ère mouture du collecticiel client de OpenOffice.org : Glow. Évalué à 1.
Rassure-moi : tu en doutes sérieusement ? Rien qu'entre gcc 2.9x et gcc 3.0, elles ont fait un bond très sensible, et mesuré. De plus le x86 est un processeur peu sympa pour les compilos (jeu d'instructions foisonnant et peu orthogonal, très peu de registres, règles d'optimisation variables d'un processeur à l'autre et parfois délirantes (pipelines U et V du Pentium...)), ce qui fait qu'il y a eu beaucoup de marge pour l'optimisation du code généré. Cf. pgcc (le gcc optimisé Pentium), egcs (forké de gcc à l'époque où celui-ci stagnait en performances)...
Quake III est programmé en C.
Quake 3, étant sorti il y a quatre ans a été commencé il y a encore plus longtemps, et comme il s'agit d'une suite il est probable qu'ils n'aient pas voulu tout remettre à plat. En tout cas à l'époque où Quake 3 était sorti, certains studios travaillaient déjà en C++, et les compilateurs produisaient déjà du code de bonne qualité (en tout cas celui de Visual Studio).
quand le projet gnome a débuté, l'argument principal était que le C++ [...]
Que viennent faire ici les prétextes peu crédibles du projet Gnome ? Tout le monde sait que Gnome a été créé 1) à cause de la licence de Qt à l'époque 2) parce que RMS et MDI voulaient leur propre desktop (syndrome Not Invented Here + ego surgonflé des deux Messieurs).
mais avec le fait que les jeux open source sont ou bien moches ou bien avec des dessins très mignons (comme frozen bubble), mais très en retard sur les jeux actuels
Oui. Et je te réponds que les "jeux actuels" ne sont pas écrits en Java. Conclusion : les jeux "à l'heure" sont en C/C++, les jeux "en retard" sont en Java. C'est difficile à avaler ?
java a été utilisé depuis des années dans des jeux commerciaux, comme par exemple Vampire the masquerade qui a remplacé son langage de script proprio par du Java
Super : Java est utilisé comme langage de script et non comme langage principal, ce qui disqualifie complètement l'exemple donné. En plus, Java comme langage de script... J'ose à peine imaginer les difficultés des scripteurs qui ont dû se mettre à Java alors que la programmation avancée n'est pas leur métier.
Et puis, finalement, que le seul exemple que tu trouves est un jeu relativement peu connu (alors que pour C et C++ tu cites Quake 3 et Doom 3 ;-)) ne fait que confirmer que Java n'est pas à proprement parler très adapté à la programmation de jeux. Il y a de mauvaises décisions partout, mais le fait que l'immense majorité des jeux "actuels" (par opposition aux jeux "en retard") soient actuellement codés en C ou C++ ne laisse guère de doute sur l'intérêt de Java dans le domaine, n'est-ce pas ?
De plus, Java est très utilisé en embarqué
Ah oui, quand on parle de jeux temps réel et d'interfaces graphiques sur un PC de bureau, le démineur en Java sur un téléphone portable est un argument très pertinent.
Surtout que de tes propres dires : http://linuxfr.org/comments/220801,1.html(...)
La RAM, en embarqué, trop facile d'en ajouter ;)