J'ai la possibilité d'utiliser c++ builder ou Visual c++ 6.
Sur quels critères choisir ?.
Quel est l'avantage d'utiliser Visual c++ par rapport à Builder C++?
Merci
J'ai la possibilité d'utiliser c++ builder ou Visual c++ 6.
Sur quels critères choisir ?.
Quel est l'avantage d'utiliser Visual c++ par rapport à Builder C++?
Merci
Les deux produits ne sont pas comparables.
Les deux sont valables pour programmer en C++ pour Windows.
- Les applications C++Builder 6 sont portable sous Linux avec la CLX, ce n'est pas le cas pour VC++
- Borland C++Builder est un RAD, c'est à dire que tu peux développer plus rapidement des interfaces utilisateurs et des applications base de données, et presque aussi facilement qu'avec VB, avec la souris par glisser/coller de composants tout faits.
bin pour visual :
- un debugueur extremment puissant
- une documentation programmation c/c++ windows qui est une des meilleure (la meilleure ?) sur le marché, msdn
- une programmation windows a la source ( = proche de l'os windows)
personnellement ya un truc qui me plait pas avec les RAD justement, c'est que tu controles pas ... c'est pour ca que je n'utilises pas jbuilder par exemple.
des que tu veux modifier un truc qui n'est pas dans l'ide, bin tu te prends la tete tout simplement, et surement plus que si tu fesais l'effort d'apprendre comment ca marche ...
quand au debuggueur de borland, je serais curieux de le voir, pasque pour l'instant j'ai rien trouvé de mieux que celui de vc++ (pour le c/c++) tout os confondu ...
pour l'anglais/francais on en a deja parlé dans un autre topic, et ce n'est surement pas un argument (mais ya msdn francais qui existe pour ceux qui ont la licence).
msdn n'est pas un fouilli, il est extremement bien foutu.mais effectivement quand on sait pas ce qu'on cherche c'est comme quand on est dans une biblio, on sait pas par ou commencer ....
dans le tutorial que tu me donnes ya pas un gramme de mfc dedans ...
en ce qui concerne le dev des jeux, alors la j'ai d'enormes doutes en ce qui concerne les performances, et vaut mieux developper 2 versions, une pour linux et une pour windows (quel que soit l'ide) plutot que d'utiliser des bibliotheques generiques, car ce sont 2 systemes qui n'ont pas du tout la meme facon de fonctionner aussi bien au niveau du noyau que des peripheriques ...
pourquoi sans passer ? pasque ca reste encore du RAD c++, c'est a dire entre vb et vc++...
pour ceux qui developpent, utilisez borland ...
pour ceux qui developpent "vraiment" sous windows, rien ne vaut visual ... pour l'instant.
En ce qui me concerne je suis habitué à C++ Builder, j ai essayé de passer au visual C++ pour des raisons professionnelles. Mais a mon avis le fait que visual C++ soit utilisé dans beaucoup de boites est tout simplement stupide !
Les compétences que j ai acquise avec Borland C++Builder sont perdues avec Visual C++ qui est d'un compliqué à s'arracher les cheveux.
Pourquoi se prendre la tête avec VC++ à faire une interface graphique alors que Borland C++Builder nous propose une solution simple et trés rapide pour les créer facilement ?
En ce qui concerne la prog système je ne vois pas du tout en quoi Borland serais moin bien que VC++.
Je peux pas parler en connaissance des deeux edis. Mais je peux dire que pour le developpement d'application qui demandent bcp de ressoruces, il n'y a pas perte de perforamnces en utilisant CBuilder. De même qu'il ne doit pas y en avoir en utilisant Visual.
J'utilises DirectX avec Borland, et il n'y a aucun problème, si ce n'est que depuis dx8 je crois que Microsoft refuse de livrer les librairies pour Borland avec le SDK. C'est lache non ? :) quoiqu'il en soit si on a reussi a telecharger le SDK, on a aucun mal a telecharger les librairies Boralnd.
slut tous,
j aimerai me mettre au c++ connaissant déjà delphi, java, php.
mais apparement il vaut mieux prendre borland selon vous.
je voudrais utiliser le c++ pour faire des animations 3D et des ptit jeux, j ai opter pour l open GL donc je suppose que vous me conseillerez borland C++ ??
Je suis passé au C++ depuis environ 1 ans après avoir atteint les limites du C. Je développe essentiellement des applications d'acquisition de donnée.
J'ai eu la possibilité d'essayer plutôt longuement VC++ et C++Builder.
Comme tout le monde l'a remarqué, C++Builder est un RAD alors que VC++ ne l'est pas.
Cependant C++Builder n'a pas que des avantages.
Le debugger est assez puissant mais celui de VC++ a des possibilité supplémentaire, en particulier le pas à pas dans des macros.
La fonction de "code completion" de l'éditeur VC++ est plus tolérante aux erreurs de syntaxe qui précède le code à compléter, ce qui évite d'avoir trop souvent un sablier pour rien.
VC++ est puissant mais compliqué. Les MFC sont très proches de l'API windows, ce qui rend difficile la programmation de haut niveau à l'aide de composants graphiques ou autre mais facilite l'accès aux fonctions de l'API en les encapsulant dans des objets C++ (cela dit, on peut aussi utiliser les MFC dans C++Builder, même si cela parait idiot à priori).
Après beaucoup d'efforts, j'ai renoncé à utiliser VC++ à cause de l'omniprésence des macros qui rendent le code incompréhensible (ils n'ont pas dû suivre de cours de programmation chez Billou) et de l'envie d'utiliser un vrai RAD!
Avantages de C++Builder :
- interface utilisateur plus agréable
- vrai RAD
- code compréhensible (halte aux Wizards!)
- compatibilité ANSI
- portabilité vers Linux (si on se contente des objets CLX)
Quelques défauts dans C++Builder :
- héritage mutiple interdit avec des objets VCL (les objets viennent de Delphi)
- la VCL n'est pas mutithread : il faut changer de thread pour accéder aux fenêtres
- la traduction de l'aide à supprimé des références de l'index (ex :TObject n'y est pas) si cela peut être corrigé, merci de me le dire.
j'espere que ca ne derange pas trop ce debat
juste une petit question
la version VC++ .net actu
encore pas RAD ?
je sais,vous allez me dire : essayer et voyez ,mais malheuresement j'ai arreté d'utiliser VC depeuis sa 5eme version vu que ca coute un peu chere
et que je ne l'utilise que pour etudier
Merci
Dans les versions recentes de C++ builder, il me semble que le "code completion" a été bien revu, du moins il est bien plus sople dans la version 6 que dans la version 4.
Je n'ai jamais eu non plus de prblèmes pour utiliser les fonctions de l'API avec la VCL. La plupart du temps il y a deds propriétés style Handle qui sont prévues pour etre utilisée lorsque l'on veut utiliser des fonctions de l'API, idem pour HDC, et pas mal d'autres trucs.
Sinon, j'aimerais poser une question, j'ai jamais eu trrop l'occasion de programmer avec des threads, et j'ai du mal a voir ce qui pose problème dans le fait que la VCL ne soit pas multithread. Queslqu'un pourrait m'expliquer ?
C'est vrai. Le seul problème avec les API c'est qu'elles ne sont pas objet.Je n'ai jamais eu non plus de problèmes pour utiliser les fonctions de l'API avec la VCL.
Si tu n'as besoin que des événements, pas de problème : ils sont gérés par l'objet Application.j'ai du mal a voir ce qui pose problème dans le fait que la VCL ne soit pas multithread
Les threads sont utiles dans le cas de tâche de fond indépendantes du fonctionnement de l'interface. On peut parfois utiliser des timers sauf dans certains cas lorsqu'il n'y a pas d'objet Application (dans une DLL). Mais cela sort du sujet.
Pour diverse raison, j'ai abandonné l'usage des threads dans un projet. J'ai contourné le problème en déplacant la boucle des messages cad, et ecrivant une boucle style
Pour des taches de fonds peu importantes, il y a aussi OnIdle().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 while (Condition) { Application->ProcessMessages() . . . // Traitement particulier }
D'après ce que j'ai vu l'usage des threads n'est indispensable que lorsque l'on utilise des fonctions externes, qui ne sont pas prevues pour etre dans une boucle de messages, et qui bloquent l'application, comme certaines fonctions de l'API pour communiquer avec l'imprimante. Cela dit, dans certains cas, l'usage de threads simplifie les algorithmes.
Pour avoir utiliser les deux, voici mes conclusions :
Général :
BCB6++ : programme lourd, compilateur de qualité moyenne, complétition qui fonctionne rarement pour peu que le projet devienne complexe, RAD très efficace, débugger très limité suaf pour l'assembleur.
Comprend les MFC, la CLX et la VCL, doc correcte.
VC6 : programme lourd aussi, compilateur supérieur à celui de borland mais c'est pas encore ça, complétition corrccte, RAD inexistant, Bon débugger, mais pas pour l'asm
VC7 : programme bcp moins lourd, bon compilateur mais ne vaut pas gcc ( ou mingw32), bonne complétition, RAD très moyen, très bon débugger mais toujours pas pour l'asm, comprend les MFC seulement
Librairie :
MFC : très complexes, mais efficaces, codées en C++ on peut donc fouiller dedans plus facilement, non portable
VCL : simple, assez efficace, codée en Delphi, mais on est pas censé fouiller dedans (ça tombe bien, puisqu'on peux pas), non portable
CLX : simple aussi, mais plus limité que les deux précédentes, assez lourde, toujours codée en Delphi, mais portable sous Linux (et Linux seulement).
Conclusion :
passez à Dev-C++/wxWindows, c'est très portable, rapide, facile, efficace et très portable.
Et qu'en est-il pour le respect du C++ ANSI, Borland en font leur cheval de bataille pour leurs compilateur, est ce le cas pour VC++?
Il y a un vieux (2001) roundup sur le site du C/C++ Users Journal qui comparait compilos et biliothèques. Il reste valable pour les vieux compilos d'époque.
Sinon, les tests de régression sur le site de boost donnent une idée de la conformance des divers compilateurs relativement aux options avancées du C++ qui sont utilisées dans boost. Attention, c'est tout sauf un critère absolu! Il s'agit d'une mesure relative à boost seulement.
Deux autres mesures orientées performances qui en interresseront certains. Cette news vient de passer sur la mailing-list de Cygwin.
En fait, le forum news://news.gmane.org/gmane.comp.lang.c++.perfometer semble dédié aux mesures de performances.========================================
Comparative Performance of C++ Compilers
C/C++ Performance Tests
=========================================
Environment
-----------
Windows 2000 Professional
Intel(R) Celeron(R) CPU 1.70 GHz
Compilers
---------
* GNU g++ 3.3.1 (cygming special), Cygwin
* GNU g++ 3.3.1 (cygming special), Mingw32 Interface
* GNU gpp 3.3.2 (djgpp)
* Microsoft C++ 13.00.9466 (Unmanaged)
* Microsoft C++ 13.00.9466 (Managed)
* Borland C++ 5.5.1
* Digital Mars C++ 8.40.2
* Intel C++ 8.0
Testsuites
----------
* Computing very large Fibonacci numbers
http://article.gmane.org/gmane.comp.....perfometer/37
* Copying files (input to output)
http://article.gmane.org/gmane.comp.....perfometer/38
Parlons un peu du compilo BCB6 : afin de permettre un portage complet de leur lib pascal, ils ont rajoutés des fonctionnalités et des mots clés étrangés au C++ ANSI : get, set, published, etc...Envoyé par Medo_free
bien sur, ce n'est pas possible de compilé du code VCL ou CLX avec un autre compilo...
A part ça, peu de différence avec VC7, sauf:
- quelques différences au niveau de l'implémentation de la STL (cf ios:nocreate) mais facilement contournables.
- Problème avec les templates (bcp plus génant mais ça pose problème avec presque tous les compilos)
Si vous passez d'un compilo à l'autre un même bout de code,
RESTESTER vos fonctions MEME si ça compile du PREMIER COUP (re-cf ios::nocreate)
Je percute longtemps après (j'ai cliqué un lien trop haut pour les nouveautés )
Il n'y a pas de std::ios_base::nocreate dans la SL du C++98. Il est normal qu'il y ait des incompatibilités entre les divers compilos quand on continue de se servir de ::ios::nocreate qui prédate la norme.
Je dirais que Vc++ et BCB n'ont pas la même optique.
VC++ permet notamment de redéfinir le look (Active X, Skin) complet d'une application, composant par composant. Il est possible de redéfinir en profondeur les comportements et les looks. Le développeur fournira un effort non négligeable dans la partie graphique et traitements standards de son application avant de se concentrer sur la partie métier.
BCB est un RAD, il permet de faire rapidement une application pour Windows (ou Unix pour ceux que ça intéresse) avec un look standard des composants. Le développeur se concentre alors plus sur la partie métier de l'application.
pour avoir utilisé les 2 pendants 4mois chaqun je travaillier d'appaort sous borland et fut obligé de passé sur vc je trouve que vc est beaucoup plus vide que borlande
borlande ma offert beaucoup plus de choix et rien que le fait de lancfé les 2 l'un a coté de l'autre on voit quand meme que vc est beaucoup moins fournir et fait vide
Partager