Umsteigen von Visual Basic 6.0 zu Visual C++/net



  • Hallo
    ich schreibe eigentlich diesen Beitrag um einen neuen Motivationsschub zu erhalten. Ich programmiere seit gut 3 Jahren mit Visual Basic 6.0 und habe diese Sprache schätzen gelernt weil man innert kürzester Zeit funktionierende Windowsprogramme erstellen kann. Nun habe ich die Arbeitsstelle gewechsellt und hier wird mit C++ programmiert (Visual Studio NET).
    Nun habe ich mich zwei Wochen mit dieser Sprache beschäftigt. Zuerst die Grundlagen anhand von Konsolenanwendungen gelernt und nun beschäftige ich mich mit der MFC.
    Meine Hauptfrage: wo ist der Vorteil von Visual C++ gegenüber von Visual Basic 😕
    Mein erster Eindruck von VC++ war, dass man für die gleiche Anwendungen 3 mal mehr Zeit braucht als bei VB.
    Zum einen Button eine andere Farbe zu geben brauche ich mich in VB um nichts zu kümmern und nur einen Befehl. Für das gleiche in VC++ (MFC) muss ich mich mit Klassen beschäftigen Variablen deklarien und und... Warum also so kompliziert wenns auch einfach geht. Zudem besteht ein VC++ Projet aus etlichen Datein, wo man schnell den Überblick verliert.
    Also ich wäre euch sehr dankbar wenn ihr mich motivieren könntet mich weiter mit C zu beschäftigen.

    Gruss senge



  • Weil die MFC nicht die beste Library für GUIs ist, GTKmm z.B. ist sehr viel leichter zu handhaben,
    aber so komfortabel wie in VB wirst du es nicht mehr haben, dafür hast du, aber mehr Kontrolle über das was Geschieht und das Programm ist schneller.



  • Hmm... am ehesten kommt noch die Entwicklungsumgebung "Borland C++ Builder 6" an Visual Basic 6 "Klick & Go" GUI-Design ran... aber das nur als Nebennote 😉

    C++ bietet dir

    a) wesentlich mehr Fexibilitaet: du kannst relativ low-level programmieren
    b) Portabilitaet: C++ laeuft auf sehr, sehr, sehr, sehr vielen Plattformen, mit VB bist du an Windows gebunden
    c) Geschwindigkeit: C++ ist allemal schneller als VB
    d) OOP: wenn du Objekt Orientere Programmierung mal ordentlich gelernt hast, wirst du merken, dass sie bei grossen Projekten die Dinge Vorteile bringt.

    Als Nachteil verlierst du leider die ganze Einfachheit von VB

    Die MFC ist uebrigens meiner Meinung nach eine grottenschlechte Library. Wenn du es nicht fuer die Arbeit lernen musst, dann tus dir nicht an sie zu lernen! Es gibt wesentlich bessere Alternativen (schau in die FAQ!). Bleib dann lieber noch etwas bei Konsolen, konzientrier dich drauf, mit der OOP wirklich gut zurecht zu kommen (wenn die Arbeit das zulaesst 🙂 ).
    Im Visual Studio .net besteht ja auch die Moeglichkeit, GUIs mit den Winforms zu machen. Ich hab das selbst nie gemacht, aber gehoert, dass es ziemlich komfortabel sein soll...



  • Wenn man mit der MFC arbeitet ist es natürlich Pflicht den GUI Designer zu nehmen, sonst muss man die ganzen Klassen und alles selbst schreiben (bläht der Code, aber unter Umständen etwas auf)



  • Danke erstmal für die Antworten. Ich werde mich da jetzt einfach durchbeissen 😡 und nicht mehr herumjammern.
    Da die Software die ich hier schreiben muss früher oder später zum Kunden geht werden mir Konsolen-Anwendungen nicht mehr reichen.

    Noch eine Frage: So als Umsteiger wird man mit vielen neuen Begriffen konfrontiert. Gibt es irgendwo einen Überblick/Zusammenfassung oder auch gegenüberstellung von folgenden Begriffen?

    C++ Standarbibliothek
    MFC Microsoft Foundation Classes
    ALT Active Template Library (ist das eine ALTE Library die man nicht mehr benutzen sollte? 🙂 )
    Win32 API
    GDI

    Gruess senge



  • senge schrieb:

    Danke erstmal für die Antworten. Ich werde mich da jetzt einfach durchbeissen 😡 und nicht mehr herumjammern.
    Da die Software die ich hier schreiben muss früher oder später zum Kunden geht werden mir Konsolen-Anwendungen nicht mehr reichen.

    Noch eine Frage: So als Umsteiger wird man mit vielen neuen Begriffen konfrontiert. Gibt es irgendwo einen Überblick/Zusammenfassung oder auch gegenüberstellung von folgenden Begriffen?

    C++ Standarbibliothek
    MFC Microsoft Foundation Classes
    ALT Active Template Library (ist das eine ALTE Library die man nicht mehr benutzen sollte? 🙂 )
    Win32 API
    GDI

    Gruess senge

    1. die C++ Standardlibrary sind eine Bibliothek mit Funktionalitaet, die im offiziellen C++ Standard der ISO vorgesehen sind. Header, die zur Standardlibrary gehoeren, sind z. B. iostream, string, vector, list.... etc.

    2. die MFC ist eine unter vielen verschiedenen Bibliotheken, die es erlauben, "Fensterprogramme" unter Windows zu schreiben. Die MFC ist sehr alt und wird nicht mehr weiterentwickelt. Wenn du die Moeglichkeit hast, auf eine andere Library zu wechseln um die GUIs (graphical user interface) zu schreiben, dann wechsel. Andere Libraries zum GUI-Programmieren findest du in der FAQ

    3. die ATL ist ebenfalls eine Library der Microsoft, aber wesentlich moderner als die MFC. Mit dem GUI-Teil der ATL, der sog. WTL (Windows Template Library) soll das GUI-Programmieren angeblich recht angenehm sein... ich selber habs nie probiert.

    4. Die WinAPI ist eine Library, die saemtliche Funktionalitaet anbietet, die Windows nur anbieten kann. Sie ist eine direkte Schnittstelle zu Windows. Alle anderen Libraries zur GUI-Programmierung fuer Windows, z. B. auch die MFC oder die ATL, greifen im Hintergrund auf die WinAPI zurueck. Nur sind sie meist einfacher zu benutzen. Denn die WinAPI ist noch aelter und noch haesslicher als die MFC. 🙂

    5. GDI ist der Teil der WinAPI, der sich mit dem Zeichnen auf dem Bildschirm befasst...


Anmelden zum Antworten