Question

J'ai décidé de me lancer davantage dans le développement de code natif avec C ++. J'essaie de décider si je serais mieux servi avec CodeGear C ++ Builder 2009 ou Visual Studio 2008. J'utilise actuellement Delphi 2007, je suis donc très à l'aise avec l'EDI de C ++ Builder (le même que Delphi), ainsi que le VCL et RTL.

Je n'ai jamais été un grand fan de MFC (depuis que je l'ai utilisé pour la première fois depuis le jour VS 6.0), mais je ne l'ai pas examiné de près depuis.

Je voudrais entendre des experts ayant l'expérience des deux IDE, qu'il s'agisse des versions les plus récentes ou non.

Pour le moment, je me tourne vers C ++ Builder, car j'estime que la VCL est beaucoup plus robuste et plus facile à utiliser que MFC --- mais comme je l'ai dit, cela fait longtemps que je n'ai pas utilisé MFC. Je ne suis pas intéressé par la création de programmes qui s'appuient sur le .NET Framework, car j'enseigne en partie le développement natif. Le MFC est-il toujours roi pour Windows C ++? Ou est-ce que WTL ou ATL est la grande chose?

Tous les gourous du C ++ veulent-ils partager leurs opinions?

MODIFIER : je comprends que MFC n'est pas la seule boîte à outils graphique pour Visual Studio. Cependant, je cherche des recommandations basées sur la boîte à outils GUI + IDE. Pour C ++ Builder, il n'y a qu'une seule option réelle: C ++ Builder + la VCL. Pour VS 2008, c’est VS + MFC / ATL / WTL / QT ... déroutant pour moi car je ne connais pas grand chose à leur sujet.

Était-ce utile?

La solution

Venant de Delphi, vous trouverez la VCL facile à utiliser avec C ++ Builder. Il y a quelques bizarreries, comme C ++ ne cache pas le fait que TObjects sont vraiment des pointeurs (ce que Delphi vous cache), et certaines choses comme les propriétés de tableau sont accessibles différemment.

