Forum: PC-Programmierung C++ Objektorientiertes Programmieren für Windows


von Albert (Gast)


Lesenswert?

Hi Leute,

ich habe eine Frage, nunzwar wurde mir dieses Buch geschenkt :

"C++ Objektoerientiertes Programmieren für Windows" (Helmut Erlenkötter)

Es ist jedoch 2001 erschienen, wäre es also noch brauchbar oder ist es 
längst veraltet?

Besten Dank & Viele Grüße

von thomasf (Gast)


Lesenswert?

[ ] brauchbar

[x] längst veraltet

von Albert (Gast)


Lesenswert?

Falls mir jemand aus Erfahrung ein gutes Einsteiger Buch/Tutorial für 
die Windows Programmierung emphelen kann wäre ich sehr dankbar!

von Walter T. (nicolas)


Lesenswert?

Die Erlenkoetter-Bücher sind OK. Das, was er über die Installation von 
Visual Studio 2000 schreibt, kannst Du heute getrost vergessen, das, was 
er über das Programmieren an sich schreibt, gilt immer noch.

Bis Du vom "Hallo Welt" an dem Punkt angekommen bist, an dem sich das 
Programmieren seit 2001 weiterentwickelt hast, vergeht mehr als ein 
Buch.

von Noch einer (Gast)


Lesenswert?

Das kostenlose Visual Studio enthält immer noch die MFC. Die Nachfolger 
haben sich nicht so wirklich durchgesetzt.

Am besten du machst Installation und "Erste Schritte" nach der 
Anleitung, die Microsoft auf ihre Download-Seite gestellt hat. Dann 
fängst du mit dem Buch an, schaust einfach mal, ob dir der Stiel des 
Buches liegt.

In den neueren C++ Standards sind zwar tolle Features dazugekommen. Aber 
die alten sind dadurch nicht obsolet geworden. Und man braucht sowieso 
ein Jahr, bis man alle alten Features beherrscht.

von Arc N. (arc)


Lesenswert?

Noch einer schrieb:
> Das kostenlose Visual Studio enthält immer noch die MFC. Die Nachfolger
> haben sich nicht so wirklich durchgesetzt.

Hmm? Da MS irgendwann auch mal auf die Idee kam im Sinne von Eat your 
own dog food zu handeln, ist bspw. seit längerem auch die gesamte 
Oberfläche von Visual Studio WPF (ab VS2010). Blend ist ebenso WPF.
Line-Of-Business-Anwendungen, die nicht im Laden um die Ecke stehen: 
sehr viel WPF und WinForms. Irgendwo gab's früher auch mal div. Listen 
mit bekannten Anwendungen die WPF nutzen.
Die MFC gibt's noch, ja. Sollte man die nutzen? Ich würde es nicht, 
zumindest nicht für neue Projekte. Entweder direkt zu Qt oder wenn's 
Windows-only ist UWP nutzen, wenn C++ die Sprache der Wahl sein soll.

> Am besten du machst Installation und "Erste Schritte" nach der
> Anleitung, die Microsoft auf ihre Download-Seite gestellt hat. Dann
> fängst du mit dem Buch an, schaust einfach mal, ob dir der Stiel des
> Buches liegt.
>
> In den neueren C++ Standards sind zwar tolle Features dazugekommen. Aber
> die alten sind dadurch nicht obsolet geworden.

Man sollte sich die alten "Features" allerdings direkt wieder 
abgewöhnen...
Wenn das Buch von 2001 ist, dann ist das C++98 oder die Bugfix-Version 
davon C++03. Dagegen sind C++11 und die folgenden Standards eigentlich 
eine neue Sprache, die notgedrungen noch rückwärtskompatibel ist.

von Noch einer (Gast)


Lesenswert?

Die alten Features wieder abgewöhnen? Würde ich ja gerne, das geht aber 
nicht.

Die meisten Leute finden C++ unnötig komplex, nehmen aber trotzdem weil 
es für alles passende Libraries gibt. Nur leider ergibt es ein 
Sammelsurium aus allen Generationen. Alte C-Arrays, die Qt 
Containerklassen, diverse Generationen der STL, und noch ein paar Boost 
Features, die es inzwischen auch unter std:: gibt.

Das lässt sich nie wieder aufräumen. Die Qt lässt sich nicht mehr auf 
std::shared_ptr und std::container umstellen. Wir müssen alle Konzepte 
aus allen Generationen beherrschen und tonnenweise Wrapperklassen bauen.

