MFC, .NET oder doch plain C++
-
Hallo Leute!
Ursprünglich habe ich Programmieren in Delphi gelernt, bin aber vor kurzem auf C++ umgestiegen und habe mir auch somit Visual Studio .NET 2003 Academic gekauft. Nun will ich mein erstes größeres Projekt beginnen und bin nicht sicher ob es auf den MFC, der .NET Framework oder doch nur auf standard C++ aufsetzen soll.
Es soll ein Programm zur Auswertung eigener sportlicher Leistungen sein (z.B. Laufen, Radfahren, usw.), welches die Ergebnisse dann in einer Art Datenbank speichert. Weiters soll es die Möglichkeit besitzen bestimmte Daten in einer Grafik anschaulich darzustellen.Da ich erst recht neu in C++ bin, weiß ich nicht so recht weiter und währe für jede Hilfe dankbar.

-
Hallo!
Machs mit MFC. Da kannst du schöne Buttons und Fensterchen und was weis ich alles verwenden. Außerdem kannst du durch MFC recht Comfortabel auf Datenbanken zugreifen. Für den Anfang ist MFC auch nicht sooo schwer.

Ciao!
-
Vielen Dank für die schnelle Antwort!

Anfangs hatte ich auch an MFC gedacht, dann jedoch war ich mir nicht mehr so sicher weil ich dachte, dass MFC schon am Auslaufen ist, ich meine ich bin wie gesagt (noch
) kein Experte, aber vermute eben nur, dass Microsoft die MFC mit .NET mehr oder weniger ersetzen will. Und da ich nicht wirklich großes Interesse habe etwas zu lernen was in wenigen Jahren (evtl. ab Windows Longhorn) bereits outdated ist, habe ich mir eben gedacht ich frage mal. 
P.S.: Von plain C++ (evtl. nur mit Win32 API) ratet ihr eher ab oder?
-
Man kann eigentlich so pauschal weder zur puren WinApi noch davon abraten.
Die MFC ist nunmal eine Kapselung der WinApi und das heíßt, dass du immer, wenn Du ein Problem nicht in der MFC gelöst kriegst, es "von Hand" mit der WinApi machen musst. Irgendwie sollte man daher beides können.
Lehrbücher gehen meist den Weg, dass du einen Einstieg mit der MFC erhältst und dann Schritt für Schritt erfährst, welche WinApi Aufrufe sich hinter den Klassen verbergen.
Jeder Programmierer, der die WinApi kennt, ist meiner Meinung nach ein auch besserer MFC-Nutzer.Auch "pures" C++ ist keine Frage von entweder/oder, sondern eben Handwerkszeug.
-
Ich glaube auch nicht dass .NET MFC ablösen wird. In VS.NET kann man doch auch MFC-Projekte machen.
-
in msvc++8 beta1 gibt es kein MFC? kommt das noch oder bleibt das weg?
-
PanicMan schrieb:
Ich glaube auch nicht dass .NET MFC ablösen wird. In VS.NET kann man doch auch MFC-Projekte machen.
Vielleicht nicht unbedingt das Killerargument

Immerhin konnte man bis zur Version 4.x auch Windows 3.1 - Apps entwickeln.Aber bis Longhorns-Architektur raus und wirklich etabliert ist, spuckt mein Compiler noch viele Fehlermeldungen von MFC-Code aus.
-
Im allgemeinen sollte man heute versuchen, Plattform unabhängig
zu arbeiten, das heisst, möglichst viel mit Standard C++
zu machen, und dann später nur noch die Ausgabe in einen
MFC Client zu tun. Für Dateien, Datenverwaltung, und Berechnungen
brauch man kein MFC, da ist das sogar eher overhead.
Zu dem man dann später die Anwendung auch schneller portieren kann.Devil
-
Eine weitere Frage ist auch, ob sich die MFC, wenn sie bei Longhorn voll dabei ist, nicht grundlegend geändert wird.

-
SeppSchrot schrieb:
Vielleicht nicht unbedingt das Killerargument

Immerhin konnte man bis zur Version 4.x auch Windows 3.1 - Apps entwickeln.Meines Wissens war VC 1.52c der letzte Compiler/IDE von Microsoft mit dem man Anwendungen für Windows 3.1(1) (=16-bit) erstellen konnte.
4.x war ein reiner 32-bit Compiler/IDE.

mfg JJ
-
Hab ich wohl was durcheinandergebracht

Hmm, ok, dann war es wohl eher so, dass diese Version noch diesen 32Bit-Aufsatz für Windows 3.1 konnte
-
Also könnte es etwas "gefährlich" sein jetzt mit MFC zu beginnen?
-
Zumindest würde dich das Microsoft wohl gerne glauben lassen

Im Ernst: Ich glaub, das weiß keiner im Moment so genau.
Ich verwende kein .net, und wenn ich es täte, dann sicherlich gleich mit C#.
Ich für meinen Teil fühle mich mit der C++/WinApi/MFC Combo wohl, sie kommt meinem Verständnis vom Computerprogrammieren am nächsten.
Allerdings muß man Fairerweise sagen, dass ich meine berufliche Zukunft nicht in der reinen Anwendungsentwicklung sehe. Deswegen kann ich es mir leisten, damit zu programmieren, was mir gefällt
Und deswegen kann mir auch nichts gefährlich werden
-
SeppSchrot schrieb:
Allerdings muß man Fairerweise sagen, dass ich meine berufliche Zukunft nicht in der reinen Anwendungsentwicklung sehe. Deswegen kann ich es mir leisten, damit zu programmieren, was mir gefällt

Im Prinzip kann ich es mir auch leisten zu programmiern, was mir gefällt, da ich das alles auch nur in meiner Freizeit, hobbymäßig mache. Deswegen suche ich eben auch etwas recht einfaches und langlebiges.
-
Gegen MFC spricht deshalb nicht weil es nicht schwierig ist.
MS sihet die Zukunft in NET.NET != c#
Man kann auch Managed c++ mit NET machen.
-
Sollte ich mich aber am Ende doch für .NET entscheiden, wäre es aber vermutlich sinnvoller in c# zu schreiben als in C++, oder?
-
Wie man's nimmt. Auf jeden Fall wäre es an manchem Stellen weniger umständlich. Mir gefällt C# sprachlich besser, aber das ist eine subjektive Meinung. Am besten du schaust dir beides mal an und versuchst, mehrere kleine Programme sowohl in C# als auch in C++ zu entwickeln.
Zur MFC: Die MFC basiert AFAIK auf der Winapi und die wird irgendwann aussterben. Das ist Fakt. In Longhorn ist sie nur noch aus Kompatibilitätsgründen drin.
Bis zur völlig Ausrottung werden zwar IMHO noch viele Jahre vergehen, da Windows immer schon _sehr_ abwärtskompatibel war. Aber ich sehe auch programmiertechnisch keinen Grund, bei der Winapi, bzw. MFC zu bleiben. Der einzige Grund gegen .Net ist meiner Meinung nach, dass nicht jeder ein .Net Framework installiert hat. Aber es soll ja auch Leute geben, die keine Java VM installiert haben....
-
Ohne dass ich mir nun all den Hass aller MFC/C/C++ Coder zuziehe, muss ich mich optimizer anschliessen und sagen, dass mir C# sprachlich viel besser als C++(mit oder ohne mfc) gefällt.
Es iss auch ganz gut zum Spiele coden (mit oder ohne DirectX) geeignet (<- finde ich)