HELP !?! C / C++ / VC++



  • Undertaker schrieb:

    skenter schrieb:

    ich glaube ich werde mich mal jetzt mit c++ und der IDE : visual studio 05 befassen !

    wenn du windoofs-programme schreiben willst ist das, meiner meinung nach, die beste wahl.
    🙂

    Ja wenn man sich auf Win spezialisiert ist die Express der '05er wirklich eine schöne IDE & ein guter Compiler.

    Das ganze hat nur seine Grenzen wenn man parallel viel unter anderen Betriebssystemen arbeitet und immer die gleiche IDE haben will. (GPL Qt soll sich auch mit dem MinGW besser vertragen ist aber für rein-Windows auch nicht das so interessante Thema 😉 )

    Was bei der Express ein Problem ist, ist der Fehlende Support für Plugins, gerade das SVN-Handling wie man es aus Eclipse kennt ist ein schönes Ding, das mit einem Plugin verfügbar ist - ab Standard



  • Visual Studio (also das, was du als "Visual C++" bezeichnest) zwingt dich absolut nicht, die MFC zu verwenden. Weder Visual Studio 6.0 noch VS 2005 noch sonst eine Version. Die MFC sind - wie du schon erkannt hast - nur eine Bibliothek, die den Umgang mit der WinAPI verschlimmbessern (niemand mag die MFC gern, die MFC ist grottenschlecht, es gibt bessere Alternativen!).

    Da du erst mit dem Programmieren anfaengst, sind WinAPI und MFC sowieso VERBOTEN! Das sind beide relativ haessliche Bibliotheken, von denen du dir nichts abgucken solltest. Deswegen erstmal Haende weg, damit du dir nicht noch die falschen Dinge angewoehnst. Am Anfang sollte man einfach Konsolenprogramme (Also, die, die aussehen wie alte MS-DOS Programme) schreiben, und GUI-Programmierung erst spaeter ansehen. 🙂

    Fuer C++ wird uebrigens auch "C++ verwenden und professionell anwenden" sehr gern emfpohlen, soll (anscheinend) ein sehr gutes Buch sein. Wenn dein Englisch nicht allzu schlecht ist, solltest du auch unbedingt "Thinking in C++" zumindest anlesen. Das Buch (bzw. die Buecher, gibt 2 davon) gibts gratis im Internet, und die sind wirklich sehr gut! 🙂

    Dev-C++ ist eine relativ schlechte Wahl, die IDE mag einfach aussehen, aber es gibt ein paar nervige Bugs, und das Programm wird nicht mehr weiterentwickelt. Wenn dir das Visual Studio 2005 nicht gefaellt, koenntest du dir noch Code::Blocks (www.codeblocks.org) anschauen, ist auch sehr nett.



  • Blue-Tiger schrieb:

    Da du erst mit dem Programmieren anfaengst, sind WinAPI und MFC sowieso VERBOTEN! Das sind beide relativ haessliche Bibliotheken, von denen du dir nichts abgucken solltest.

    naja, aber wenn man für windows programme entwickelt, wird man, früher oder später, an der winapi wohl kaum vorbeikommen. mfc kann man natürlich ignorieren, denn das ist nur eine, aus c++ wrappern bestehende library. aber winapi ist die user-mode schnittstelle zum betriebssystem und wenn man sich damit auskennt, kann das nur ein vorteil sein.
    btw: aber machen wir uns doch nichts vor. plattformunabhängige C++ -programmierung ist, bis auf wenige ausnahmen, eine utopie. man hat doch meistens ein konkretes ziel (programm, anwendung, system, etc.) vor augen und dann sollte man auch alle register ziehen, sprich: systemspezifische features nutzen können, die möglich sind.
    🙂



  • Undertaker schrieb:

    Blue-Tiger schrieb:

    Da du erst mit dem Programmieren anfaengst, sind WinAPI und MFC sowieso VERBOTEN! Das sind beide relativ haessliche Bibliotheken, von denen du dir nichts abgucken solltest.

    naja, aber wenn man für windows programme entwickelt, wird man, früher oder später, an der winapi wohl kaum vorbeikommen. mfc kann man natürlich ignorieren, denn das ist nur eine, aus c++ wrappern bestehende library. aber winapi ist die user-mode schnittstelle zum betriebssystem und wenn man sich damit auskennt, kann das nur ein vorteil sein.
    btw: aber machen wir uns doch nichts vor. plattformunabhängige C++ -programmierung ist, bis auf wenige ausnahmen, eine utopie. man hat doch meistens ein konkretes ziel (programm, anwendung, system, etc.) vor augen und dann sollte man auch alle register ziehen, sprich: systemspezifische features nutzen können, die möglich sind.
    🙂

    WinAPI sollte man als Anfaenger aber erstmal meiden, IMO. Danach ok, wenn sich's nicht vermeiden laesst (siehe aber Bemerkung unten). Aber bevor die Grundlagen nicht sitzen, wuerd ich Anfaenger nichtmal auf eine _GUTE_ Gui-Lib loslassen, geschweige denn WinAPI.

    zwar Offtopic, aber:
    Plattformunabhaengigkeit kann auch ein konrektes Ziel sein. Und selbst wenn nicht, ich kenne keinen Fall, wo ich mit plattforumunabhaengigen Mitteln nicht genau das selbe Erzielen koennte wie mit OS-abhaengigen (bin mir aber sicher es gibt welche, aber: ganz sicher nicht so viele, wie du's grad darstellst). Viele Programme koennten problemlos plattformunabhaengig geschrieben werden, wenn die Programmierer nicht auf plattformabhaengigen Libs aufbauen wuerden.



  • Blue-Tiger schrieb:

    Viele Programme koennten problemlos plattformunabhaengig geschrieben werden, wenn die Programmierer nicht auf plattformabhaengigen Libs aufbauen wuerden.

    Ich sehe das Problem eher darin, GUI- und Anwendungscode zu trennen. Sobald man beides einzeln hat, kann man problemlos für verschiedene Systeme maßgeschneiderte GUIs anbieten. Bei den Libs kann man ja einfach von Anfang an darauf achten, sooo schwierig ist das ja eigentlich nicht (ich weiß, sagtest du auch nicht, wollte es nur noch mal erwähnen) 🙂



  • Wenn du wirklich ganz neu anfangen willst benutz doch gleich C#



  • AndiOO schrieb:

    Wenn du wirklich ganz neu anfangen willst benutz doch gleich C#

    Genau! Oder Python oder Ruby oder Java...
    C++ ist derart komplex und überladen, dass man sich als
    Anfänger weiß Gott keinen Gefallen tut, sich gleich dieser Sprache
    auszusetzen. Da wirst Du bald die Lust verlieren und die Sache
    aufgeben -- mit 110%iger Wahrscheinlickeit.



  • Blue-Tiger schrieb:

    zwar Offtopic, aber:
    Plattformunabhaengigkeit kann auch ein konrektes Ziel sein. Und selbst wenn nicht, ich kenne keinen Fall, wo ich mit plattforumunabhaengigen Mitteln nicht genau das selbe Erzielen koennte wie mit OS-abhaengigen (bin mir aber sicher es gibt welche, aber: ganz sicher nicht so viele, wie du's grad darstellst). Viele Programme koennten problemlos plattformunabhaengig geschrieben werden, wenn die Programmierer nicht auf plattformabhaengigen Libs aufbauen wuerden.

    Also man kann sicherlich vieles platformunabhängig programmieren. Aber es gibt immer mal wieder Spezialfälle, wo du eindeutig nicht darum herum kommst, plattformspezifische APIs zubenutzen. Wenn man das nicht macht, wird man sich z.B. Nachteile ggü. der Konkurrenz holen. Denn es gibt ja verschiedene Plattformen, weil diese verschiedene Leistungsmerkmale haben. Und die will man dann auch ausnutzen. Wenn man aber immer nur plattformneutral entwickelt, wird man immer nur den kleinsten gemeinsamen Nenner nutzen können. Und dann wird die eigene Software keinen Wettbewerbsvorteil erlangen können.



  • Ich bin seinerzeit gleich mit Visual Studio 6 eingestiegen und es hat mir nicht geschadet. Ich kenne die Visual Studio IDE besser auswendig als meine eigenen 4 Wände. Und früher oder später wirst du eh bei Visual Studio landen, weil es die beste IDE ist, die es gibt.



  • Artchi schrieb:

    Blue-Tiger schrieb:

    zwar Offtopic, aber:
    Plattformunabhaengigkeit kann auch ein konrektes Ziel sein. Und selbst wenn nicht, ich kenne keinen Fall, wo ich mit plattforumunabhaengigen Mitteln nicht genau das selbe Erzielen koennte wie mit OS-abhaengigen (bin mir aber sicher es gibt welche, aber: ganz sicher nicht so viele, wie du's grad darstellst). Viele Programme koennten problemlos plattformunabhaengig geschrieben werden, wenn die Programmierer nicht auf plattformabhaengigen Libs aufbauen wuerden.

    Also man kann sicherlich vieles platformunabhängig programmieren. Aber es gibt immer mal wieder Spezialfälle, wo du eindeutig nicht darum herum kommst, plattformspezifische APIs zubenutzen. Wenn man das nicht macht, wird man sich z.B. Nachteile ggü. der Konkurrenz holen. Denn es gibt ja verschiedene Plattformen, weil diese verschiedene Leistungsmerkmale haben. Und die will man dann auch ausnutzen. Wenn man aber immer nur plattformneutral entwickelt, wird man immer nur den kleinsten gemeinsamen Nenner nutzen können. Und dann wird die eigene Software keinen Wettbewerbsvorteil erlangen können.

    Wenn deine Software nur im Nutzen von plattformspezifischen Funktionen glänzt... na dann gut' Nacht! 🙄



  • Mr. N schrieb:

    Wenn deine Software nur im Nutzen von plattformspezifischen Funktionen glänzt... na dann gut' Nacht! 🙄

    nö, das ist schon ok so. wenn man unter windoofs einen dienst, eine shell-extension, ein mmc-applet usw. machen will, dann muss man winapi-funktionen benutzen. was ist daran schlimm?
    🙂



  • Undertaker schrieb:

    Mr. N schrieb:

    Wenn deine Software nur im Nutzen von plattformspezifischen Funktionen glänzt... na dann gut' Nacht! 🙄

    nö, das ist schon ok so. wenn man unter windoofs einen dienst, eine shell-extension, ein mmc-applet usw. machen will, dann muss man winapi-funktionen benutzen. was ist daran schlimm?
    🙂

    Ich dachte eigentlich, es wäre verständlich, was ich gemeint habe. Aber dann will ich mal extra für dich (:p) erklären:

    Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...

    Jetzt klar?



  • Mr. N schrieb:

    Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...

    Wieso ergeben gut und "durchschnittlich" zusammen "schlecht"?



  • SeppSchrot schrieb:

    Mr. N schrieb:

    Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...

    Wieso ergeben gut und "durchschnittlich" zusammen "schlecht"?

    Durchschnittlich == schlecht. Man sollte IMHO auf mehr als einem Feld glänzen. Und diese mehreren Felder müssen nichtmal plattformspezifisch sein...



  • Mr. N schrieb:

    Wenn eine Software nur im Nutzen von plattformspezifischen Funktionen glänzt, dann heißt das, dass sie ansonsten höchstens durchschnittlich sein kann (also schlecht ist)...

    nö, dass heisst höchstens, dass den machern der software plattformunabghängigkeit nicht wichtig war, weil es z.b. ein schnelles und schlankes programm werden soll. plattformunabhängigkeit mit C oder C++ programmen heisst immer, dass man viele kompromisse eingehen und nachteile hinnehmen muss. aber ist ja egal, der OP möchte C++ unter windows programmieren und deshalb, finde ich, sollte er sich auf C++ in verbindung mit winapi konzentrieren. wäre für ihn plattformunabhängige entwicklung wichtig, dann würde er sich wohl eher auf python o.ä. stürzen (was ja weiter oben schon jemand vorgeschlagen hat).
    🙂



  • Beispiel: zwei Programme die für die Foto-Verwaltung sind. Eines nutzt nur platformneutrale Funktionen. Das andere benutzt ebenfalls platformneutrale Funktionen PLUS einen Windows-API-Funktion, die extra Digikameras erkennt und entsprechend komfortable Import-Funktionen anbietet.

    Hem, also ich würde persönlich das Programm benutzen, das die Windows-FUnktionen nutzt und mir damit das Leben leichter macht.

    Aber klar, wer spezielle Funktionen anbietet, hat sonst nicht zu bieten... das ist natürlich die Schlussfolgerung. Aha...



  • Artchi@Out schrieb:

    Beispiel: zwei Programme die für die Foto-Verwaltung sind. Eines nutzt nur platformneutrale Funktionen. Das andere benutzt ebenfalls platformneutrale Funktionen PLUS einen Windows-API-Funktion, die extra Digikameras erkennt und entsprechend komfortable Import-Funktionen anbietet.

    Hem, also ich würde persönlich das Programm benutzen, das die Windows-FUnktionen nutzt und mir damit das Leben leichter macht.

    Nur wenn das Programm, das WinAPI-Spezifika nutzt, ansonsten mindestens gleich gut ist.

    Artchi@Out schrieb:

    Aber klar, wer spezielle Funktionen anbietet, hat sonst nicht zu bieten... das ist natürlich die Schlussfolgerung. Aha...

    Das habe ich nie behauptet. 🙄



  • 😮 , *hust*.

    ich will mich erstmal bei allen bedanken die sich so aktiv in dieser kurzen zeit in diesem thread gezeigt haben.meine vorab fragen sind zu 90% beantworten im bezug auf das verwirrende C syntax / GUI / IDE und die erschlagende MFC.wie gesagt werde ich mich jetzt in c++ via visual studio 2005 einarbeiten.falls jemand gute tutorials für mich hat im bezug auf die c++ kosollenprogrammierung ( texteingabe / ausgabe - auswertung , rechner etc.... ) hat (vorzugsweise kommplettes tutorial über mehrere kapitel )diese bitte zu linken , GUI wird erst ein späteres thema.

    PS: visual studio 2005 installation gerade abgeschlossen 😉 ... also gogo.





  • Wobei du hier anfangen solltest. Es sind einige Dinge nicht mehr so aktuell in Volkards Tutorial. Das hat mich am Anfang sehr verwirrt: Wieso geht das nicht? Wieso ist das nicht in dem namespace? etc.

    Gruß
    Don06


Anmelden zum Antworten