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)
------------------------------------------------------------------------Envoyé par ZeDuckMaster
certes la documentation sur visual C++ abonde, mais c'est le visual lui même qui cloche, car il ne comporte pas une logique que l'on comprend et que l'on suit pour programmer comme c'est le cas pour delphi ou visual basic, pour chaque truc il faut que l'on lisent l'astuce à appliquer, et je me demande ou l'ecrivain de l'astuce l'a trouvée, je crois que le visual c++ est une tentative des programmeurs c++ a s'adapter à l'univers windows, mais malgré la pub qu'on lui fait, pour moi ca vaut pas le visual basic ou le delphi, c'est un langage de bas niveau (composent machines) certes, mais pas evolué.
Bonjour,
je viens de lire un article expliquant que Borland allait laisser tomber ses IDE (Builder, Delphi...).
Pour ma société, je dois faire un choix entre C++Builder et VisualC++. Je suis bien familiarisé avec Builder (pas pro, mais j'en ai pris l'habitude et je l'aime beaucoup). De plus, étant étudiant, j'ai pu avoir avec Microsoft, des licences de Visual 2005. Je me trompe peut-être, mais pour faire tourner une appli qu'on développe avec Visual, il faut avoir le framework installé? Si je développe un outil pour ma boîte, tout le monde devra installer le framework sur son PC? Avec borland, seulement 2 DLL et 3 BPL son suffisants (au total, 2Mo). La distribution de l'appli se fait plus simplement avec Borland, alors qu'on pourrait penser que comme c'est Microsoft, ce qu'il faut pour une appli Visual sera intégré à Windows, mais non.
Ca me fait peur d'avoir à choisir Visual uniquement pour ne pas me retrouver coincé d'ici quelques années, un peu comme vous avec OWL.
Qu'en pensez vous de cette anonce?
Benz
Je ne pense pas qu'avec Visual Studio 2005 il faille installer le framework si l'on compile le C++ en natif. Je suis passé récemment de VC 6.0 à Visual Studio 2005 pour mes programmes natifs il y a peu de temps, et il n'utilise pas le framework.
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++.
salut,
j'ai fait un prog qui permet de lire les 16 bits du compteur RTC 8254 de l'ordinateur. Mais, mon probleme c'est de convertir le meme programme en visual c++ pour une autre utilisation. si vous pouvez m'aider, je serai très reconnaissant et merci.
ici le prog me return le nombre d'impulsion pour excuter l'instruction printf...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 #include <dos.h> #include <string.h> #include <conio.h> unsigned long hrtime(void) // FONCTION DE LECTURE DU PORT { asm{ pushf cli mov al,0x00 out 0x43,al in al,0x40 xchg ah,al in al,0x40 xchg ah,al popf } } int main(int argc, char* argv[]) {//INITIALISATIONDU COUNTER unsigned long elapsedTime ; asm{ pushf cli mov al,0x34 out 0x43,al xor al,al out 0x40,al out 0x40,al popf } int cnt = 0; while(cnt < 10) { elapsedTime = 65536 - hrtime(); printf("%u",elapsedTime); printf("\n"); cnt++; } getch(); return 0; }
![]()
tout à fait vrai vu tout le spectacle qu'il faut faire pour avoir un bon formulaire en VC++, je préfere créer une IDE en CtraditionnelEnvoyé par rico27fr
![]()
pour mettre en place une interface utilisateur, borland est bien meilleure mais en ce qui concerne le reste le noyau du programme en c++,c'est une autre histoire.... dès que l'on se met à piloter des objets COM, des dll, etc... il faut comprendre la vcl.... et sur des gros projets, il faut avoir du temps .. heureusement que le IDE compiler speed non officiel en fait gagner ... d'ailleurs je ne comprend tjrs pas pquoi borland ne l'integre pas....
tout cette perte de temps, et cette incompréhension a pour conséquence le passage sous MS
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.
salut,
j'ai lu dans votre msg que vous avez une experience sur l'acquisition des données. Dans le meme objectif, dans un projet d'acquisition des données j'ai voulu utiliser l'horloge de ma carte d'acquisition: cad je voudrais lire les bits du compteur 8254.
Pour ce faire, j'ai commencé d'abord par la lecture du 16 bits de l'horloge RTC de mon ordinateur. c 'estva marcher je vais excuter le meme prog sur ma carte en changeant l'adresse memoire du circuit.
j' ai etabli unprog en borland qui permet de compter le nbre d'impulsions pour excuter l'instruction printf, ca marche. Mais mon probleme c'est comment le convertir en visual c++ car la documentation de la carte ne me donne que des fonctions en visual c++ pour configurer la carte...
Mon probleme c'est de convertir le meme programme en visual c ++. Si vous pouvez m'aider, je serai très reconnaissant et merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 #include <stdio.h> #include <dos.h> #include <string.h> #include <conio.h> unsigned long hrtime(void) // FONCTION DE LECTURE DU PORT { asm { pushf cli mov al,0x00 out 0x43,al in al,0x40 xchg ah,al in al,0x40 xchg ah,al popf } } int main(int argc, char* argv[]) { //INITIALISATIONDU COUNTER unsigned long elapsedTime ; asm { pushf cli mov al,0x34 out 0x43,al xor al,al out 0x40,al out 0x40,al popf } int cnt = 0; for(int cnt = 0;cnt <10; cnt++) { elapsedTime = 65536 - hrtime(); printf("%u\n",elapsedTime); getch(); } return 0; }![]()
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.
Partager