C++Builder oder Delphi?



  • Hey ich würde den C++ Builder empfehlen da C\C++ wirklich weit verbreitet ist.
    Mir ist es jetzt gerade so ergangen das ich jetzt auf einen anderen Compiler arbeiten muß. Auf den von mir vom ersten moment an gehassten Visual Studio.net
    Es war auf jeden fall ein vorteil vorher C++ Builder programmiert zu haben und ich werde auch wieder Builder programmieren sobald man mir de wahl lässt.

    Zum Thema wer verwendet C++ Builder in meiner ehemaligen HTL wurde zum großteil Builder unterrichtet und nur vereinzelt VC Studio.

    Hoffe das ich dir helfen konnte

    Mfg Guna



  • Für die Nicht Ösis: Erklär mal HTL 🙂



  • Original erstellt von Cheldar:
    mindestens meine Firma programmiert mit dem BCB

    ++Firma;



  • ++Firma 😉

    Grundsätzlich ist c++ halt schon mal (Objekt)Pascal einfach Überlegen in der Ausdrucksstärke der Sprache. Das kann man aber auch als Nachteil werten, weils deswegen komplexer ist. Außerdem sind c und c++ standardisierte Sprachen, während es nur ein Objekt-Pascal gibt. Hier ist man völlig abhängig vom Hersteller.

    Der C++Builder hat ggü anderen C/C++-Compilern den Vorteil, dass es eben auch Delphi kann und einem damit die Möglichkeiten von Delphi zum GUI-Programmieren offenstehen.

    Allerdings merkt man z.T. halt schon, dass das keine c++-Komponenten sind, einfach in der Art und weiße, wie man sie bedient.

    Gegenüber Visual C++ speziell hat er zusätzlich den Vorteil, dass er sich besser an den c++Sprachstandard hält.

    Der große Nachteil ggü. vielen anderen Produkten (v.a. der von VC) ist die Entwicklungsumgebung: Das Autovervollständigen geht praktisch nie (lässt Dich aber ewig vor der Sanduhr warten. Ebenso, wenn Du zur Deklaration einer Variable willst. Der Debugger ist zwar nicht schlecht, aber nur mit 10000en von Klicks zu bedienen. Du kannst z.T. Häcken, die eigentlich grau hinterlegt sind, von denen Du also glaubst, dass sie keine bedeutung haben, vorher (bevor sie grau wurden) deaktivieren, und dann irgendwann in Deinem Projekt auf rätselhafte Abstürze stoßen, wenn in Deinem Projektnamen Bindestriche Vorkommen, kannst Du Dich auf die schönsten Überraschungen freuen, die Reihenfolgen von global definierten Defines ist wichtig (nichts hinter _DEBUG) angeben, er merkt sich zwar, welche Parameter Deinem Prog übergeben werden sollen, zeigt sie aber nicht an etc. Außerdem ist der Compiler saulahm.

    Aber vielleicht ist das mit der Vers. 6 besser geworden?

    Zusammenfassend: Der C++Builder ist vom Prinzip her ziehmlich gut, allerdings lassen einen die ein oder anderen Details im Programmieralltag verzweifeln.

    [ Dieser Beitrag wurde am 16.10.2002 um 10:58 Uhr von kartoffelsack editiert. ]

    [ Dieser Beitrag wurde am 16.10.2002 um 10:59 Uhr von kartoffelsack editiert. ]



  • ++Firma 😉

    [C++ Fehler] frmImportform.cpp(1826): E2379 In Anweisung fehlt ;
    😃

    Aber vielleicht ist das mit der Vers. 6 besser geworden?

    hier und da schon 🙂
    Viele Punkte, die du nennst, sind allerdings Rechnerabhängig. Kauf dir ne vernünftige Kiste, und die Probleme sind weg.

    Wenn du aber schon (angebliche) Nachteile des BCB's gegenüber VC erwähnst, so nenne auch die Nachteile von VC.

    Denk drüber nach, und wirst feststellen, das es sich alles irgendwie ausgleicht.

    Ist sowieso ein nicht endendes Thema.



  • Pentium 4 mit 1,7 MHz und 512 MB Ram.

    Ist das ein vernünftiger Rechner? Ich kann außerdem hier in der Firma feststellen, dass das ganz NICHT rechnerabhängig ist.

    PS.: ich hab auch schon mit dem VC gearbeitet. Hier wärs die z.T. mangelhafte unterstützung von Templates und andere Sachen, wo sich MS nicht an den Sprachstandard hält, was mich nerven würde. Aber die IDE ist einfach um Längen besser und eigentlich könnte es doch für Borland nicht so schwer sein, ne anständig funktionierende Entwicklungsumgebung zu schreiben. Im Programmieralltag ist das schon was, was ins Auge fällt.

    [ Dieser Beitrag wurde am 16.10.2002 um 12:18 Uhr von kartoffelsack editiert. ]


  • Mod

    Hallo

    @Kartoffelsack

    bei mir auf einem AMD 750 128 MB Speicher funktioniert das was du so anmeckerst sehr schnell

    zB. Autovervollständigen in ca 1 s (auch bei groesseren Projekten
    Dies liegt nicht an dem Builder sondern an deinen Einstellungen
    Auch einen schnellen rechner kann man gut bremsen 😃

    Auch der Debugger mit 1000enden Klicks - verstehe ich nicht

    MfG
    Klaus



  • Bitte beim Thema bleiben: BCB vs. Delphi! 😉



  • Original erstellt von kartoffelsack:
    **Aber die IDE ist einfach um Längen besser und eigentlich könnte es doch für Borland nicht so schwer sein, ne anständig funktionierende Entwicklungsumgebung zu schreiben. Im Programmieralltag ist das schon was, was ins Auge fällt.

    [ Dieser Beitrag wurde am 16.10.2002 um 12:18 Uhr von [qb]kartoffelsack** editiert. ][/QB]

    woooooooooooooooooooooooooooooooooooooooooahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh *g*
    Was nimmst du denn für Drogen ? 😮 *die meinung mit kartoffelsack absolut nich teilt*



  • @Klaus
    Ein 1,7 GHz Rechner mit 512 MB sollte auch bei schlechten einstellungen Leistungfähig genug für ein bisschen IDE sein.

    Debugger: Du willst ne Klasse angucken, die hat wieder ne Klasse und die wieder,...
    Du gehst mit dem Kursor auf das Objekt, welches du anschaun willst. Drückst strg-F7, dann bist Du im Auswert/Ändern-Fenster. Wenn Du glück hast, zeigt es Dir die Variable an, wenn Du pech hast, eine andere -> wieder zumachen. Die Variable markieren, strg-c klicken, strg-F7, strg-v zum einfügen. Untersuchen klicken. Und dann kannst Du dich Durch die ganze Struktur durchklicken. Da gibts schlauere Lösungen. Das mit dem aktualisieren klappt auch nicht immer perfekt. Aber ok, auch bei ner Baumdarstellung wie im VC, wird auch manchmal unübersichtlich.
    Wann der Debugger im Überwachungsfenster den Inhalt von Template-Instanzen anzeigen kann und wann nicht, ist mir bis jetzt ein Rätsel geblieben.

    Dass ich mit der Autovervollständigung nicht allein bin, zeigt mir schon, dass das Problem hier im Forum immer wieder auftaucht. Ok, ich hab sie zwischenzeitlich ganz abgeschalten. Hab aber vor kurzem mit der Forte-Umgebung für Java was Programmiert. Da ist das saufix und das ist Java! Ich hab den Eindruck, dass es funktioniert, solang Du nicht viele Module hast. Aber wenn Du Deinen Code in viele Module verteilst, gehts einfach nicht mehr!

    Soll ich weitermachen mit meiner Kritik?
    Eine C++-IDE sollte es unterstützen, dass Klassen möglichst in Module verteilt werden. Pro Klasse ein Modul. Macht der C++Builder nicht, aber das ist noch kein Problem. Was aber wirklich nett wäre ist, wenn man die h und die zugehörige cpp-Datei nebeneinander anzeigen könnte. Mit strg-F6 kann ich zwar umschalten, hab aber immer nur eines da. Man kann zwei Editierfenster machen und beim Einen die Projektverwaltung andocken (und da die cpp-Datei öffnen) und im Anderen den Klassenbaum und da die Header öffnen. Hat man beide offen, funktioniert das Umschalten auch und man kann beide Editierfenster nebeneinander positionieren. Außer wenn man zu viele Dateien offen hat. Dann kann es nämlich durchaus vorkommen, dass er die gleiche Datei 2x öffnet und sie auch nicht mehr synchronisiert sind. Du änderst was in der einen, in der anderen nicht. Welche compiliert wird, hängt vom Zufall und der Laune des Compilers ab.

    Consolenprojekte:
    Macht mal ein Consolenprojekt auf, klickt VCL verwenden weg. Jetzt könnt ihr das Häcken bei "Multithread" wegmachen. Klickt VCL wieder an. Das MultiTread wird grau. Das häkchen ist aber weg. Jetzt kompiliert mal ein 4-Zeiliges Programm, in welchem stringstreams verwendet werden -> wum. Wisst Ihr, wie lang ich gebraucht hab um diesen Fehler rauszukriegen?

    Compilate abspeichern:
    In den Projektoptionen kann man angeben, wo die obj-Files, die exe etc. abgespeichert werden soll. Normalerweise wird es immer dahin gespeichert, wo der Quellcode liegt. Stammt der Code aus verschiedenen Bibliotheken, werden auch die Compilate über die Festplatte verteilt. Also freut man sich, und will alles in ein Verzeichnis Compilieren. Das funktioniert auch wunderbar nur: 1. kann man nicht mehr debuggen (nur noch durch Assembler-Code) und zweitens wird jetzt jedesmal das komplette Projekt neu erzeugt.

    Verzeichnis-Namen
    Warum kann der Compiler nicht mit Projekten arbeiten die unter
    d:\projekte\das-ist-ein-aussagekräftiger-Ordnername\
    liegen. Und wenn ers schon nicht kann, warum sagt er es einem dann nicht. Probiert mal aus, zu welchen seltsamsten Fehlern ihr da kommt.

    Class-Explorer:
    Warum wird hier nur der Klassenname angezeigt, nicht auch noch der Namensraum, in dem sich die Klasse befindet? (Antwort: weils in Delphi keine Namensräume gibt).

    So, jetzt hab ich keine Lust mehr.
    Ich will hier wirklich keinen Flame-War anstiften und arbeite im Großen und ganzen gerne mit dem C++Builder. Aber es gibt einfach Punkte, die sind zum Haare ausraufen. Einige davon kann man auch leicht vermeiden, wenn man weiß, wie. Aber wie lange sitzt man einfach nur verständnislos davor, bis mans rauskriegt?

    Sicher haben auch andere IDEs ihre Nachteile (nur hab ich mich noch mit keiner so viele Stunden beschäftigt). Aber auch wenn ich mich wiederhole: z.T. sind das wirklich billige Bugs, die einem aber den letzten Nerv kosten.

    [ Dieser Beitrag wurde am 16.10.2002 um 13:22 Uhr von kartoffelsack editiert. ]



  • @1nt... Wenn Du willst, schreib ich Dir eine (noch) detallierte Beschreibung der Fehler (die ich nachvollziehen kann).

    Ach ja, zum eigentlichen Thema:

    Willst Du hauptsächlich Oberflächen machen? Nimm gleich Delphi. Willst Du c++-Programme schreiben und hin und wieder ne Oberfläche? Nimm den C++Builder. c++ zu können dürfte im allgemeinen auch wichtiger sein als Delphi. Im großen und ganzen ist ja doch jede Sprache wie die andere 😉



  • hi,

    also kartoffelsack, ich weiß ehrlich nicht was du hast, die probleme die du anführst beim builder die kenne weder ich noch meine ganzen bekannten die damit programmieren. wahrscheinlich hast du einen total verpfuschten pc, wo alles lahm läuft...

    mfg
    murphy



  • Hi,

    @kartoffelsack: ich glaub du bist Urlaubsreif 😉 😃



  • @murph

    ok, dann mach bitte folgendes (jetzt ganz genau):

    starte den c++-Builder.

    Datei->Neu...

    Konsolenexperte anklicken.

    Im anschließenden Dialog Häcken weg bei "VCL verwenden".

    Jetzt ist ein Häkchen bei "Konsolenanwendung" und "Multithreads". Das bei Multithreads machst Du weg. Jetzt machst Du bei VCL verwenden wieder eins hin. "Multithreads" wird grau, Du siehtst aber, dass das Häckchen weg ist.

    -> ok

    Jetzt gibst Du folgendes Programm ein:

    #include <sstream>
    
    int main()
    {
      std::stringstream strm;
      strm << 3;   // HIER
      return 0;
    }
    

    Das Programm stürzt in der markierten Zeile ab.

    Anderes (kleines) Problem:
    Erstelle ein Programm welches Startparameter erwartet:
    Gib die Startparameter ein unter: Start -> Parameter -> Reiter "Lokal" -> Parameter. Klicke auf ok. Öffne den Dialog wieder. Wo sind Deine Parameter?

    Nächstes Problem (und das ist auch nervig, wenn mans weiß): Projekt -> Optionen -> Reiter "Verzeichnisse/Bedingungen": Gib unter Endgültige Ausgabe einen Pfad an (nicht den Pfad in dem das Projekt gespeichert ist!). Compiliere. Drücke F8 und versuche schrittweise durch den Code zu gehen. Geht nicht.
    Nimm ein größeres Projekt mit vielen Modulen. Gib im gleichen Dialog unter "Zwischenausgabe" einen Pfad an. Compiliere. Schreib irgendwo in einem Deiner cpp-Files ein zusätzliches Leerzeichen rein. Aktualisiere Dein Compilat (Projekt->Aktualisieren bzw. strg-F9) -> das gesamte Projekt wird neu erzeugt (d.h. alle Module werden neu compiliert, obwohl Du nur eines geändert hast).

    Die meisten anderen Probleme sind nicht ganz so einfach nachzuvollziehen, aber trotzdem vorhanden.

    PS.: Ich rede von Vers. 5.0 Enterprise mit und ohne Update-Pack 1

    @AndreasW
    Ich schätz Du hast recht 🕶 Ist aber die alleinige Schuld des C++Builders 🙄 😉 😉

    [ Dieser Beitrag wurde am 17.10.2002 um 12:27 Uhr von kartoffelsack editiert. ]



  • Eins muss ich noch loswerden:

    Wieder bei Optionen -> Verzeichnisse-Bedingungen:

    Wenn Du im Debug-Modus bist, steht bei "Bedingungen" der Eintrag _DEBUG

    Füg da mal was dazu.

    Einmal

    IRGENDWAS; _DEBUG

    und einmal

    _DEBUG; IRGENDWAS

    Compiliere beide Male. Erklär mir den Unterschied!



  • also deklaration suchen und auto vervollständigung ist echt grottig bei einem grossen Projekt...

    Ich hab hier nen 1 ghz rechner auf dem absolut NICHTS läuft im Hintergrund aber deklaration suchen mach ich sc hon mal 2 minuten in unserem "60 Formulare und 30 cpps dazu"-Projekt ....

    Da ist Ultraedit mit seinen CTags 10 mal besser 😃 da findet man alles in einem 3 mal so grossen Projekt in unter einer Sekunde



  • mit Variablenname Markieren, str-c-Drücken, str-F-Drücken, Variablenname einfügen, strg-Tab-Drücken (um in den Reiter "ganzes Projekt durchsuchen" zu kommen), Enter drücken, Hand zur Maus, die 30 Fundstellen nach der Deklaration durchsuchen darauf doppelklicken bin ich auch immerhin noch 2x so schnell 😃

    [ Dieser Beitrag wurde am 16.10.2002 um 15:24 Uhr von kartoffelsack editiert. ]



  • Original erstellt von kartoffelsack:
    **mit Variablenname Markieren, str-c-Drücken, str-F-Drücken, Variablenname einfügen, strg-Tab-Drücken (um in den Reiter "ganzes Projekt durchsuchen" zu kommen), Enter drücken, Hand zur Maus, die 30 Fundstellen nach der Deklaration durchsuchen darauf doppelklicken bin ich auch immerhin noch 2x so schnell 😃

    [ Dieser Beitrag wurde am 16.10.2002 um 15:24 Uhr von [qb]kartoffelsack** editiert. ][/QB]

    oder halt aussagekräftige Namensgebung, die man sich merken kann 😃

    Nun aber mal wieder zum Thema Delphi or BCB.

    -> Geschmackssache !

    [ Dieser Beitrag wurde am 16.10.2002 um 15:33 Uhr von AndreasW editiert. ]



  • na was ist jetzt? Die Fehler treten doch nicht etwa nur auf meinem verkorksten Computer auf 😃 :p 😉



  • Hi,

    hab Stress 😞 Kann es also nicht ausprobieren. Sorry


Anmelden zum Antworten