Als Einsteiger mit .NET oder MFC anfangen ?



  • Hallo Zusammen,

    wie schon erwähnt bin ich noch...naja relativ neu in C++. Vor allem in Visual C++. Deshalb würde ich gerne mal eure Meinung hören...

    Sollte ich als Einsteiger (also die Grundlagen von C++ hab ich) mich noch mit MFC-Klassen und weiterem befassen oder besser gleich mit .NET anfangen und die "alten" MFC-Klassen wie CSocket, etc. später behandeln. Ich meine in der .NET Technologie hab ich schon viele Klassen gesehen, wie ...Moment-ein Beispiel:
    im Framework gibt es Klassen wie Net::Socket oder System::Windows::Forms etc.
    Jetzt schätze ich mal dass diese .NET-Klassen wohl bald (spätestens mit Vista oder dem nächsten OS von Microsoft) die MFC-Klassen parallel dazu wie CSocket/CAsyncSocket oder CDialog zu System::Windows::Forms ablösen werden oder irre ich mich da gewaltig ?

    Deshalb bin ich zur Zeit eben am zweifeln-nicht dass ich des "alte MFC-Zeugs", wie es vielleicht bald genannt (->ist nicht meine persönliche Meinung, nur eine Vermutung, also net hauen _) wird jetzt noch lerne anstatt mich gleich mit .NET zu befassen, versteht ihr ?
    Das ist DIE FRAGE, die mich zur Zeit sehr beschäftigt.Ich hoffe ihr könnt mir da als erfahrene Programmierer weiterhelfen.

    Schönen Gruß
    CMan



  • Ich persönlich würde mit .NET Anfagen und hier dann gleich mit C#.http://msdn.microsoft.com/vstudio/express/visualcsharp/

    Windows-Forms wird die MFC ersetzen, da viele noch alte Anwendungen pflegen müssen. Aber neue würde ich nur noch mit Windows-Forms / Avalaon machen.



  • Ich persönlich würde an MFC keine Zeit mehr verschwenden.



  • Ja wenn das so ist. 😉

    Eine Frage hätte ich aber noch:

    .NET Programme sind meiner Meinung nach etwas langsam.
    Wird das mit der Zeit besser werden? Liegt das vielleicht daran dass WinXP noch nicht auf .NET basiert oder ...?



  • CMan schrieb:

    .NET Programme sind meiner Meinung nach etwas langsam.
    Wird das mit der Zeit besser werden?

    Das ist meistens ein subjektives Gefühl. Nur der Start ist langsamer, da ja viel mehr DLLs geladen werden müssen. Beim Ablauf ist AFAIK nichts zu spüren...

    CMan schrieb:

    Liegt das vielleicht daran dass WinXP noch nicht auf .NET basiert oder ...?

    Nein... und Vista/Longhorn wird auch nicht auf .NET basieren...



  • Jochen Kalmbach schrieb:

    CMan schrieb:

    .NET Programme sind meiner Meinung nach etwas langsam.
    Wird das mit der Zeit besser werden?

    Das ist meistens ein subjektives Gefühl. Nur der Start ist langsamer, da ja viel mehr DLLs geladen werden müssen. Beim Ablauf ist AFAIK nichts zu spüren...

    CMan schrieb:

    Liegt das vielleicht daran dass WinXP noch nicht auf .NET basiert oder ...?

    Nein... und Vista/Longhorn wird auch nicht auf .NET basieren...

    Das liegt nicht daran das mehr Dll's geladen werden, sondern das .Net Code erstmal in einer Zwischensprache vorliegt die beim Start in Maschienencode kompiliert wird!

    Jochen Kalmbach schrieb:

    Ich persönlich würde mit .NET Anfagen und hier dann gleich mit C#.http://msdn.microsoft.com/vstudio/express/visualcsharp/

    Du kannst das .Net Framework aber auch ohne Probleme mit C++ nutzen! Auch wenn ich persönlich auch C# bevorzuge für .Net.

    Windows-Forms wird die MFC ersetzen, da viele noch alte Anwendungen pflegen müssen. Aber neue würde ich nur noch mit Windows-Forms / Avalaon machen.



  • Talla schrieb:

    Das liegt nicht daran das mehr Dll's geladen werden, sondern das .Net Code erstmal in einer Zwischensprache vorliegt die beim Start in Maschienencode kompiliert wird!

    Hast Du schon mal einen Vergleich gemacht zwischen einem pre-jitteten (ngen) und normalen EXE ???
    Du wirst feststellen, dass es fast keinen Unterschied gibt. Und ganz nebenbei sind die gesamten MS assemblies pre-jitted. Somit tritt der Effekt nur bei Deinen eigenen Routinen auf (wenn Du kein ngen verwendet hast) und dieser Effekt ist wirklich (im Normalfall) marginal.


Anmelden zum Antworten