Und wenn ich die alten Libraries nicht mehr benutze - warum sollte ich 
dann C++ lernen?

von Operator S. (smkr)


Lesenswert?

Walter T. schrieb:
> Bis Du vom "Hallo Welt" an dem Punkt angekommen bist, an dem sich das
> Programmieren seit 2001 weiterentwickelt hast, vergeht mehr als ein
> Buch.

Jain, es hat schon einiges, das man sich nicht neu angewöhnen müsste 
bzw. gleich richtig lernen kann.
Range-based loops, uniform initialization, enum class, default/delete 
functions, sind nur einige, die man am besten gleich von Anfang an 
durchs Projekt ziehen möchte.
C++ kann man heute bedeutend leserlicher und sicherer Schreiben als mit 
C++98, warum also den alten Kram lernen?

von Nase (Gast)


Lesenswert?

Noch einer schrieb:
> Die Qt lässt sich nicht mehr auf
> std::shared_ptr und std::container umstellen.
Das kannst du Qt aber kaum vorhalten.

Qt hatte implizites Sharing gefühlte zehn Jahre, bevor es brauchbare 
C++-Compiler gab :-)
Ich mein, selbst in C++ kam ja irgendwie erst in den letzten sechs 
Jahren oder so nochmal richtig Fahrt rein. Vielleicht auch, weil die 
Leute erkennen, dass ein Haufen Java und Skript doch nicht der Weisheit 
letzter Sch(l)uss waren...

von db8fs (Gast)


Lesenswert?

Albert schrieb:
> ich habe eine Frage, nunzwar wurde mir dieses Buch geschenkt :
> "C++ Objektoerientiertes Programmieren für Windows" (Helmut Erlenkötter)

Schaden kann es nicht, kriegste aber auch für 2,50Eur auf Amazon. 
Hältste dich dran, gewöhnste Dir aber vermutlich etliche MFC-Sauereien 
an (z.B. Klassennamen mit 'C' beginnend, etwa CFileReader).

Persönlich würde ich dir lieber zu irgendwas mit Qt5 raten. Ist zwar 
durch den Metacompiler auch nicht reines C++, aber druff gesch*ssen, man 
kommt seehr schnell zu einer brauchbaren Anwendung mit'm QtCreator. Gilt 
aber ebenso für Microsofts IDL bzw. Resourcencompiler.

Wenn du nicht wirklich den alten C++-Standard oder auf MFC angewiesen 
bist, tät ich's lassen und mit Qt anfang. Sollten wirklich mal 
plattformabhängige WinAPI-Calls für 'ne Backend-Komponente nötig sein, 
gammeln in der MSDN genügend kostenlose Codebeispiele rum.

von Noch einer (Gast)


Lesenswert?

>Das kannst du Qt aber kaum vorhalten.

Das mache ich auch nicht. War nur eine Anmerkung - man muss sowieso die 
ganzen obsoleten C++ Features lernen. Will man nur die neuen lernen, 
kann man die alten Libraries nicht benutzen.

Dann doch lieber Rust oder Swift lernen. Auch wenn Java und Python nicht 
der Weisheit letzter Sch(l)uss waren -- Gibt inzwischen Sprachen, die 
aus Java und aus C++ gelernt haben.

>Persönlich würde ich dir lieber zu irgendwas mit Qt5 raten.

Ich auch :-) Mag Microsoft nicht und finde es Klasse, wenn jemand 
Programme schreibt, die auch auf Linux laufen.

von Stefan F. (Gast)


Lesenswert?

Qt ist nicht gleich Qt. Allein schon der Unterschied zu Qt-Widgets und 
Qt-Quick könnte kaum größer sein.

von Walter T. (nicolas)


Lesenswert?

Ich habe noch einmal einen Blick ins Erlenkötter-Buch geworfen (und 
dabei eine längst vergessene Grußkarte als Lesezeichen wiederentdeckt). 
Ich habe die 10. Auflage von 2007.

Grafische Benutzer-Schnittstellen (GraBSch) kommen gar nicht vor. Es 
geht rein um die Sprache. Auf Anhieb entdecke ich auch keine Konstrukte 
zum gleich-wieder-abgewöhnen.

Sprich: Es spricht nichts dagegen, damit anzufangen. Ist man sowieso 
schnell durch.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.