VOn C++ Builder 6 zu VIsual C++ 2005 wechseln?
-
Hallo leute,
meine frage steht eigentl schon im titel!
Was würdet ihr empfehlen?Wo sind vor und nachteile?Ich bin jetzt noch nicht so der profi im c++ builder, habe mir auch das buch c++ mit dem c++ builder grad zugelegt!
Dennoch frage ich mich, ob ein wechsel zu M$ sinnvoll wäre?
Was sagt ihr dazu?
-
Die Borland C++ Compiler und ihre Standard-Lib sind nicht mal annähernd ISO-C++ konform. Schon das ist ein Grund auf den viel besseren MS VC++ 2005 umzusteigen. Z.B. laufen viele aktuelle Bibliotheken nicht auf Borlands Compilern.
Die IDE (also die Entwicklungsumgebung) ist jetzt hier außen vor, es geht wirklich nur um die Sprache C++ und wie sie unterstützt wird. Und da sind Borlands Compiler leider weit hinten.
Da die VC++ 2005 Express Edition kostenlos ist, geht man hier auch kein finanzielles Risiko ein. Einfach bei MS downloaden und loslegen. (PlatformSDK zus. nicht vergessen.
-
und wie sieht es mit der IDE aus?
Kompenenten, performance etc?
Wenn er so schlecht wäre, würden ihn doch trotzdem nicht so viele benutzen?!
wie sieht es mit dem BDS2006 im vergleich zu VC++2005 aus?
-
Der Vorteil von Borland C++ Builder ist das man sehr leicht grafische Oberflächen programmieren kann mit der VCL. Mit MFC ist das ein Krampf.
Aber es gibt ja Alternativen zu MFC mit denen das dann wieder so leicht wird wie mit VCL.
-
Die IDE habe ich jetzt aus der Bewertung gelassen, da sie Geschmackssache ist. Und über Geschmack will ich mich nicht auslassen. Es gibt Leute, die kommen mit Borland-IDEs nicht klar, andere nicht mit MS-IDEs.
Viele sagen das MS-Visual-IDEs die besten sind. Was soll ich dir jetzt raten? Zu Borland?
Der neue Borland 2006er C++ Compiler ist auch nicht besser als die alten Versionen. Die IDE habe ich mir in Videos angeschaut, sie sieht wirklich leistungsfähig aus. Aber was nützt mir die schöne IDE, wenn ich C++-technisch abgehängt bin, weil die anderen Hersteller C++ technisch besser und vorallem C++ konform sind? (Borland lässt illegalen C++ Code zu) Und VC++ ist auf jeden Fall auch eine gute IDE.
Weiterhin ist die Zukunft der Borland-IDEs sowieso im Dunkeln. Schau mal was da zur Zeit abgeht. Bei MS kannst du dir sicher sein, das die nächsten Jahre erstmal gesichert sind.
Wenn du keine MS-Produkte magst (solls ja geben) dann kannst du auch Codeblocks mit dem MinGW-Compiler benutzen. Einfach den Nightlybuild (nicht den RC!) von der www.codeblocks.org runter laden. Aber ich würde eher VC++ 2005 Express empfehlen, weil das zur Zeit einer der besten C++ Compiler für Windows ist.
-
ich habe kein problem mit M$ produkten!
werde mir das mal anschauen!
Eine frage noch: gibt es für das VS2005 ebooks, gute tutorials?
Und welches buch wäre für das VS2005 das beste (c++ stoff habe ich schon)Es sollte da besonders um die verwendung der MFC gehen, da das reine c++ kein problem ist
-
Die MFC ist bei der Express nicht bei und ist nur gegen bares Geld in der Standard-Edition enthalten. Du kannst aber für die GUI-Programmierung auf die (nicht schlechteren, teilweise moderneren) wxWidgets oder SmartWin++ zurück greifen. Wir haben hier ein Unterforum extra für GUI-Libs, schau mal weiter oben im Forum nach.
Wie man VC++ 2005 bedient, ist einmal auf der VC++ Website von MS beschrieben. Dann sind in der MSDN reichlich Howtos. Es gibt auch eine dynamische Hilfe im VC++ selbst, mußt du aber glaub ich ein MSDN-Packet dafür runter laden.
Wenn du VS2005 Standard kaufst, wird dort genug Papiermaterial dabei sein (in meinem VC++ 2003 Std war jedenfalls ca. 7 Übersichtsposter und ein Einsteigerbüchlein dabei. Bei der Kaufversion sind sowieso immer ein paar MSDN-CDs mit reiner Dokumentation dabei.
-
Artchi schrieb:
Die Borland C++ Compiler und ihre Standard-Lib sind nicht mal annähernd ISO-C++ konform.
In welchen Punkten?
Sorry, aber abgesehen von der nicht vorhandenen Implementation von export - die man aber nahezu nirgendwo findet - bin ich bis jetzt auf keine Probleme mit dem Borland-Compiler gestoßen.
Was die Standard-Library anbelangt: der Compiler im BCB 6 (BCC 5.6) verwendet STLport, der BCB 2006 (BCC 5.8) die Standard-Library von Dinkumware. Beide sind meines Wissens nach durchaus standardkonform. Ich weiß, daß du Visual Studio dem BDS vorziehst, aber ich würde gerne gute Gründe und Belege für obige Argumentation lesen, da ich sie sonst als unbegründete Polemik einstufen muß.Und was die Vorzüge des BCB gegenüber VS angeht, schau dir einfach mal die IDE an. Was meinst du, wo MS das wohl alles geklaut hat? Und das einzige VCL-Pendant ist auf Seiten Microsofts AFAIK das .NET-Framework, das nicht wenige aufgrund der damit verbundenen Umstände scheuen. Die VCL hat durchaus noch Existenzberechtigung.
-
Wo habe ich geschrieben, das die IDE schlechter ist als die vom VC++? Nirgends! Ganz im Gegenteil:
Artchi schrieb:
Die IDE habe ich mir in Videos angeschaut, sie sieht wirklich leistungsfähig aus
Zum Compiler: ich lese in der Boost-Mailingliste das die dortigen Entwickler kein Bock mehr haben Workarounds für VC++6 und Borlands Compiler zu bauen. Klar, der VC++6 (der nicht ISO-konform ist) konnte auch mit der STL umgehen. Aber die reizt auch nicht wirklich den ISO-C++ Standard aus. Ich weiß leider nicht in welchen Details der BCB-Compiler schwächelt, kann aber nur eines sagen: er wird von modernen Libs und deren Entwicklern nicht mehr gerne supportet.
Achja, das fällt mir aktuell ein:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-151273.htmlWenn der BCB bei einem vector.begin() keinen Iterator zurück gibt, dann ist das leider nicht standardkonform. Wenn man STLport einsetzt, wird sich das sicherlich verbessern, aber ich denke, der Compiler wird hier auch noch Defizite aufweisen.
Ich bitte noch zu beachten, das ich zwar den VC++ als Favorit habe, aber trotzdem z.B. den MinGW als Alternative vorschlage. Ich versuche hier also fair zu bleiben, obwohl ich nach einer Empfehlung gefragt wurde.
-
Artchi schrieb:
Wo habe ich geschrieben, das die IDE schlechter ist als die vom VC++? Nirgends! Ganz im Gegenteil:
Artchi schrieb:
Die IDE habe ich mir in Videos angeschaut, sie sieht wirklich leistungsfähig aus
Stimmt allerdings, das hatte ich nicht so genau gelesen. Ich nehme den implizierten Vorwurf hiermit zurück
Artchi schrieb:
Achja, das fällt mir aktuell ein:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-151273.htmlWenn der BCB bei einem vector.begin() keinen Iterator zurück gibt, dann ist das leider nicht standardkonform. Wenn man STLport einsetzt, wird sich das sicherlich verbessern, aber ich denke, der Compiler wird hier auch noch Defizite aufweisen.
Das habe ich mal überprüft: der BCB6 (STLport) gibt einen Zeiger zurück, der BCB 2006 (Dinkumware) allerdings ganz standardkonform einen Iterator. Auch wenn Mailinglisten genervter Library-Entwickler und deine Vermutungen darauf hindeuten, wüßte ich gerne, in welchen konkreten Punkten das Verhalten des BCC (2006) vom Standard abweicht. Vielleicht kennst du ein Forum oder eine Mailingliste, wo so etwas diskutiert wird? Wie gesagt, etwaige Inkompatibilitäten fielen mir beim BCC bisher so gut wie gar nicht auf, daher wundert es mich, daß der BCC unter den Standard-Ausreizern
so verhaßt ist.
@topic: Ob BCB, VC oder CodeBlocks für dich besser sind, hängt davon ab, was du damit machen willst. Wenn du wie ich die graphische Oberfläche als Nebensache betrachtest und nicht allzuviel Zeit mit deren Entwicklung verbringen willst, ist der BCB mit der VCL oder VS mit dem .NET-Framework sicher erste Wahl (ich persönlich präferiere BCB und VCL, vor allem wegen einer generellen Abneigung gegen Runtime-Frameworks wie Java und .NET, da diese so viel Ballast mit sich rumschleppen). Um etwas Übung in den komplizierteren Fähigkeiten von C++, wie z.B. Templates, Vererbung etc., zu bekommen, habe ich auch mal eine Library angefangen, die auf mehreren Compilern lauffähig war (VC++6-Support habe ich aber bald aufgegeben), und ich hatte weder mit VS noch mit dem BCB irgendwelche Probleme. Insofern ist der C++Builder meines Erachtens und meiner Erfahrung nach durchaus empfehlenswert, wozu die IDE natürlich einen großen Teil beiträgt.
-
Beim BCB6 (STLport) gibt vector.begin() vector<value_type>::iterator zurück. Das ist zwar intern auch nur ein value_type* (typedef) aber eigentlich nicht falsch.
-
Artchi schrieb:
Da die VC++ 2005 Express Edition kostenlos ist, geht man hier auch kein finanzielles Risiko ein. Einfach bei MS downloaden und loslegen. (PlatformSDK zus. nicht vergessen.
Wozu ist dieses Platform Sdk denn gut
?
-
Damit du überhaupt Programme für die Windows-Platform entwickeln kannst. Im VC++ 2005 EE kannst du nur Programme entwickeln, die nur auf ISO C++ Standard Library basieren, wenn du das Windows Platform SDK nicht hast.