Points forts du C++ face à la concurrence

Pixel Message lu Posté le 19 Nov 2008 à 00:49 Bulle
Avatar de Pixel
Nouveau Membre

Messages : 28
GCPoints : 10445
Bonsoir,
j'ouvre ce topic pour parler un peu des points fort que possède le C++ comparé à la concurrence (Par exemple Java ou C#).

Autrefois, la rapidité du C++ faisait que ce dernier possédait un avantage certains quand on le comparait à Java. A l'heure d'aujourd'hui, la différence de rapidité entre une application Java et une application écrite en C++ tend à tendre vers zéro. On peut donc se poser la question suivante: quel est maintenant l'atout, ou les atouts, que possède le C++ face à la concurrence ?

La question est légitime quand on sait que les applications d'aujourd'hui ont tendance à s'appuyer sur une conception orientée objet, et que la couche objet de la concurrence vaut mieux que celle du C++ (ceci est mon point de vue, mais d'autres préfèrent celle du C++). De plus, la syntaxe du C++ n'est pas des plus agréable quand on la compare à celle de Java (encore une question de point de vue).

J'espère que ce topic ne fera pas un flop, et qu'il y a aura des réponses.


Pour ma part, je pense que le gros point fort du C++ vient surtout des templates. Grâce à ces dernier il est possible de faire de la méta-programmation (c'est sur ça que s'appuie Boost par exemple), et c'est devenue une technique (?) de programmation très puissante et qui a fait ses preuves (avec Boost donc).
Je ne sais pas s'il est possible de faire de la méta-programmation avec le Java ou le C# ?


A vous de répondre. :)

Gulix Message lu Posté le 19 Nov 2008 à 08:52 Bulle
Avatar de Gulix
Membre Confirmé

Messages : 184
GCPoints : 8860
En ce qui concerne les templates et la méta-programmation, va falloir que je regarde à quoi ça correspond exactement. Je pourrais dire si on retrouve ça après en C#.

Un des points forts du C++, à mon avis, c'est son histoire. Sa longue histoire lui permet de disposer de nombreuses ressources dans pleins de domaines différents (UI, Moteurs 3D, Mathématiques, Physique, Son, ...). Ces ressources sont souvent largement éprouvées, et disposent de bases très solides, contrairement à ce que l'on pourrait trouver en C# (où les ressources sont bien plus jeunes et moins stables).

Au niveau de l'écriture, je préfère le C# au C++. J'ai fait du Java, mais trop peu pour m'en souvenir. Je trouve le C# plus clair, plus agréable à lire. Le fait de disposer d'un gros framework (deux avec XNA) aux lieux de multiples bibliothèques permet de conserver une unité très agréable dans les appels de fonctions. Qu'on soit dans la partie UI, multimédia ou mathématique, on retrouve les mêmes conventions d'appels, ce qui n'est pas forcément le cas avec de multiples bibliothèques C++.

Je préfère largement le C#, qui est mon langage de dév' perso (j'en utilise un autre au taf), mais repasser au C++ ne me gênerait pas. Faudrait quand même un petit temps d'adaptation.
"Bien souvent, l'école représente votre meilleure chance. Non pas d'apprendre quoi que ce soit, bien sûr, mais de survivre à une attaque de morts-vivants".
Max Brooks - Guide de survie en territoire zombie

Mon Blog, mélange de prog' et de culture
Blind Shark - Pull N' Bounce
Darktib Message lu Posté le 19 Nov 2008 à 14:03 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Je pense que c'est l'histoire et les templates qui sont les points forts du C++.

Pour l'instant je n'ai pas vu de langage ayant autant de ressources avec un tel haut niveau.

Pour les templates, il n'y a pas que Boost qui les utilise, il y a plein d'autre libs...

PS : je sais pas quelle est la méilleure place pour ce topic : débats ou langage C++ ?
freemaul Message lu Posté le 19 Nov 2008 à 17:23 Bulle
Avatar de freemaul
Explorateur

Messages : 174
GCPoints : 50213
Pour moi ce n'est qu'un compromis facilité / puissance

pour le C ou le C++ c'est moin "facil" à la programmation, mais en contreparti c'est pour moi le language haut niveau le plus puissant.
"La vie n'a pas de prix, mais elle coûte chère"
Mod Message lu Posté le 21 Nov 2008 à 10:18 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Un point fort : les pointeurs. Que l'on ne retrouve pas en C# ou Java, où à grand renfort de code unsafe. Pouvoir manipuler les pointeurs manuellement est quelque chose de réellement performant, et surtout assez proche du matériel pour pouvoir le manipuler directement.

Autre point fort : la possibilité de recourir justement à autre chose que du code totalement orienté object. Mais quitte à choisir un langage objet, et si inutilité des pointeurs, je pencherais plutôt pour le C# ou le Java, qui eux sont totalement orientés objets, et plus cohérents dans cette orientation.


Pour la place du sujet, en l'état, la section C++ est convenable, on verra suivant la suite.
noob4ever Message lu Posté le 02 Déc 2008 à 20:13 Bulle
Avatar de noob4ever
Explorateur

Messages : 295
GCPoints : 48742

Citation :

Un point fort : les pointeurs. Que l'on ne retrouve pas en C# ou Java, où à grand renfort de code unsafe



à t'entendre unsafe c'est le mal :grin: .

Citation :

j'ouvre ce topic pour parler un peu des points fort que possède le C++ comparé à la concurrence (Par exemple Java ou C#).



Pour moi C++ et C#/Java c'est pas la même chose, l'un est plutot bas niveau et les 2 autres sont fait des développements applicatif de malade. Même si avec le framework Qt le C++ se met à leur niveau, c'est quand même pas ça pour autant.

Citation :

quel est maintenant l'atout, ou les atouts, que possède le C++ face à la concurrence ?


Plus célèbre, comme j'ai vu sur un poste du dessus, raison historique +1. Puis la portabilité... Java ok mais C# il y a des progrès à faire.

What did C:/DARTHVADER said to C:/DARTHVADER/LUKESKYWALKER ?

I'm your folder
Répondre
GameCorp - Site d'apprentissage et d'entraide à la création de jeux vidéo.
XHTML Valid 1.1 - Page générée en 0.0298 secondes