C++Builder oder Delphi?
-
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 rechtIst 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
-
Hi,
ich bevorzuge auch BCB. Gegenüber Delphi sehe ich bei BCB den Vorteil das Du die Biliotheken von C++ und Delphi verwenden kannst.
Beide ergänzen sich finde ich wunderbar. Delphis Bibliotheken nehmen sich mehr den betriebswirtschaftlichen und finanzmathematischen Aufgaben an, für technisch aufwendige Probleme bietet jedoch C++ bessere Lösungen.Beispiel Delphis Math.hpp bietet z.B. auch Funktionen zur Zinseszins-Berechnung, Abschreibungen, etc.. Die math.h von C++ beinhaltet diese speziellen Funktionen nicht. Sie beinhaltet eher wissenschaftliche Funktionen.
C++ hat dafür z.B. in der Standard Template Library (STL) leistungsfähige Klassen mit denen sich beliebige Objekte oder Datentypen ablegen und verwalten lassen. Über Funktionen aus der STL lassen sich dann fertige Sortieralgorythmen, Suchfunktionen bis hin zu einfachen Min/Max Funktionen auf diese Klassen anwenden. Ich kenne nichts gleichwertiges und derart leistungsfähiges in Delphi/Object Pascal.
-
Hallo Zusammen,
verwende den Builder wegen C++ als Sprache.
Im großen und ganzen ist es wirklich ein nettes Entwicklungswerkzeug!Zum Kotzen finde ich dagegen,da gebe ich dem Kartoffelsack Recht,die Autovervollständigung
(oder von welchen speziellen Einstellungen redet Ihr alle da??)
und die compilierzeit selber.epidemic
-
hallo,
diese diskussion führt glaube ich, zu nix. wie kann man auch in einem c++ forum die frage stellen ob cpp oder delphi?
fakt ist: beides sind hervoragende systeme, alles andere ist subjektiv, das eine hat dies das andere hat jenes, der eine gewichtet dies mehr der andere jenes... bla bla bla... bla bla bla...murph
-
wie kann man auch in einem c++ forum die frage stellen ob cpp oder delphi?
Ich find er hat (abgesehen von ein paar Themaabschweifungen, an denen ich nicht ganz unschuldig bin) eigentlich ganz gute Antworten gekriegt. Und zwar durchaus aus solche, die zu Delphi geraten haben. Also so engstirnig ist die CBuilder-Fraktion offensichtlich nicht (und das spricht ja wohl für den Builder
)
-
ICh benutz den CBUilder wiel er nich von MS ist...
MS stinkt zum Himmel. Habe, siet ich progge (mit pausen von paar Monaten immer) schon immer Borland benutzt...
-
Ich habe schon mit beiden IDEs gearbeitet (also Delphi und BCB) und mein Favorit ist auch der BCB. Hauptgrund dafür ist eigentlich die Sprache selbst (ich kann die Object Pascal-Syntax echt nicht leiden, C++ find ich dagegen "ästhetisch" und logischer) ohne dabei auf den VCL-Komfort verzichten zu müssen.
Auf der Arbeit haben wir auch ältere Rechner (300 MHz), die Autovervollständigung mit dem BCB ist auf solchen Rechnern wirklich katastrophal. So ala "Dann geh ich mir jetzt mal nen Kaffee holen". Auch auf meinem, meiner Meinung nach gut konfigurierten, Heimrechner (AthlonXP 1800+, 512MB DDR, WinXP) ist es manchmal etwas ärgerlich, zwei Sekunden lang auf das aufklappende Fenster zu warten (in kleinen Projekten geht es eigentlich immer zügiger). Als ich einige meiner Projekte von Delphi nach C++ bzw. C++ Builder umgeschrieben habe, ist mir aufgefallen, dass die entstehenden EXE-Dateien prinzipiell größer sind als mit Delphi erstellte Programme. Dass ist auch nicht so toll. Da muss dann wohl wieder UPX herhalten
-
W. Posur schrieb:
Also, wenn du noch nach möglichen Einschränkungen fragst, fällt mir ein:
Mit dem C++Builder kannst du:
Reine API-Anwendungen erstellen, die ohne die VCL arbeiten und damit sehr klein sind und sehr schnell, aber sehr viel Aufwand brauchen, wenn man mit Fenstern arbeitet.Geht mit Delphi auch. Siehe hier:
http://www.luckie-online.de/tutorials/win32apituts.shtml
und hier ein paar Beispiel-Programme:
http://www.luckie-online.de/index.shtml#programme