Il y a deux ou trois ans, je cherchais un moyen de sortir de C ++ Builder, mais maintenant, avec les dernières versions (et l'achat de Codegear par Embarcadero), je suis satisfait du produit et de la direction.

Vous constaterez que le nombre de types de chaînes et les incompatibilités potentielles variées sont assez pénibles avec C ++ Builder, mais vous vous y habituerez! (std :: string, char [], wchar_t [], TCHAR, AnsiString, WideString, UnicodeString et String pour en nommer quelques-uns)

Personnellement, je voterais pour C ++ Builder - à cause du RAD bidirectionnel et de la VCL, bien que ce ne soit peut-être pas la meilleure façon d'apprendre les idiomes C ++ modernes.

Autres conseils

Visual Studio et MFC ne sont pas identiques. J'utilise Studio tout le temps et j'évite les MFC comme la peste. Vous pouvez utiliser WTL, ATL, Win32 ou n’importe quel nombre de bibliothèques pour créer des applications sans MFC.

La réponse simple est que pour le développement C ++ pur, il doit s'agir de VC ++.

Pour développer: en tant qu’environnement de développement purement C ++, vous ne pouvez tout simplement pas battre VC ++, le débogueur est meilleur, l’IDE ??est supérieur (tout à mon humble avis, bien sûr). Je l'ai utilisé pour développer des bibliothèques que j'utilise ensuite à partir de C ++ Builder pour ces raisons.

Cependant, une fois que vous avez commencé à développer une interface utilisateur, ou tout ce que vous pouvez résoudre en utilisant la VCL ou ses composants, C ++ B est le meilleur choix. Comparé à la VCL, MFC ou ATL sont horribles en comparaison, ce qui vous laisse utiliser .NET, ce qui est probablement une meilleure option, mais pas

Je ne suis pas sûr que je recommanderais de créer un nouveau produit à l'aide de C ++ B ou de Delphi sur la base des "instructions" données par les fournisseurs ces dernières années. Cependant, cela semble changer pour le mieux, mais jusqu'à ce qu'un peu plus de temps se soit écoulé, il est difficile de dire comment les promesses se concrétisent.

Si vous faites du développement C ++ pur sous Windows, il est difficile de battre VS. Le compilateur est rapide, assez conforme aux normes et produit un code bien optimisé. Le débogueur est le meilleur sur n'importe quelle plate-forme. L'IDE est OK.

C’est aussi clairement la chaîne d’outils de compilateur la plus largement prise en charge sous Windows. Téléchargez n'importe quel projet / bibliothèque open-source et, si Windows est pris en charge, il aura probablement été construit et testé avec VS. Sa popularité en fait également le plus utile des CV.

Qu'est-ce que Builder vous donne? Une bibliothèque d'interface graphique raisonnable. Bien, c’est bien, mais il existe de nombreux autres kits d’interface graphique (wxWidgets, GTK, Qt, etc.). Beaucoup sont open source et multi-plateformes.

Cependant, ces jours-ci, je trouve qu'il est préférable de restructurer mes applications pour fournir une API, puis de construire l'interface graphique par-dessus dans un autre langage. La force de C ++ n’est pas dans le développement d’une interface graphique. Du moins pas aujourd'hui ...

Je choisirais - et recommanderais - plutôt que Builder.

Je n'ai pas utilisé C ++ Builder depuis des années, mais en ce qui concerne le débogage C ++, Visual Studio 2008 se démarque des autres IDE et des précédents VS, surtout si vous utilisez des conteneurs STL, car il est très facile d'inspecter leur contenu. .

Cependant, du côté de l'interface graphique, C ++ est maintenant un langage de seconde classe pour Microsoft. Le chemin du futur est WPF et C ++ n'est pas pris en charge en tant que XAML- langage convivial : Nous continuerons d’investir dans C ++ / CLI pour permettre aux développeurs d’exposer les actifs C ++ natifs au monde géré et inversement. Nous pensons que le développement .NET pur est préférable en utilisant un langage orienté .NET tel que C # ou VB. Les investissements dans C ++ / CLI concerneront principalement les zones d’interopérabilité gérées de manière native.

Donc, pour créer une interface graphique C ++ d'aspect moderne , votre meilleure option pourrait bien être la VCL - si la VCL continue de le rendre possible; -)

C ++ Builder est de loin supérieur à MS-VS en ce qui concerne le développement basé sur l'interface utilisateur et les applications orientées base de données. MFC est nul! Cependant, VS a de meilleures capacités de débogage.

Je suis d'accord pour C ++ Builder, sachant que vous connaissez déjà Delphi. MFC n'a pas beaucoup changé depuis les jours VS6, donc le code écrit en utilisant MFC ressemble toujours à de la merde. Cependant, VS a changé et est maintenant un très bon IDE.

N'oubliez pas non plus que C ++ Builder n'est pas stable en tant que ligne de produits. Il y a eu des moments dans le passé où il n'était pas maintenu / son avenir n'était pas clair, etc. Vous tentez donc votre chance si vous voulez construire quelque chose qui dure.

Juste pour le plaisir, pouvons-nous aussi ajouter éclipse au mélange?
Je viens de trouver que travailler dans eclipse était meilleur que de travailler dans Visual Studio.

Sauf si vous utilisez VS2008 avec Winforms, le support graphique est pris en charge par le biais de modèles Windows (généralement issus de ressources), ce qui est vieux jeu et que vous ne voulez probablement pas utiliser. Le support graphique de VS2008 n’est donc pas si spécial.

Pour ce qui est de la boîte à outils graphique, consultez peut-être Qu'est-ce qu'un bon Boîte à outils GUI / widgets

Vous pouvez utiliser Eclipse + MinGW + Qt4 + QT Intégration Eclipse et obtenir tous les éléments: débogueur, concepteur d’interface graphique, etc.

Notez que Qt4 est sous double licence: licence Open Source et licence commerciale.

Vous pouvez également combiner Qt4 avec Visual Studio (même avec Express) et utiliser tous les avantages de VS.

.

Pour moi, Qt4 est la voie à suivre et VS over Builder.

J'ai adoré C ++ Builder il y a quelques années. C'était fantastique. C’était bien mieux avec sa VCL que VS avec son MFC pourri. Ensuite, les choses ont changé chaque année.

Builder est en baisse; 1. Builder n'a pas été mis à jour avec aucune fonctionnalité réelle. 2. Borland a abandonné l’idée de réécrire la VCL en C ++ pour l’utiliser avec Kylix et Builder. 3. Les dégâts causés par CodeGear et l’avenir incertain de Builder ont mis beaucoup de monde hors de portée du produit.

VS s’est amélioré; 1. IDE a été beaucoup amélioré 2. Le compilateur du moins compatible aux standards sur la plate-forme Windows est devenu le plus conforme aux standards (sans compter GCC sur MinGW bien sûr) 3. .NET est apparu et il y avait C ++ managé puis C ++ / CLI pour permettre l’utilisation de ce framework à partir de C ++

Nous avons de nouveaux et forts joueurs 1. Eclipse 2. Qt Creator

et nouveaux kits d'outils graphiques

  1. wxWidgets
  2. Qt4 a maintenant aussi une licence open source

Pour résumer; Builder est mort parce que Borland

  1. pensais que Delphi est si merveilleux qu'ils n'ont pas vraiment besoin d'autre chose pour gagner de l'argent
  2. est tombé dans le battage médiatique de Java et y a investi trop de ressources
  3. n'a pas compris le grand pouvoir du C ++, mais plutôt stack to pascal, qui a toujours été un langage académique sans réel produit créé avec ce dernier

En ce qui concerne le développement Windows, rien ne surpasse vraiment Visual Studio. Il est très riche en fonctionnalités et possède un excellent débogueur, sans oublier la vaste communauté d'utilisateurs qui vous aidera à résoudre les problèmes que vous pourriez rencontrer. Si les outils de développement d'une entreprise pour leur propre système d'exploitation n'étaient pas les meilleurs, je craindrais leur statut dans le monde des logiciels. Mais si vous n'avez pas besoin des fonctionnalités supplémentaires et avez absolument besoin d'un outil RAD avec drag & amp; drop (en dehors de MFC), le constructeur C ++ n'est pas si loin derrière. Utiliser l'environnement Delphi avant n'est qu'un avantage pour vous.

La dernière chose à propos de C ++ Builder de CodeGear - je veux dire de la version 2009 - est que ses mises à jour peuvent vraiment vous faire détester cet IDE.
Après avoir installé la 2e mise à jour, j'ai découvert que le bloc if / else NE FONCTIONNE PAS CORRECTEMENT. Il peut entrer une instruction IF mais ne peut pas en saisir une autre - et cela ne dépend pas de la situation - cette instruction a tout simplement cessé de fonctionner. Il m'a fallu environ deux ou trois heures pour comprendre, et j'ai commencé à développer l'application win32 nécessaire dans VS. Je considère qu'elle est plus fiable que le produit CodeGear. La deuxième fonctionnalité qui me déplaît, c’est que vous ne pouvez pas désactiver le support Unicode et devez utiliser les versions ANSI des fonctions win32 EXPLICITEMENT (par exemple, SendMessageA (...)), ce qui est très ennuyeux. Je respecte à peine l'échéance pour terminer le travail avec VS2008.
C’est juste mon expérience, le choix est à vous

Essayez plutôt Lazarus. Écrivez une fois, compilez-en plusieurs. Fonctionne sur plusieurs plates-formes. Toute personne venant de Delphi et de Kylix aura l’impression d’être extrêmement à l’aise avec cet outil RAD. Quant à l’avenir, il est open source avec une communauté forte, le développement se poursuivra sans contrainte commerciale.

Pour le développement C ++ natif, je ne voudrais pas utiliser C ++ Builder ni VS. Ces IDE sont tous optimisés pour une utilisation avec leurs frameworks.

Je préférerais choisir Eclipse, Code :: Blocks ou Codelite. Ces IDE ne sont optimisés pour aucun framework et vous pouvez basculer entre plusieurs compilateurs sur plusieurs plates-formes.

2012 est presque fin. J'étais un utilisateur de Borland C ++, puis je suis passé à VC ++ 6.0. Récemment, il y avait une exigence d'un client qui voulait une interface utilisateur graphique pour son produit et qui ne voulait pas de dépendance vis-à-vis du framework .NET. J'ai donc exploré le RAD Studio Embarcadero XE2.

En ce qui concerne le développement RAD C ++, je pense que même MSVC ++ n’en est pas proche. C'était comme une brise. Bien que j'ai trouvé des problèmes lors de la compilation des modèles. Par exemple, si vous définissez un foncteur et souhaitez associer le constructeur à l'appel de foncteur que vous ne pouvez pas faire en C ++ B, vous devez créer un objet puis appeler le foncteur séparément. Il y avait aussi d'autres problèmes, car je ne pouvais pas compiler complètement la bibliothèque Poco.

J'ai trouvé la solution en créant les DLL dans VC ++ et en les appelant à partir de l'interface C ++ B. cela donne le meilleur des deux.

J'espère qu'Embarcadero atteindra bientôt les normes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top