![]() |
C++ Builder oder Visual C++
Hallo,
meine Tochter fängt demnächst Ihre Master Arbeit an. Dazu soll Sie eine Anwendung in C++ schreiben. Ich als Delphi Fan würde ihr dazu den C++ Builder empfehlen (kostet als Student ca. 130€ für das RAD Studio Professional). Obwohl in Microsoft nicht mag, muss ich zur Kenntnis nehmen, dass es eine Alternative zum C++ Builder, nämlich Visual C++ gibt. In der community edition für Studenten kostenlos. Was spricht für bzw. gegen die beiden Systeme und was würdet ihr aus Erfahrung heraus empfehlen? |
AW: C++ Builder oder Visual C++
Ich konnte bisher nur mit der C# Seite von Visual Studio Erfahrungen sammeln (6 Monate), würde die IDE aber als sehr gut bewerten.
Fehlerhaftes Error-Insight hatte ich quasi nicht, die IDE "fluppt" auf einem aktuellen PC gut, das springen zu Definitionen funktioniert sehr gut und es gibt git-Integration :-) Ich persönlich würde das auf jeden Fall mal ausprobieren, bevor ich das Geld investiere. Ich sollte vll. noch dazu sagen, meine letzte Delphi-Version war 2006. |
AW: C++ Builder oder Visual C++
Vom Komfort her ist Visual Studio meilenweit vorraus. Setzt man dann noch Plugins wie Resharper (
![]() Auch wegen der Kompatibilität zu anderen OpenSource Projekten und Libs her, würde ich definitiv auf Visual Studio statt C++ Builder setzen. Letzterer konnte sich nie wirklich durchsetzen und ist in den meisten Kreisen eher "verpöhnt". Die nicht-community-Edition von Visual Studio gibt es an den meisten Unis übrigens auch gratis über das MSDNAA. |
AW: C++ Builder oder Visual C++
machen wir es für C++ Builder kurz:
+ das einzige was dafür spricht ist die Tatsache, das man damit per FMX(wenn Enducation RSpro) automatisch auch OSX, und Mobile(Android&IOS) als RAD Lösung für GUIs dabei hat und Delphi zum debuggen der ganzen PAS Teile RTL,FMX,... - dagegen spricht das der C++ Builder intern kein echtes C++ System ist, sondern auf Delphi(Pascal) aufsetzt und somit die RTL, VCL/FMX und GUI bezüglich der C++ Konstrukte absolut inkomatibel zum Rest der Welt sind und daher eigentlich niemand den C++ Builder zu mehr nimmt als mal ein paar non GUI C++ Sachen 1:1 schnell ohne umschreiben direkt in ein Delphiprojekt zu bekommen Eine Masterarbeit ist ja quasi auch der Einstieg ins Berufsleben... Erfahrung mit C++ Builder ist da ohne Bedeutung. Erfahrung mit VisualStudio und/oder VC++ gehört aber zur Standard MustHave Liste wenn es um "C" Jobs geht. Auch unter anderen Studenten ist die Chance jemanden mit VS / VC Kenntnissen fragen zu können viel größer. => VisualStudio mit VC++ nehmen und wenn Zeit&Lust weil C++ ja ohne GUI "portabel" ist(sein soll/kann :)) dann noch per kostenlosem AppMethod C++ per FMX auf Android als MobilGUI zum Nachweis der sauberen & portablen Trennung von Funktion(Standard C++Klassen) und Design(C++Builder GUI-Klassen) realisieren |
AW: C++ Builder oder Visual C++
Hatte einen Teil meiner Abschlussarbeit auch in C++ im Visual Studio geschrieben und kann mich den anderen nur anschließen: Nehmt das. Der IDE-Komfort allein ist es schon wert.
|
AW: C++ Builder oder Visual C++
Die letzte C++ Builder Version, die ich in der Hand hatte, war XE3.
Hier ist die Code-Vervollständigung der Wahnsinn, d. h. so gut wie nicht existent. Kleinste Fehler während des Schreibens des Quelltextes sorgen dafür, dass du keine Möglichkeit hast - und du brauchst das unbedingt als Einsteiger - die Codevervollständigung aufzurufen. Dagegen ist Visual Studio mit der IntelliSense Lichtjahre voraus. Zusammen mit so Add-Ons wie Visual Assist ( ![]() Die IntelliSense basiert auf einer Datenbank, die im Hintergrund pro Projekt aufgebaut wird, während die Codevervollständigung der C++ Builder IDE im Hintergrund versucht zu kompilieren. Ein , statt . und schon ist das aus dem Tritt. |
AW: C++ Builder oder Visual C++
C++ - Mein Beileid.
Ist das die einzige Vorgabe? Oder gibts noch was wie "Lauffähigkeit unter Linux" oder ähliches? |
AW: C++ Builder oder Visual C++
Naja, so schlimm ist C++ nicht. Sie muss nicht C++ verwenden, aber er hat von Java abgeraten und es gibt eine große Bibliothek, die wohl in C++ geschrieben ist und die sie verwenden kann. Es geht im Prinzip um Auswertung von bewegten Bildern. Ich muss sie nochmal fragen, ob das Betriebssystem vorgegeben ist, meine aber, dass Windows empfohlen war.
Wenn es hier keine echten Befürworter für den C++ Builder gibt, dann werde ich ihr wohl Visual C++ vorschlagen. |
AW: C++ Builder oder Visual C++
Zitat:
Und wenn es wirklich C++ mit MFC ist dann doppelt beileid. Zitat:
Aber ich kann mir nicht vorstellen das es nicht doch eine Java-Bibliothek gibt die was ähnliches macht. |
AW: C++ Builder oder Visual C++
Zitat:
PS: C++ Builder? Lass die Finger davon. |
AW: C++ Builder oder Visual C++
Zitat:
Zitat:
![]() Aber: Wenn der Betreuer von Java abgeraten hat und man C++ beherrscht, dann wäre es dumm Java zu wählen ... schon aus politischer Sicht, aber vielleicht gibt es da am Lehrstuhl auch schon schlechte Erfahrungen. PS: Ich würde jeden Tag C++ wählen wenn ich sonst in Java programmieren müsste. |
AW: C++ Builder oder Visual C++
Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
Von den bisherigen Anforderungen sehe ich (noch nicht) C/C++ als beste Programmiersprache für das Thema. |
AW: C++ Builder oder Visual C++
Zitat:
Wenn es, wie BUG schon erwähnte, OpenCV ist, dann wäre doch schon zu C++ anzuraten. Modernes C++ ist auch einigermaßen anständig. |
AW: C++ Builder oder Visual C++
Zitat:
Was GUI Entwicklung (welche über 1-2 triviale Formulare hinausgeht) angeht, gebe ich dir aber voll und ganz recht, dass hier C++ nicht umbedingt die optimale Wahl ist. Ich persönlich würde an dieser Stelle immer wieder auf Delphi zurückgreifen (auch wenn mir in letzter Zeit sehr oft C# nahegelegt wurde). Wenn es aber C++ mit komplexer GUI sein soll, dann wird ziemlich oft Qt als gut durchdachtes GUI Framework empfohlen (gibt glaube ich auch einen visuellen Editor). Zitat:
|
AW: C++ Builder oder Visual C++
Ich habe nichts gegen den BCB, aber leider ist der bei Emba schlecht supportet.
Zwar gibt es noch immer aktuelle Versionen, das ist schonmal super, aber man kann meines wissens immer nicht einfach VC++ oder Gnu Projekte einfach laden und kompilieren. Es ist also leider eine Insellösung von der ich nicht ohne weiteres Daten uas der anderen C++ Welt übernehmen kann. Das ist eigentlich der einzige Grund warum ich damit nichts mehr mache. Das es eng mit Delphi verbandelt ist spricht eher für BCB. Von Vorteil könnte es in Zukunft mal werden das Firemonkey nativ auf allen Platformen kompilieren könnte, (ohne JNI und andere Verrenkungen). ... und was nimmt man da am Besten für eine Sprache ? C++ ! Also Emba: BCB bitte schön weiterpflegen und supporten Rollo |
AW: C++ Builder oder Visual C++
Zitat:
Andererseits sollte man als Master-Student mithilfe der Betreuer es selbst schaffen das richtige Tool für sich und die Arbeit auszuwählen. Also hab da einfach vertrauen :wink: |
AW: C++ Builder oder Visual C++
Nutzt Visual C++ eigentlich das .NET Framework oder MFC ?
|
AW: C++ Builder oder Visual C++
Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
Operation Overloading - OK. Da kann man manchmal ein paar Quellcodezeilen einsparen. Copy/Move-Semantics-Verstehe ich nicht? Templates - Für was was man mit anderen Sprachfeatures nicht genauso gut lösen kann. Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
Qt z.B. kann sich aber AFAIK auch recht weitgehend in VC++ integrieren. |
AW: C++ Builder oder Visual C++
Zitat:
Mehrfachvererbung kann man sehr wohl sehr nutzbringend verwenden. Zitat:
Zitat:
Delphi-Quellcode:
statt
mp := (a + b) / 2;
Delphi-Quellcode:
für Vektoren/Punkte.
mp.Assign(a.Plus(b).DivideBy(2));
Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
Zitat:
Zitat:
|
AW: C++ Builder oder Visual C++
So, jetzt hab ich mal VS++ installiert. Offensichtlich habe ich Visual Studio wirklich falsch interpretiert. So etwas wie die VCL hätte ich erwartet, aber nichts dergleichen vorgefunden. Was muss ich denn jetzt noch hinzufügen, um eine RAD Oberfläche zu haben, in der ich insbesondere die GUI schnell erstellen kann. Aber von Delphi bin ich natürlich verwöhnt und möchte auch andere visuelle und nicht-visuelle Komponenten haben. Kann VS das nicht? Wenn nein, warum heißt es dann Visual ... ?:shock:
|
AW: C++ Builder oder Visual C++
Zitat:
Zitat:
Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
Zitat:
|
AW: C++ Builder oder Visual C++
Zitat:
Schau dir mal dieses Tutorial an: ![]() |
AW: C++ Builder oder Visual C++
WinForms habe ich nur schonmal als Teil des .NET Frameworks gehört.
Bin dem Link gefolgt und wollte eine CLR Anwendung gemäß Anweisung erstellen, dann kam dieser Fehler. Zitat:
|
AW: C++ Builder oder Visual C++
Man kann unter VC++ mit Winforms genauso schnell Oberflächen erstellen, wie unter Delphi.
Mit C++ ist es mittlerweile etwas aufwendiger, weil wohl jeder der VS benutzt, C# für Rad-Development nutzen wird. ![]() In älteren versionen kann man direkt Winforms-Projkte auch in C++ erstellen. |
AW: C++ Builder oder Visual C++
Aber WinForms nutzt doch das .NET framework, oder?
Wie gesagt, habe es mir heute Mittag mal angeschaut und kann im Moment nicht nachvollziehen, warum hier Visual C++ emphohlen wird, wenn nur die .NET framework Version wirklich intuitiv benutzt werden kann und ich sinnvollerweise QT oder so installieren muss, um es halb so intuitiv benutzen zu können wie C++ Builder. Was spricht denn wirklich gegen den C++ Builder? Die VCL sehe ich nicht als Nachteil, sonder als Punkt auf der Positivseite. Ist die Stabilität denn so schlecht? Die letzte Version, mit der wir damals ein paar kleinere Anwendungen geschrieben haben war mit dem C++ Builder 2010. Wenn Sie Bilbliotheken benutzt, die von der Uni beigestelltr werden, kann sie diese doch im C++ Builder genauso benutzen wie bei Visual C++.Und ob Sie die MFC unbedingt noch "lernen" muss, wenn MS hier immer wieder neue Frameworks einführt, weiß ich auch nicht. Deshalb noch einmal meine Frage. Habt ihr noch andere Vor- oder Nachteile der beiden Systeme? |
AW: C++ Builder oder Visual C++
Zitat:
Delphi-Quellcode:
. ScopeGuards finde ich unintuitiv, da hier der
try
Delphi-Quellcode:
Block praktisch vor dem
finally
Delphi-Quellcode:
Block steht und sämtliche Resourcen in extra Klassen zu kapseln (z.b. alle möglichen Arten von Handles bei Verwendung der WinAPI) ist aufwändig und unübersichtlich.
try
Zitat:
Wenn es dich sehr stark interessiert, dann findest du hier eine ausführliche Erklärung im Rahmen des Copy-Swap-Idioms: ![]() Zitat:
Sehr mächtig sind auch Template-Spezialisierungen. Grob gesagt hat man ein Grund-Template mit einer bestimmten Signatur und darüber definiert man beliebig viele spezialisierte Templates, die z.b. eine bestimmte Klasse / einen bestimmten Datentyp matchen. Die STL hat beispielsweise eine Art Array Implementation namens std::vector, die man über
Code:
deklarieren kann. Wie ein normales Array in Delphi reserviert die Klasse intern dann für jedes Element sizeof(int) an Speicher. Verwendet man aber einen
std::vector<int>
Code:
nimmt der Compiler das für bool spezialisierte Template und arbeitet intern mit Bitfields, weshalb 8 Werte nicht mehr 8, sondern nur noch 1 Byte belegen.
std::vector<bool>
Zitat:
Und mal speziell im Kontext dieser Masterarbeit: Braucht deine Tochter wirklich eine komplexe GUI? Ein Fenster mit zwei Buttons, das ein Bild anzeigt bekommt man doch selbst mit purer WinAPI in 10 Minuten zusammengebastelt :P |
AW: C++ Builder oder Visual C++
..."Deshalb noch einmal meine Frage. Habt ihr noch andere Vor- oder Nachteile der beiden Systeme?"...
Du hast ganz richtig erkannt: OutOfTheBox kann man mit C++Builder exakt wie in Delphi per RAD ganz einfach mal eine GUI zusammenklicken und da ganz einfach ein paar C/C++ Sachen aufrufen. RadStudioPro Enducation kostet fast nix und da ist Delhpi, C++ und Mobile dabei -> kaufen, ansehn und lernen, auch wenn man nix davon laut Lizenz real verwenden darf. Pures C++ mit externen Libs/Codes im Sinne von Funktionsklassen schreibt man mit VC++, da ist der CodeInsight Editor etwas besser. Aufrufen, ein paar Optionen einstellen und was anzeigen, das kann man auch mit C++ Builder wo man die in VC bearbeiteten C++ Files 1:1 einbindet. Man sollte sich einfach davor hüten, Delphi VCL&RTL als TList, TStringList oder änlichem in C++ ohne GUI Bezug zu verwenden, denn sowas gibt es woanders nicht. Ich programmiere Microcontroler nur in "C", da 1:1 abgeleitet mache ich mit C++ Builder auch mal schnell ne GUI wo ich die Datenstrukturen gleich mal 1:1 übernehme. Von C++ nach Delphi geht es einfach wenn man es mal im C++Builder hat, von C++ nach Java oder ObjectiveC geht es fast immer einfach... nach C# und Swift bekommt man fast alles wenn man sich mit Pointern zurückhält. also nochmal: - VC++ für pure C++ Funktionsklassen und externen Code ist "der" Standard und die IDE ist gut - VC++ ist mit C+ wenn es um um C like Sprachen geht auf PC unter Windows der Standard wenn es um echte Programmierung ohne primären GUI Bezug geht - VisualStudio mit C# und WinForms, .NET / WFC ist der Standard wenn es um aktuelle Windows GUI geht, aber MicroSoft gibt zu 100% auch immer eine aktuelle + gleichwertige C# und C++ Doku&Hilfe - C++ Builder ist ideal für (schnelle) Projekte, wo man fix mal eine !RAD! GUI mit etwas Embarcadero C++ (GUI)Code macht, um damit die eigentliche Standard C++ Funktionalität aufzurufen und zu nutzen - Erfahrungen mit C++ Builder interessieren am (Stellen)Markt niemanden, portable Programmierung mit VC++ welche wenn sie am Beispiel mit C++Builder GUI geht wohl auch mit GTK oder XCode GUI geht ist aber sicher ein guter SoftSkill ! |
AW: C++ Builder oder Visual C++
OK mensch72,
womit machst du die GUI bei VC++, wenn du nicht .NET nutzt? QT? |
AW: C++ Builder oder Visual C++
Ich habe gerade mal mein VS2013 gestartet und auch nur den Windows-Forms grafischen Designer gefunden. :?
Dagegen kann ich noch halten, dass es (gerade im akademischen Umfeld) oft nicht darauf ankommt, die coolste GUI zu haben. Die Daten müssen halbwegs passend/sinnvoll dargestellt werden. Und ich kenne jemanden, der macht OpenCV mit Python. Das wäre auch noch eine gute Alternative, weil die Sprache "nett" ist (Speicherverwaltung) und zugleich gute OpenCV-Anbindung hat. DIe Bildverarbeitungsoperationen finden eigentlich alle im optimierten C++ Code statt. |
AW: C++ Builder oder Visual C++
@Mr Spock: Was ich nich genau verstehe - Wenn Deine Tochter eine Masterarbeit in Bildanalyse mit C++ schreiben will sollte sie doch schon eingermassen sattelfest in Sprache und IDE sein? Oder muss sie erst beides lernen?
|
AW: C++ Builder oder Visual C++
Zitat:
Zitat:
Sehr mächtig sind auch Template-Spezialisierungen. Grob gesagt hat man ein Grund-Template mit einer bestimmten Signatur und darüber definiert man beliebig viele spezialisierte Templates, die z.b. eine bestimmte Klasse / einen bestimmten Datentyp matchen. Die STL hat beispielsweise eine Art Array Implementation namens std::vector, die man über
Code:
deklarieren kann. Wie ein normales Array in Delphi reserviert die Klasse intern dann für jedes Element sizeof(int) an Speicher. Verwendet man aber einen
std::vector<int>
Code:
nimmt der Compiler das für bool spezialisierte Template und arbeitet intern mit Bitfields, weshalb 8 Werte nicht mehr 8, sondern nur noch 1 Byte belegen.[/QUOTE]
std::vector<bool>
Nochmals Danke. Genau diese Beispiele helfen es klar zu machen wo genau der Vorteil liegt. Zitat:
Hier sind die Vorgaben etwas zu wenig |
AW: C++ Builder oder Visual C++
Ich wundere mich ein bischen über die Aussage Visual C++ sei "der" Standard. C++ hat doch einen eigenen Standard, der unabhängig von der IDE ist. Es könnte also bei der Aussage "der" Standard eher um das Framework gehen. Da ist die VCL von Emba ein eigener Weg, aber die MFC auch. Es ist natürlich klar, dass man bei Nutzung von TString oder Tstringlist insbesondere auch außerhalb der GUI sich an den C++ Builder "kettet". Aber bei Nutzung der MFC, von der ich hier gelernt habe, dass sie auch nicht mehr genutzt werden sollte, binde ich mich halt an Visual C++. Ich könnte ja noch Ecplise und "reines" C++ nutzen, müsste dann aber bei der GUI auch wieder ein Framework benutzen. Wenn also Visual C++ "der" Standard ist, welches Framework für C++ ist dann "der" Standard? Ganz interessant finde ich hier
![]() |
AW: C++ Builder oder Visual C++
@MrSpock:
Am Ende würde ich eh das nehmen, was der Betreuer der Masterarbeit vorschlägt! Wenn der mal das Projekt sich genauer anschauen will, eventuell auch mal zur Fehlerbehebung wenn es klemmt, dann will der sich bestimmt nicht erst mal im C++ Builder einarbeiten, geschweige denn besorgen und installieren! Der wird höchstwahrscheinlich alle Microsoft-Tools, die man per MSDNAA/BlueSpark-Lizenz bekommen kann, da haben. Außerdem ist das Argument mit dem Arbeitsmarkt nicht von der Hand zu weisen. Oder will deine Tochter bei Papi im Betrieb anfangen und Oberflächen im RAD-Stil zusammenklicken? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz