Samstag, 14. Juni 2008

C und C++, die alten Freunde .

Hallo liebe Leser,

einige von euch mögen zwar Entwickler sein oder sind grade mal am Anfang ihrer Ausbildung.
Doch wer kennt es nicht.
In der Schule muss man Anwendungsentwicklung mit uralten Entwicklungsumgebungen wie Microsofts Visual Studio C++ 6.0 lernen.

Ich musste in dem 2. Jahr meiner Ausbildung zum kaufmännischem Assistent wieviele erst mit Visual Basic anfangen und dann mit MFC Dialog basierte Anwendungen entwickeln.

Wer schon mit MFC, ja der uralten C++ Library von Microsoft zum Anwendungsentwicklen, gearbeitet hat kennt die Vor- und Nachteile.
Zwar gibt es tolle Klassen wie CString mit den Methoden wie Format etc. doch leider gibts die auch nur in der MFC und in Windows.
Auch C# hat solche Methoden, dank .NET in allen Sprachen die mit .NET arbeiten können.


Doch warum sollte man eigentlich mit MFC o.ä. Anwendungen schreiben.
Einige von den Besuchern hier haben bestimmt noch nie mit C eine Anwendung mit der guten C WinAPI gemacht.
Falls ihr das mal machen wollt habe ich hier einen Link für euch.
Wenn ihr die ersten eigenen C Programme z.b. mit Code::Blocks entwickelt habt, dann wisst ihr warum sogar MFC trotz seines hohem alters noch besser ist als eine Windows GUI per C zu entwickeln.

Aber immer hin kann man da durch den Aufbau der MFC verstehen und man lernt auch, das Buttons auch nur Fenster sind.
Ich habe auch mal ein etwas simples Klassenkonzept zum nachbauen von MFC entwickelt.
Falls ich die Codes mal finde, werde ich sie veröffentlichen.

Ansonsten kann man sich auch mal an C und C++ unter Linux ranwagen.
Es klingt zwar schwer, aber ein sauberes C oder C++ Programm was keine Header von Windows oder Linux/Unix etc. nutzt lässt sich ohne großen Aufwand auch unter Linux/Unix entwickeln.

So konnte ich Spacer, mein kleines 2D Spiel, dank der Platformübergreifenden Library SDL, SDL_Mixer und SDL_Image auch unter Linux erstellen.
Alles was ich machen musste, war die Library und die "dlls", unter Linux heißen die .so(Shared Object), installieren und in das Projekt einbinden.
Hier für muss man einfach nur ein neues Code::Blocks Projekt erstellen und die vorhandenen Codes und die "libs", unter Linux einfach nur .a, einbinden und kompilieren.

Danach hat man schon sein fertiges Programm.
Klingt zwar umständlich, ist aber nur eine Sache von wenigen Minuten arbeit.
Und man muss dafür auch keine Konsole etc. beherrschen.
Also auch etwas, was Ein- und Umsteiger machen können.

Ich hoffe ich konnte euch mal für die C und C++ Entwicklung unter Windows, LinuxUnix begeistern.
Falls nicht, war es wenigstens ein Versuch wert.

Auch wenn es wohl für einige umständlich klingt, aber die schönsten und besten Programme laufen unter mehren Systemen.
Beispiele sind z.v. Video Lan Client(VLC), Torrentprogramme wie Bittorent, BOINC für verteiltes rechnen, Audacity zum Musik schneiden, GIMP für Bildbearbeitung etc.
Die Liste ist fast endlos.

Aber das steht jedem offen.

Mit freundlichen Grüßen



T-Virus

2 Kommentare:

Anonym hat gesagt…

Wahre Worte, gut geschrieben!

Kyle

T-Virus hat gesagt…

Hallo Kyle,

ja war ein eigentlich kurzer weg für mich mit der C WinAPI ;)
Ich habe, wie beschrieben, auch mal mit C++ eine kleine C++ MFC gebastelt.
Diese kann zwar nicht mit der richtigen MFC mithalten, aber es war schon sehr interessant sowas zubasteln.

Kann es dir mal empfehlen.
Wenn du mal mit C Windowsanwendungen schreiben willst, ist Charles Petzold's Windwsprogrammierungs Buch das beste was du finden kannst.
An dem Werk liest man solange wie an einem Harry Potter Buch ;)

Dort lernt man auch mit C .dlls zu entwickeln.
Ziemlich aufschlussreich.

Mit freundlichen Grüßen



T-Virus