Grand projet C++, jusqu'où personaliser le language ?
Bonjour,
Ayant une bonen experience en C++. Je me suis lancer dans la creation d'un jeu (je vous rassure, c'est du serieu). A base de C++, Qt5 et DirectX.
Plus je m'avance dans le C++, plus il me parait bancale, avec plein de problemme et de bizarerie. Avec le temp j'ai ecris pas mal d'utilitaire pour le languege (classe de pointeur inteligent, wrapper pour les proprieter, wrapper pour les classes etc). Il m'est meme venue a l'idee de creer un precompilateur pour pouvoir ajouter des fonctionaliter en c++ (un peu comme qt).
Bien evidement tous ont quelque chose de plus que leurs analogues, je ne suis pas du genre a faire du code pour du code.
Sauf que apres pas mal de temp, je me retrouve avec un code plutot bien a moi. Avec pas mal de feature (j'essayer en gros de rendre le C++ plus C#, tous en gardant les performances).
Ma question est plutot simple, est ce que sa vaut le coup ? Je crain que ces module ne se font des miserer entre eux (les pointeur inteligent fonctionnent mal avec une classe sous singelton par exemple), et qu'au finale, sa fasse plus de mal que de bien.
J'aimerais avoir l'avis de quelqu'un ayant beaucoup d'experience en C++. Je doute que quelqu'un qui n'as jamais bosser sur de grans projet pourais bien saisire le problemme.
Amicalement.
C++ what a wonderful language
Je vais assez dans le sens de koala01 et Klaim, chercher à reproduire en C++ des concepts issus du monde managé ne me semble pas être une bonne idée. En effet, les langages managés sont extrêmement plus productifs (contre partie ils restent beaucoup plus lent même avec les meilleurs JIT et GC du monde).
Mais dire que c++ est bancale me semble dur. C'est à mon goût le plus beau, le plus puissant et le plus complet des langages.
La philosophie est incomparable, les langages managés sont en général designés dans l'idée de pouvoir exploiter au mieux le framework avec lesquels ils sont livrés et c'est génial pour beaucoup d'applications.
En revanche, C++ est plutôt brut de décoffrage sans framework d'où le besoin de se créer des utilitaires, mais la philosophie objet est franchement différente notament dûs à la puissance des templates C++ les problèmes ne doivent pas être abordés avec les mêmes techniques. De nombreux ouvrages notamment celui de Andrei Alexandrescu "modern c++ design" traite de sujets qui seraient intraitable de la sorte dans le monde managé.
Bref, la reproduction en c++ de mécanisme c# me semble contre-productif et tout du moins ne tire pas partis des concepts (bien plus nombreux) de c++.:aie:
M'enfin pour les librairies disponibles, je pense que C++ est plutôt gâté : Qt, boost, la merveilleuse ACE ... et puis C++11 moi, j'aime bien:ccool: