Bonjour,
Je voulais savoir ce que valent ces langages par rapport au C++ ?
Avez vu pu voir la comparaison sur une même scène ?
Bonjour,
Je voulais savoir ce que valent ces langages par rapport au C++ ?
Avez vu pu voir la comparaison sur une même scène ?
Salut, la seule chose que je peux te dire sur le C# c'est qu'il représente le futur langage maître pour la plateforme Windows. Il apporte un gain certain de productivité par la clarté de sa syntaxe et par sa quantité de classes préexistantes. Il est donc facile de programmer en C#, rapide et le tout avec toutes les techniques de la programmation objet (mis à part l'héritage multiple) actuelle (les pointeurs existent en mode unsafe).
En terme de performances pure, je peux t'assurer que le C# n'a pas à rougir face au C++, mais le premier chargement par exemple est plus long (du à la compilation en JIT). Le C# compile en juste à temps (il prend uniquement ce qu'il a besoin en gros et compile en natif et non en langage interprété comme certains le prétendaient). Selon plusieurs tests, le c++ est devant le c#, mais certains c'est l'inverse (notamment dans la gestion des lumières).
Je pense qu'il faut voir le développement .Net comme un outil de gain de productivité plutôt qu'un ensemble de langage les plus rapides/performants. C'est un confort de programmation et une nouvelle perspective qui s'ouvre à nous... Je te parle avec connaissance de cause car on est en ce moment en train de développer un jeu à cette adresse : http://backfire.conception-informatique.com.
Voilà à toi de faire le bon choix selon tes propres critères !
merci ! et je suppose que le visual basic est derrière le C# ?
d'après des tests diffusés sur le net, oui le Visual Basic .Net est derrière le C# en terme de performances (mais c'est très léger). Le C# génère moins d'instrustions MSIL que le VB c'est pour quoi ce dernier est moins performant : au moment de la compilation JIT il lit plus de lignes en gros. Microsoft a privillégié le C" sur ce coup là.
perso j'utilise vb.net pour mon projet de moteur 3d, et je n'est pas du tout à me plaindre des performances, et qu'elle simplicité ce langage, ralala c'est tout une histoire d'amour
moi je sais pas, g jamais prog avec autre chose que le C ou C++ mais je sais que les jeux vidéo sont plutôt programmé avec c langage là par rapport au vb.net ou C# ... il doit donc y avoir qq différences de performence non ?
Personnellement, je pense que si les développeurs restent sur le c/c++ c'est surtout dû à une réutilisation des classes développées et améliorées depuis plusieurs années. Il serait trop coûteux de traduire tous les codes en c# ou vbnet, surtout si la seule utilité est de changer de langage. Les langages .Net sont récents, mais je parie qu'avec le prochain windows, des développeurs qui créeront un nouveau moteur graphique opteront pour cette nouvelle technologie qui leur permettra de gagner énormément de temps et d'argent dans les coûts de développement. A mon avis ils préfèreront "sacrifier" quelques FPS (130 au lieu de 150 par exemple) à une meilleure conception et organisation du travail. De plus rien ne nous assure que les applications .Net ne seront pas plus performantes sur le nouveau windows que les applications Win32... Si tu dois commencer une application directX, je te conseillerai vivement de te lancer avec le .Net (pour toutes les bonnes raisons que j'ai cité ultérieurement), mais je te conseille aussi (si ce n'est pas le cas) d'apprendre la programmation c/c++ car elle ne disparaîtra pas de si tôt.
l orga en C++ serais moins bien qu en C# ? je me permet d en douter on organise son travail comme on veux, si tu prog à la truelle tu peux le faire en n importe quel langage...
Je n'ai écrit nulle part que le c# est moins bien que le c++, mais je dis simplement que le c# apporte des gains de productivité non négligeable. De plus, il y a une confusion générale car comparer le c++ et le c# est incohérent puisqu'il s'agirait plutôt de comparer deux technologies différentes : le .Net et le Win32 par exemple.
De plus, le c++ existe en .Net (avec quelques modifications pour adhérer aux nécessités du framework .Net) donc ceci n'est pas une affaire de langage mais de technologie.
Pour résumer : si tu veux développer une application 3d la plus performante à l'heure actuelle et que tu as beaucoup de temps libre, le c++ sera le candidat le plus efficace c'est inévitable. Maintenant, si tu souhaites programmer la même chose plus rapidement, ton choix se portera sur le .Net mais avec des performances moins élevées (pour l'instant) et donc le C#, le C++.Net ou le Vbnet seront les favoris...
c++ = performances mais technologie vieillotte
.Net/c#/VbNet = productivité, technologie récente risquant d'être la plus prisée et favorisée par Microsoft à l'avenir. Ce qui incitera fortement les développeurs (à contre-coeur pour beaucoup) à se familiariser au .Net. L'avenir nous le dira.
non moi tt ce qui me plaisais pas c t simplement ça :
backfire :
A mon avis ils préfèreront "sacrifier" quelques FPS (130 au lieu de 150 par exemple) à une meilleure conception et organisation du travail.
Ok je vois, mais ça recoupe tout de même ce que je disais : le c++ en Win32 aura de meilleures performances mais présente une lourdeur et complexité (inutile ?) de programmation que les langages .Net effacent. Tu as du faire un contresens et du croire que je disais que le c++ afficherait moins de FPS
Mais pour illustrer ce que tu disais tout à l'heure à propos de la programmation à la truelle : un bon programmeur est une personne économe en ressource et donc optimise toujours son code. Il vaut mieux un excellent algorithme en .net qu'un moyen en c++.
oui mais C++ ou C# c'est pas ça qui va me permettre de mener à bien l'aboutissement d'un projet de jeu vidéoSalut, la seule chose que je peux te dire sur le C# c'est qu'il représente le futur langage maître pour la plateforme Windows.
Quel rapport avec Direct X ? win32 est peu utilisée avec Direct Xe c++ en Win32 aura de meilleures performances mais présente une lourdeur et complexité (inutile ?) de programmation que les langages .
C'est certain qu'utiliser win32 pour un projet de gestion .....
Avec un programme affichant plus de 128 FPS on ne fait pas un jeu avec ça.Tu as du faire un contresens et du croire que je disais que le c++ afficherait moins de FPS
Les FPS c'est vrai que c'est primordial mais ça ne suffit pas à faire un bon jeu
Salut tout le monde.
Juste pour dire que les sources du jeu QUAKE 3 sont en en ligne. Vous trouverez l'adresse ici:
http://fr.wikipedia.org/wiki/Quake_3.
A propos des performances de jeu entre les différents langages, n'oubliez pas que de nos jours c'est la carte graphique qui fait le plus gros travail (merci ATI, NVIDIA et les autres). Je parle bien sur des shaders et de leur programmation qui font que quelque soit le langage utilisé, une scene peut s'afficher très rapidement puisque pour le langage, son travail consiste à envoyer les données à la carte.
La différence entre ces langages pourrait être comparée, si une utilisation massive de l'IA est faîte par exemple. On pourait voir alors si la programmation d'un algorithme en C# ou en visual basic n'a pas à rougir devant le même en C ou C++.
Je voudrais dire aussi que dans la plupart des jeux vidéos, l'optimisation est omniprésente. Regarder la programmation des shaders. C'est de l'assembleur!!! Il y a bien le HLSL ou le CG, mais leur compilateur ne sont pas encore optimisés comme le sont ceux du C++ par exemple.
Par contre pour le choix du langage, C++ peut toujours être un bon choix (sans parler de performance).
En effet, vu la progression de linux, on pourrait s'attendre à ce que le nombre de joueurs de cette plateforme devient tel, que la production de jeu pour linux soit incontournable. Et faire des jeux en C# pour linux c'est pas simple. D'ailleurs si des portages sous linux sont en cours d'essais, c'est pas pour rien... On verra peut-être même directX pour linux...
C'est très commercial, tout ça.
Un dernier mot. Faîtes-vous plaisir à programmer des jeux dans votre langage de prédilection. Si vous ne faîtes pas de jeux commerciaux, le choix du langage vous appartient.
Très bonne intervention moldavi, je suis entièrement d'accord avec toi sur l'utilité des cartes graphiques de nos jours, de l'utilisation massive de l'IA qui pourrait faire pencher la balance, des pixels et vertex shaders qui sont articulés par un propre langage (proche du c/c++ chez Nvidia : Cg).
Je voulais aussi souligner que la NASA a développé en Managed Code leur logiciel gratuit World Wind (180 Mo) qui est en fait l'équivalent de Goggle Earth mais en beaucoup plus poussé. Par contre je ne sais pas si le logiciel a été écrit en C#, en VB ou en C++.Net... La NASA a opté pour le développement .Net, nous pouvons être sûr que c'est pour de bonnes raison (Connections serveurs, coût de développement etc).
Bref comme le disait moldavi, l'important est de programmer dans son langage et pour sa plateforme de prédilection.
Envoyé par backfire
D'accord;alors comment tu programmes en assembleur avec .NET ??
En plus, je vais pas éternellement troller là dessus, mais .NET à ma connaissance ne supporte pas Direct Show.
A vrai dire je ne suis pas un spécialiste des pixels/vertex shaders car je ne sais pas du tout les faire (mais ça viendra). Cependant, le Cg de Nvidia est un langage qui gère ces Pixel/vertex shader, donc pas besoin d'assembleur, non ? Et puis microsoft a créer un langage HLSL qui gère tout ça aussi... Ce ne sont que des observations car je n'utilise pas encore les pixel/vertex shaders.Envoyé par mat.M
Sinon tu as raison, directShow n'est pas présent en DotNet, en espérant que ça soit pour bientôt, mais je ne vois pas pourquoi tu nous parles de directShow
je parle de Direct Show parce qu'ici c'est le forum Direct X et que ce n'est pas supporté par .NET
Or c'est un flot de propos dythirambiques et d'éloges que tu fais sur cette technologie
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager