C++ lernen / Programme schreiben



  • lass mich raten, deine Träume sind irgendwelche beknackten Shooter zu basteln? 🙄
    Vergisses



  • franz schrieb:

    Außer vllt. so kleine abgefahrene Freaks, die mit Nachnamen Torvalds heißen - aber die nehmen wohl auch eher C 😉

    Der kann doch noch nicht mal jetzt richtig C++ programmieren.



  • Also wenn ich etwas Programmieen würde als omit DX9 dann würde es KEIN Shooter werden 😉 Da gibts echt genug ich sag nur Youtube c++ Shooter

    Viel Spaß beim Suchen 😉



  • Du kannst dir Tonnenweise Programmierbücher (C++) reinziehen, aber ohne Programmierpraxis nützt dir das alles nichts. Und die Praxis ist aufwendig (vor allem, wenn man das nicht schon beruflich machen kann).

    Und was heisst "beherrschen"? - Da gibt es viele Stufen, aber nach 3 Monaten ist man noch nicht sehr weit. (Auch bei täglicher Beschäftigung). Und ich würde auf solche Meinungen nichts geben. Sondern einfach anfangen, ein guetes Buch kaufen, danach dir überlegen, was du so machen willst und dir andere Bücher kaufen. (natürlich immer mit Projekten nebenbei, wo du alles umsetzt und die Probleme gleich selbst miterlebst.)

    So einen Bildeditor kann man vlt. nach 6-12 Monaten mal Anfangen (wenn man die Sprache von Anfang an lernt). Es ist noch kein Photoshop, aber man kann sicher einfache Dinge bereits umsetzen. (kommt halt auch auf die verwendete Lib an). Und dann kannst du das Programm immer weiter ausbauen und das schönste an einem Hobbyprojekt ist, dass du nach einem Jahr deinen Code anschaust und denkst, dass kann es doch nicht sein und alles nochmal von Anfang an programmieren und dann auch das umsetzen, was du beim ersten mal versäumt hast. (Das geht bei einem kommerziellen Produkt leider nicht).



  • drakon schrieb:

    Du kannst dir Tonnenweise Programmierbücher (C++) reinziehen, aber ohne Programmierpraxis nützt dir das alles nichts. Und die Praxis ist aufwendig (vor allem, wenn man das nicht schon beruflich machen kann).

    Und die Ironie bei der Sache ist, dass Berufspraxis oft dazu führt, dass man genug Training bekommt, dieses aber auf den Betrieb und die Anforderungen zugeschnitten ist und man so viele Teile einer Programmiersprache nicht ausreichend zu Gesicht bekommt. Ich beispielsweise bin eher ein C-Programmierer, der auch Klassen benutzt. Viele, gerade hier im Forum, verurteilen sowas, aber in meinem Betrieb gehts nicht anders. Wir programmieren hier zu 50% C (der Rest C++ und ein wenig LabView), alles muss untereinander funktionieren, man muss sich an gewisse Vorgehensweisen halten, damit auch alle anderen mit dem geschriebenen Code klarkommen, und zu guter letzt muss ein Projekt immer vorgestern fertig sein. Da hat man kaum die Zeit, sich eingehend mit Templates oder anderem C++-Kram zu beschäftigen. Man übernimmt (wenn man die Sprache im Betrieb lernt, so wie ich) automatisch den Stil der Firma, wenn man so will. Gleichzeitig sorgt die Arbeit dafür, dass ich nicht genug Freizeit habe, um mich zuhause auch noch vor die IDE zu setzen (man hat ja noch andere Hobbies). Ich denke, so geht es vielen. Und das Schlimme an der Sache: es stört mich noch nicht mal besonders! Ein Teufelskreis! 😉



  • _matze schrieb:

    drakon schrieb:

    Du kannst dir Tonnenweise Programmierbücher (C++) reinziehen, aber ohne Programmierpraxis nützt dir das alles nichts. Und die Praxis ist aufwendig (vor allem, wenn man das nicht schon beruflich machen kann).

    Und die Ironie bei der Sache ist, dass Berufspraxis oft dazu führt, dass man genug Training bekommt, dieses aber auf den Betrieb und die Anforderungen zugeschnitten ist und man so viele Teile einer Programmiersprache nicht ausreichend zu Gesicht bekommt. Ich beispielsweise bin eher ein C-Programmierer, der auch Klassen benutzt. Viele, gerade hier im Forum, verurteilen sowas, aber in meinem Betrieb gehts nicht anders. Wir programmieren hier zu 50% C (der Rest C++ und ein wenig LabView), alles muss untereinander funktionieren, man muss sich an gewisse Vorgehensweisen halten, damit auch alle anderen mit dem geschriebenen Code klarkommen, und zu guter letzt muss ein Projekt immer vorgestern fertig sein. Da hat man kaum die Zeit, sich eingehend mit Templates oder anderem C++-Kram zu beschäftigen. Man übernimmt (wenn man die Sprache im Betrieb lernt, so wie ich) automatisch den Stil der Firma, wenn man so will. Gleichzeitig sorgt die Arbeit dafür, dass ich nicht genug Freizeit habe, um mich zuhause auch noch vor die IDE zu setzen (man hat ja noch andere Hobbies). Ich denke, so geht es vielen. Und das Schlimme an der Sache: es stört mich noch nicht mal besonders! Ein Teufelskreis! 😉

    Klar. Das ist schon ein Problem und somit sollte man (imo) eine Sprache für sich lernen, da man dann nicht schon von vornherein die Fehler von den Leuten übernimmt, die den Code einmal ano dazumal geschrieben haben. Das gibt dann auch einen kritischeren Blick und fragt sich dann, warum etwas auf diese Art gemacht worden ist, obwohl man selber weiss, wie es auf die andere Art besser ginge. Nur leider, wenn man neu bei einer Firma anfängt und den Code sieht sollte man nicht gleich alles in Frage stellen, auch wenn man es weiss, dass es anders ginge. Man muss sich halt wiederwillig an die Codetechniken anpassen, auch wenn sie einem nicht passen. Aber das ist ja das leidige Problem das Codequalität einfach kein Geld bringt. (zumindest nicht aktiv und somit gerne unter den Teppich vergraben wird).



  • Ich will gar nicht behaupten, dass unser Code grundsätzlich schlecht ist, im Gegenteil. Man findet viele interessante Konstrukte darin. Unser C-Source ist strikt objektorientiert (Handle-structs); es wird dafür gesorgt, dass sich Wrapper aus Sicht des Aufrufers eigentlich nie ändern müssen; der Aufrufer hat z.B. auch keine Möglichkeit, Elemente eines Handles selbst zu ändern - durch globale Dummy-Typen ist der Typ zwar bekannt und kann weitergereicht werden, es kann aber nicht auf die Elemente zugegriffen werden - ; es wird viel Code automatisch generiert, um z.B. das Zugreifen auf Funktionen aus DLLs super-einfach zu gestalten (hier muss sich keiner mit LoadLibrary und GetProcAddress rumschlagen, eine DLL wird bei Bedarf geladen, Prototypen werden automatisch in globalen Headern generiert), usw. Da passiert mehr, als viele Leute C zutrauen. Aber es ist halt C, und auch die C++-Module sind entsprechend mehr C als C++. Die STL wird recht selten bemüht, eigene Template-Klassen habe ich noch gar nicht entdeckt (na ja, vielleicht verstecken die sich doch noch irgendwo in den 500.000 LOC 😉 )... ich würde mir halt einfach ein wenig mehr C++ wünschen, damit meine eigenen Kenntnisse etwas gefördert werden. Aber wie gesagt, ich wollte unseren Code nicht schlechtreden.

    EDIT: Doch, eine Sache will ich schon noch bemeckern. Unser Source ist zu großen Teilen kaum bzw. gar nicht kommentiert! Das macht das Verstehen von Projekten, die man plötzlich zugeteilt bekommt, nicht immer einfach. Hier greift auch dein Argument, dass Codequalität nicht profitabel ist. Wer sich vornimmt, im Anschluss ausführlich und sinnvoll zu kommentieren (denn erstmal muss der Termin eingehalten werden), macht es ja sowieso nicht, da dann schon das nächste Projekt wartet...



  • Das ist halt das Problem an "alten" Projekten. Sie wachsen organisch und zu dieser Zeit hatten die wahrscheinlich noch gar nicht die Möglichkeit C++ zu nutzen, respektive sie waren noch Meilenweit davon entfernt, dass man die Features wirklich brauchen konnte.
    Wie du sagst ist Firmerinterner Code meist kaum dokumentiert und man muss sich die Strukturen und Techniken aus dem Code lesen, oder man bekommt es von jemandem gesagt, aber es gibt kaum so etwas, wie etwas, dass dir die grössere Struktur erklärt, was es bei offenen Libs ja zu Hauf gibt und sich so jeder da recht schnell einarbeiten kann. Aber wozu sollte man das auch machen, wenn der Code läuft? 😉

    btw:
    Darf ich fragen, wo du arbeitest?



  • drakon schrieb:

    btw:
    Darf ich fragen, wo du arbeitest?

    In welchem Bereich? AOI-Systeme (also Hardware-Ansteuerung und Bildverarbeitung).



  • _matze schrieb:

    drakon schrieb:

    btw:
    Darf ich fragen, wo du arbeitest?

    In welchem Bereich? AOI-Systeme (also Hardware-Ansteuerung und Bildverarbeitung).

    Ich habe Firma gemeint. 😉



  • @JENS SCHLAU

    Klick!



  • _matze schrieb:

    [Ich beispielsweise bin eher ein C-Programmierer, der auch Klassen benutzt. Viele, gerade hier im Forum, verurteilen sowas, aber in meinem Betrieb gehts nicht anders...

    Was ich bei sowas verurteile ist nicht, das es in der Praxis vorkommt, sondern das man solches Wissen teilweise als C++ vermittelt. Und ich glaube das geht anderen auch so.

    Ich hatte in keiner Firma bislang wirklich sauberen C++ Code, aber in meiner aktuellen Firma haben sie mir relativ freie Hand bei der Programmierung gegeben, und sind manchmal doch über die Ergebnisse erstaunt (wenn z.B. aus einem 20ig Zeiler ein 4 Zeiler mit STL-Einsatz wird, der sogar noch besser lesbar ist...

    cu André



  • Ich will keine Spiele, sondern (erstmal) Programme für Vista programmieren.

    Online gibt es wenig gute Tutorials ... 😮😮😮
    Kann mir einer ein Buch (25 Euro sind ideal) empfehlen ?
    Sonst greife Ich zu den Werken des Franzi's Verlag's. Die haben gute Autoren am Start. 🙂💡





  • drakon schrieb:

    _matze schrieb:

    drakon schrieb:

    btw:
    Darf ich fragen, wo du arbeitest?

    In welchem Bereich? AOI-Systeme (also Hardware-Ansteuerung und Bildverarbeitung).

    Ich habe Firma gemeint. 😉

    Nee, sorry... 🕶



  • [quote="JENS SCHLAU"]Ich will keine Spiele, sondern (erstmal) Programme für Vista programmieren.[quote]

    Also so schlau muss man wirklich nich sein um exakter lesen zu können!

    tja tja...



  • JENS SCHLAU schrieb:

    Ich will keine Spiele, sondern (erstmal) Programme für Vista programmieren.

    Vista ist aber bald tot. Warum sprichst du Vista an? Du solltest lieber lernen Programme zu schreiben die auf allen gängigen OS' funktionieren.



  • Wahrscheinlich meint er für Windows



  • JENS SCHLAU schrieb:

    Ich selber bin sehr lernfähig (was ärtzlich nachgewiesen wurde).

    😃 😃 😃

    JENS SCHLAU schrieb:

    Ich will keine Spiele, sondern (erstmal) Programme für Vista programmieren.

    Erstmal solltest du dich mit Standard C++ beschaeftigen - und das bedeutet plattformunabhaengiges programmieren.

    Ich kann dir C++ von Ulrich Breymann empfehlen. Das arbeite ich zurzeit selbst durch und bin sehr zufrieden damit

    Gruss
    Cartman



  • Ich hab mir wo ich angefangen habe Bücher von Galileo-Computing geholt und ich bin mit denen Recht zufrieden^^

    http://www.galileo-press.de/?GalileoSession=78962616A34VF2AMoT8

    Ich würde dir "C++ von A bis Z" empfehlen, den genau das gleiche hab ich auch, da steht alles mögliche drin kostet aber jedoch 40€.

    Gruß, Wikinger75.

    PS: Ich bin auch 15^^


Anmelden zum Antworten