C++ mit Delphikenntnissen lernen



  • Einen schönen guten Tag.
    Leider konnte ich über die Hilfe nichts brauchbares finden.

    Und zwar programmiere ich seit mehreren Jahren in Delphi sowie PHP.

    Nun möchte ich aus verschiedenen Gründen auf C++ umsteigen.
    Ich habe bereits nach kostenlosen Büchern etc. geschaut, doch viele fangen ganz am Anfang an, oder gehen auf gewisse Dinge nicht ein.
    Gibt es bereits ein Dokument in dem die Unterschiede zwischen Delphi und C++ bearbeitet werden? Ich brauch nicht mehr wissen wie eine For-Schleife funktioniert, dass sich die Syntax unterscheidet aber schon. Wie auch z.B. nicht mehr Listbox.Items sondern Listbox->Items heißt.
    Auch der Aufbau der Windows-FormUnit ist erstma völlig verwirrend im Gegensatz zu Delphi. Hier wäre mal ne kurze Gegenüberstellung ganz net.

    Gibt es bei der IDE irgendwelche Grundelgenden Vor- und Nachteile?
    Mir steht die Entwicklerumgebung von Borland sowie Visual Studio 2008 zur Verfügung.

    Ich hoffe ihr versteht mein Anliegen und könnt mir weiter helfen.



  • Gibt es bereits ein Dokument in dem die Unterschiede zwischen Delphi und C++ bearbeitet werden? Ich brauch nicht mehr wissen wie eine For-Schleife funktioniert, dass sich die Syntax unterscheidet aber schon. Wie auch z.B. nicht mehr Listbox.Items sondern Listbox->Items heißt.
    Auch der Aufbau der Windows-FormUnit ist erstma völlig verwirrend im Gegensatz zu Delphi. Hier wäre mal ne kurze Gegenüberstellung ganz net.

    Hem, du solltest vielleicht erstmal wissen, das du anscheinend von C++/CLI redest und nicht von C++. Sind zwei verschiedene Sprachen! Ein Grund mehr von vorne anzufangen!

    Denn VisualC++ erlaubt sowohl C++ als auch C++/CLI. Ich vermute mal, du willst eigentlich C++ lernen? (was auch sinnvoll ist) Also brauchst du auch ein vernünftiges C++-Buch, und kein verkapptes VisualC++-Buch das C++ und C++/CLI durcheinander bringt.

    VisualC++ als IDE ist mit das beste was man für C++ unter Windows haben kann. Man sollte aber immer aufpassen, das man keine Projekte mit C++/CLI und CLR (besser bekannt als .NET) anlegt. Weil WindowsForms sind .NET und somit C++/CLI. Hat aber nichts mit dem "normalen" C++ tun. C++ kennt keine WinForms!



  • VisualC++ als IDE ist mit das beste was man für C++ unter Windows haben kann.
    ...

    Der Meinung bin ich nicht ganz, ich würde sagen das Code::Blocks mit eine der besten IDE ist. Weil sich Visual teilweise über Kleinigkeiten aufregt die völlig irrelevant sind.Aber das ist Geschmackssache.



  • Achja, noch was: wenn du meinst, das du Delphi-Syntax nur in C++-Syntax wandeln mußt, wirst du kläglich scheitern! Weil C++ ein ganz anderes Paradigma verfolgt. Glaube nicht, das du die C++-Standardbibliothek verstehen kannst, wenn du nur die Syntax lernt. Und wer die Standardbib nicht versteht, versteht auch kein C++.
    Kauf dir ein anständiges C++-Buch. Jeder der an der stelle geizt, scheitert meistens. 😃



  • Oha, war mir bis jetzt noch nicht bekannt, dass es C++/CLI sowie C++ gibt.

    Wie ich nun gesehen habe findet man eine Windows Forms-Anwendung nur unter CLR.

    Heißt das nun, dass ich mit C++ nur ein Programm in einer Dosumgebung erstellen kann und z.b. auf die IDE und dessen "Formzusammengeklicke" verzichten muss?

    Ich möchte gerne unter C++ ganz normale Win32 Form-Anwendungen wie unter Delphi programmieren.
    Sehr viele Programme werden ja in C++ programmiert und besitzen ein Form etc. Wird das alles über C++/CLI realisiert, oder habe ich noch so einiges nicht verstanden, wie man hier unter C++ arbeitet?



  • Du wirst kein Buch finden, in dem auf Delphi nach C++ umsteiger eingegangen wird. Für das pure C++ (Konsolen) schliesse ich mich meinen Vorrednern an. Ein Buch ist hier sehr wichtig. Als deutschsprachige Literatur empfehle ich da normalerweise.

    C++ lernen und professionell anwenden von Ulla Kirch und Peter Prinz, ISBN 3826617649

    Für reine Konsolenprogrammierung und zum anfänglichen lernen empfehle ich hier auch CodeBlocks.
    Für die GUI-Programmierung würde ich dir, wegen deines Delphi-Hintergrundes, eigentlich eher zum CodeGear C++Builder2007 (ehemals Borland) raten. Da kannst du deine liebgewonnenen VCL-Klassen weiter nutzen.



  • Es ist mölgich mit nativen c++ jedoch sehr umfangreich dafür solltest du dann C++/CLI lernen, da kannst du dir dsa "zusammen klicken"



  • Wenn du dich auf Win32 beschränken kannst/willst, kannst du auch TurboC++ benutzen (ist kostenlos). Da ist auch die VCL mit bei.

    Grafische Windows-Anwendungen kann man natürlich auch ohne C++/CLI entwickeln! Schliesslich gibts C++/CLI noch nicht so lange. Und vorher gings auch ohne. Man kann mit C++ praktisch alles machen! Man muß nur die passenden Libs haben.

    Man muß dann halt einfach ein Framework von MS oder Borland benutzen, z.B. die MFC oder VCL. Wenn man plattformneutral sein will, kann man auch andere C++-Libraries benutzen.



  • Dosumgebung?

    1. mit Standard C++ nur das.

    2. du brauchst eine bibliothek um fenster erstellen zu können.

    Möglichkeiten:

    Winapi. Das ist sozusagen der "direkte" Weg. Ist meiner Ansicht aber etwas ungemütlich.

    wxwidgets, Qt. Beides bibliotheken die auf dem Klassenprinzip aufbauen und eigtl. mit etwas einarbeitung recht einfach zu handhaben.

    "Fensterzusammenklickerprogramme gibt's für alle varianten" 😃



  • Firefighter schrieb:

    Es ist mölgich mit nativen c++ jedoch sehr umfangreich dafür solltest du dann C++/CLI lernen, da kannst du dir dsa "zusammen klicken"

    Er will win32 machen und du sagst, er soll C++/CLI machen? Was ist das denn für eine Beratung? 😡 Man kann auch ohne C++/CLI in C++ GUIs zusammen klicken. Ich sage nur Qt-Designer, wxFormBuilder, Glade, Fluid usw. Mehr klicki-bunti kann man nicht haben.



  • Firefighter schrieb:

    Der Meinung bin ich nicht ganz, ich würde sagen das Code::Blocks mit eine der besten IDE ist. Weil sich Visual teilweise über Kleinigkeiten aufregt die völlig irrelevant sind.

    Wovon redest Du?

    Falls Du die Iterator-Warnungen meinst: Die kannst Du per Flag '_SCL_SECURE_NO_WARNINGS' ausstellen. Am besten per Optionen, dann stört's nicht im Code.

    Abgesehen davon bietet VS doch noch einiges mehr an Komfort als C::B.



  • Ja das hatte ich gemeint, ohh sorry ich wusste nicht das man das so Ausschalten kann. Ok wieder was dazu gelernt.



  • VS / VC++ bietet umfangreichere Möglichkeiten, das ist korrekt. Aber dadurch wird es auch gleichzeitig komplizierter (besonders für Einteiger).

    Wenn ich mir mal so die vielen Compilerparameter anschaue, die ich hinzufügen musste damit das Projekt überhaupt laufen konnte. Bei anderen Entwicklungsumgebungen programmier ich einfach nur C++ und dann läuft die Scheisse auch... bei VC nicht unbedingt (Anmerkung: ich rede hier im wesentlichen von VC++ 6.0 🙂 )

    PS: Code::Blocks ist toll (für Console 🙂 )



  • It0101 schrieb:

    (Anmerkung: ich rede hier im wesentlichen von VC++ 6.0 🙂 )

    VC++ 6.0 ist ja auch Crap. Mit den neueren Varianten kann man auch so drauf los programmieren...

    Unter Windows wäre VS 2005 immer meine erste Wahl! (2008 noch nicht getestet)
    Unter Unix find ich Eclipse & gcc ziemlich ordentlich, Code::Blocks rockt da auch.



  • Ich hatte in der Firma auch schon mal vorgeschlagen, dass wir VC++ 6.0 durch Code::Blocks ersetzen... besser ist das allemal, zumal wir ohnehin nur Consolenanwendungen mit VC basteln...

    Frontends bauen wir mit Delphi 😛



  • It0101 schrieb:

    Ich hatte in der Firma auch schon mal vorgeschlagen, dass wir VC++ 6.0 durch Code::Blocks ersetzen... besser ist das allemal, zumal wir ohnehin nur Consolenanwendungen mit VC basteln...

    Warte mal … Du arbeitest in einer Firma, die VC 6 verwendet? Oh Gott. Fristlos kündigen. Sofort. Wahrscheinlich sitzt ihr auf Papphockern an Bartischen und habt 15"-Röhrenmonitore?

    Das soll kein Spott sein. Aber eine Firma, die sich sowenig darum kümmert, dass die Mitarbeiter gute Werkzeuge haben, ist zum Scheitern verurteilt.



  • Konrad Rudolph schrieb:

    It0101 schrieb:

    Ich hatte in der Firma auch schon mal vorgeschlagen, dass wir VC++ 6.0 durch Code::Blocks ersetzen... besser ist das allemal, zumal wir ohnehin nur Consolenanwendungen mit VC basteln...

    Warte mal … Du arbeitest in einer Firma, die VC 6 verwendet? Oh Gott. Fristlos kündigen. Sofort. Wahrscheinlich sitzt ihr auf Papphockern an Bartischen und habt 15"-Röhrenmonitore?

    Das soll kein Spott sein. Aber eine Firma, die sich sowenig darum kümmert, dass die Mitarbeiter gute Werkzeuge haben, ist zum Scheitern verurteilt.

    Wenn man in einer Firma arbeitet, in der viele viele Millionen Codezeilen nicht nur compilierbar sein müssen, sondern auch wieder auf korrekte Funktion getestet werden müssen, ist es nicht so einfach, mal eben auf einen neuen Compiler zu wechseln. Was ist dann das für eine Schmalspurdenke?
    Ich stimme Dir zu, wenn Du sagst, dass das 6er VS mist ist. Aber der Rest Deines Statements ist einfach Quark.



  • Tachyon schrieb:

    Wenn man in einer Firma arbeitet, in der viele viele Millionen Codezeilen nicht nur compilierbar sein müssen, sondern auch wieder auf korrekte Funktion getestet werden müssen, ist es nicht so einfach, mal eben auf einen neuen Compiler zu wechseln. Was ist dann das für eine Schmalspurdenke?
    Ich stimme Dir zu, wenn Du sagst, dass das 6er VS mist ist. Aber der Rest Deines Statements ist einfach Quark.

    Hier spricht niemand von „mal eben welchseln“. Der Compiler ist seit *acht Jahren* überholt! Das ist eine Ewigkeit (besonders im Bereich IT). Eine Firma, die da nicht mithalten kann, hat am freien Markt ganz massive Probleme.

    Abgesehen davon hatte It0101 ja davon gesprochen, seine Firma davon überzeugen zu wollen, auf C::B umzusteigen. Daraus schließe ich, dass die Wahl der IDE nicht beschränkt ist.



  • Konrad Rudolph schrieb:

    Tachyon schrieb:

    Wenn man in einer Firma arbeitet, in der viele viele Millionen Codezeilen nicht nur compilierbar sein müssen, sondern auch wieder auf korrekte Funktion getestet werden müssen, ist es nicht so einfach, mal eben auf einen neuen Compiler zu wechseln. Was ist dann das für eine Schmalspurdenke?
    Ich stimme Dir zu, wenn Du sagst, dass das 6er VS mist ist. Aber der Rest Deines Statements ist einfach Quark.

    Hier spricht niemand von „mal eben welchseln“. Der Compiler ist seit *acht Jahren* überholt! Das ist eine Ewigkeit (besonders im Bereich IT). Eine Firma, die da nicht mithalten kann, hat am freien Markt ganz massive Probleme.

    Abgesehen davon hatte It0101 ja davon gesprochen, seine Firma davon überzeugen zu wollen, auf C::B umzusteigen. Daraus schließe ich, dass die Wahl der IDE nicht beschränkt ist.

    Sag das mal unserer Firma. Die gibts schon ewig, und so wie es aussieht, wird es die auch noch eine Weile geben. Wir entwickeln aber (leider) noch mit VC6.
    Eine Umstellung würde Kosten im dreistelligen Millionenbereich verursachen, und ich wage mal stark zu bezweifeln, dass unsere Kunden das hinnehmen würden.



  • Ja es ist bei uns ähnlich. Ich verstehe allerdings auch nicht warum so ein Wechsel nicht mal in Angriff genommen wird. Zumal mit VC6 eben nur Win32 Konsole gecoded wird, sonst nix.

    Ich kann mir vorstellen dass das mit Code::Blocks genauso gut laufen könnte. Aber da die alteingesessenen Entwickler alle an VC6 gewöhnt sind, wird das vermutlich nie was ... Ich würd auch VS2008 nehmen... so is das ja nich^^


Anmelden zum Antworten