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



  • skenter schrieb:

    ...nur wo einsteigen ? erst C damit ich komplette strukturiert alles lerne -> dann c++ ? ->vc++ ? da war jetzt der broße knackpunkt.in den letzten tagen habe ich mich nun eingehend mit dem thema beschäftigt und ich kann nur sagen mein kopf qualmt nur so:
    C - C++ - VC++ - ANSI C - C99 ....

    ach, noch was:
    C wird heutzutage vorwiegend zur hardwarenahen und systemprogrammierung eingesetzt (embedded devices, treiber, usw.).
    C++ ist ursprünglich aus C entstanden, wurde aber auch von smalltalk und anderen sprachen beeinflusst. C++ ist sehr komplex und erfordert viel wissen, erfahrung und disziplin vom programmierer (shoot away the whole leg). C++ ist standardisiert
    VC++ ist eine produktbezeichnung vom micro$oft basierend auf einem C++ compiler mit ms-eigenen erweiterungen (ein C compiler ist aber auch dabei), hauptsächlich gedacht für die programmierung unter windows. es gibt aber auch embedded-VC++ für ARM-basierte PDAs, die unter Win-CE laufen.
    ANSI-C ist die standardisierte variante von C: http://www.open-std.org/jtc1/sc22/wg14/
    C99 ist der aktuelle C-standard, es sind aber heute noch sehr viele C89 bzw. C90 compiler, also die vorgängerversion, im einsatz.
    🙂



  • also ich muss mal sagen bis jetzt TOP hilfe hier .und @ Badestrand genau solch informationen brauch ich!das hatte mich halt sehr verwirrt mit den IDE's , ich selber besitze die 2005er schon ,nur als ich das erste projekt startete war ich halt verwirrt ( MFC ) 1000 deklaration / lib aufrüfe etc.. sprich 0 durchblick(meinerseits).und ich glaube nciht das der einstieg in visual c++ mit dem ganzen scheiss MFC fuer mich sinnvoll ist.und was ich in der kurzen zeit in erfahrung bringen konnte war das die MFC sowieso eher benuzt wird um den umgang mit der WinAPI zu vereinfachen.daher fand ich "dev cpp" nicht schlecht , schlicht einfach ,strukturiert , doch hätte ich einige vor oder anchteile dadurch ? in bezug aug GUI oder sonstwas ?



  • @Undertaker & badestrand , hammer jungs ! ? ! ich war vorher in 2 anderen foren und niemand war in der lage wie ihr beide das thema am schopfe zu packen.jungs ihr wisst echtnicht was mitr fuer ein dicker stein vom herzen gefallen ist ! HAMMER ! diese art der orientierung brauchte ich !ich glaube ich werde mich mal jetzt mit c++ und der IDE : visual studio 05 befassen ! währe echt nett wenn wir Msn / icq usw.. austauchen koennten.danke euch beiden ! !



  • also devcpp ist nun wirklich schon alt und hat bugs und wird nicht mehr weiterentwickelt. Der vorreiter in den opensourdce-ides ist wohl code::blocks (www.codeblocks.org) Ich kann dir aber auch nur wärmstens Visual C++ 200 Express empfehlen, oder wenn du sogar hast, dann natürlich das visual studio, das is nochn zacken besser 🙂

    Und du musst bei VC (=IDE Visual studio C++) nicht mit der MFC programmieren, kannst auch ganz einfache Konsolenrogramme machen. Dazu gehst du auf
    Datei->neues Projekt->links in der Liste Win32 wählen

    und rechts nimmst du dann Konsolenanwendung, dann kommt ein ganz einfaches Projekt raus, wo du auch die normalen tutorials und sowas mit durcharbeiten kannst.

    Ansonsten, meine Empfehlung: Wenn du schon ein wenig erfahrung mit Programmierung hast, würde ich gleich zu C++ raten (aber da scheiden sich die geister). Mit C kann man sich ganz schön den Stil versauen und so. Also lieber gleich C++.

    Joa... also auf alle fälle VS (visual studio) benutzen 🙂
    oder eben codeblocks wenn du unbedingt willst, ich finds aber nicht so gut. Schon der debugger ist im gegensatz zu VC viel schlechter



  • skenter schrieb:

    @Undertaker & badestrand , hammer jungs! ? ! ich war vorher in 2 anderen foren und niemand war in der lage wie ihr beide das thema am schopfe zu packen.jungs ihr wisst echtnicht was mitr fuer ein dicker stein vom herzen gefallen ist ! HAMMER !
    diese art der orientierung brauchte ich !

    ach, keine ursache. die meisten sind eigentlich ziemlich hilfsbereit hier.
    und, wie Badestrand schon sagte, bei konkreten fragen geh' in die fachforen (z.b. winapi) und frag' den leuten löcher in'n bauch 😉

    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.
    🙂



  • skenter schrieb:

    @Undertaker & badestrand , hammer jungs ! ? ! ich war vorher in 2 anderen foren und niemand war in der lage wie ihr beide das thema am schopfe zu packen.jungs ihr wisst echtnicht was mitr fuer ein dicker stein vom herzen gefallen ist ! HAMMER ! diese art der orientierung brauchte ich !ich glaube ich werde mich mal jetzt mit c++ und der IDE : visual studio 05 befassen ! währe echt nett wenn wir Msn / icq usw.. austauchen koennten.danke euch beiden ! !

    Ja, kein Ding, man hilft doch gerne 🙂 Wegen ICQ schreib mir einfach ne Mail, links übers Benutzerprofil.



  • Für einen Anfänger finde ich Visual Studio recht erschlagend. Ist zwar großartig aber zu umfangreich.

    Also Visual Studio ist auch meine Favorit aber ich würde denoch empfehlen den Anfang mit Gcc / MinGW / Kommandozeile und dann DevCpp oder CodeBlocks zu machen. So kannst Dich erstmal einlesen was der Compiler macht, wie man den Linker benutzt, was der Präprozessor macht, wie man Headerfiles includiert und wie man zusätzlichen (also entweder fremde noder eigenen) Source mit in sein Projekt einbindet.

    Das Problem ist das wenn man fremden Source compilen will, das da nur in den seltensten Fällen Projektfiles mit dabei sind und man ohne die überhaupt nicht weiß wie man das compiled bekommt besonders wenn es noch mehr Abhängigkeiten zu externen Projekten gibt.

    Kurz nachdem man das durch hat kann man dann auch eine richtige Ide nehmen. Aber die Grundlagen zu wissen wie es auch ohne geht finde ich schon wichtig.



  • 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"?


Anmelden zum Antworten