Was kommt nach den Grundlagen?
-
Hallo,
ich habe mir ein C++ Buch gekauft und gut durchgelesen. Ich kann jetzt also die Grundlagen von C++. Also Schleifen, Verzweigungen, Funktionen, Klassen und soweiter. Ich wisst das ja.Doch irgendwie weiss ich nicht, was ich mit diesem Wissen anfangen kann. Mir fehlt jegliche Kreativität ein Programm zu schreiben, was vielleicht auch andere Benutzer bräuchten.
Ich komme einfach nicht von den Codebeispielen und einfachen Dingen weg. Und jetzt wollte ich euch, als Programmierer fragen, ob ihr eine Idee habt, wie ich diese "Kreativität" erlange, um auch wirklich etwas produktives zu erstellen.
Ein Programm das ich auch weitergeben kann. Das ist eigentlich mein Ziel, aber ich weiss nicht, wie ich soetwas mache.Gruß
-
Ich weiß ja nicht wie alt du bist, aber früher (ganz früher) hab ich mal ein Programm geschrieben, dass Matheaufgaben lösen konnte. Genauer gesagt Quadratische Gleichungen. Das Programm hat damals fleißig meine und die Hausaufgaben meiner Mitschüler gelöst.
[in alten Zeiten schwälg]
Mein Erfahrungen gingen damals gen Null. Wir lernten in der Schule gerade Turbo Pascal. Allerdings kannte ich nur die while-Schleife, kein if-Verzweigungen. Also habe ich immer mit while überprüft und dann die Bedingung zurückgesetzt. Das war ein Spaghetti-Code...
[/in alten Zeiten schwälg]Zurück zum Thema: Mathe-Programme lassen sich noch recht gut in der Konsole darstellen und sind für den Anfang recht gut geeignet. Tic-Tac-Toe liesse sich dort auch noch machen. Dafür brauchst du aber schon ein wenig (keine Angst, wirklich nur ganz wenig) Ahnung von KI.
Gruß
Don06
-
wenn du ein programm schreiben willst, was andere brauchen können, dann musst du wissen, was andere brauchen.
Hm... das ist nicht leicht, sowas zu machen, denn eigentlich gibt es schon für alles ein programm was man nur machen möchte
Standard-programme sind so addressbuch, kalender, telefonbuch oder ein text-adventure oder rollenspiel. Aber wenn du die Grundlagen beherrschst, kannst du auch mit GUI-Programmierung oder Grafikprogrammierung anfangen. Also zB kannst du versuchenh mit SDL oder Direct3D ein Pong-Klon zu schreiben. Davon hat zwar keiner was, aber es macht spaß und du lernst noch was.
Red mit Kumpels, was sie am Pc nervt, was sie immer wieder selber machen müssen, und so. Vielleicht kommst du dann auf eine Idee, was man brauchen könnte, oder du kannst dem einen kumpel damit dann wenigstens helfen.Ich hab zB lezttens für meinen Vater ein Tool geschrieben, welches eine CSV-Tabelle umformatiert, weil es dafür nichts gab. Also hab ich das schnell gemacht.
-
Hi,
ich kann Dir nur sagen, wie ich es gemacht habe. Nicht um das programmieren zu lernen, sondern so neben meiner normalen Programmier-Arbeit.
Da ich Mecklenburg-Fan bin und wärend der Arbeit immer mal gerne für einen Moment auf die WebCams an der Küste gucke, ein kleines Tool, mit dem ich nicht erst suchen muß, sondern das mir die voreingestellten Webcams auf Knopfdruck abruft. Mit zwei Standard-Webcams und der Rest durchklickbar. Was ist heute in Boltenhagen für Wetter - ein Klick und ich weiß es.
Ein Kollege brauchte den genauen Farbwert einer Fläche auf einer Grafik für seine HTML-Programmierung - ein keines Programm mit dem er das Bild lädt und auf die gewünschte Stelle zeigt. Zusätzlich geht das ganze auch als Bildbetrachter oder zum ausdrucken. Sicher geht das auch mit anderen Programmen, aber da für das sozusagen der Rohling schon da war, war es ein minimaler Aufwand und rausgekommen ist ein einfachstes Programm nur für diesen einen Zweck.
Chef wollte ein kleines Programm, womit er seine ganzen Dokumente, pdfs, ... auf dem Rechner verwalten konnte, mit Autor, Titel, Pfad, Jahr, Kategorie, Stichworten, Bemerkungen einschließlich Filter- und Suchfunktionen. Sicher gibts da schon fertiges, aber Chef wollte was genau auf ihn zugeschnittenes.
Oder ein anderes Beispiel. Für bestimmte Aufgaben muß ich sehr viel in Datenbank-Dateien rumwühlen und recht umpfangreiche Auswertungen machen. Datenbank-Explorer von Borland war der erste Anlauf. Aber viel zu spröde. Also ein eigenes kleines Tool geschrieben, das das besser kann. Und jedes mal, wenn irgend was gebraucht wurde, was das Tool so noch nicht konnte, das Tool entsprechend erweitert. Mittlerweile ist es schon eine recht umfangfgreiche kleine eierlegende Wollmilchsau geworden, die gegenüber dem ursprünglichen Datenbankexplorer den Vorteil hat, nicht so viel eingabeaufwand zu erfordern, weil man vieles mit der Maus zusammenklicken kann und bestimmte sachen von vorverdratet sind. Das ganze Programm ist nie irgendwie konzipiert, sondern immer nur auf den eigenen Leib geschrieben. Ich wollte ein Hilfsmittel, mit dem ich optimal arbeiten kann, und genau das ist im Lauf der Zeit daruas geworden.
Den gleichen Weg würde ich Dir auch für den Einstieg empfehlen. Immer wenn Du irgendwas brauchst überlegen, ob Du es dir nicht selber schaffen kannst. Das sind dann die Programme, die das leben schreibt, die sicher nicht Vorzeigeprogramme sind, aber an denen Du viel lernen kannst und die Dir wirklich Nutzen bringen.Gruß Mümmel das Mümmel
-
Nach den Grundlagen sind Bücher über einige wichtige Algorithmen immer eine gute Anlaufstelle. Allen voran Knuths "The Art of Computer Programming" . Derartiges beschäftigt Einen und man bekommt ein paar Werkzeuge an die Hand mit denen auch was anzufangen ist.
Danach oder mittendrin ist es wohl nützlich sich ein Gebiet auszusuchen was einen anspricht, dass Interesse weckt. Bei mir war es damals die Grafikprogrammierung, jedoch verlief sich das recht schnell, es hat mich einfach nicht "angemacht". Dafür fand ich dann eine Ersatzbefriedigung.
Schau einfach mal im Netz was dich so interessieren könnte, nicht was andere brauchen, sonst kannst du unter Umständen schnell die Lust verlieren.tt
-
Hm.. vielleicht habe ich mich falsch ausgedrückt. Aber es geht mir nicht um die Grundidee, was ich machen kann/woll, sondern wie ich das umsetzen kann.
Zum Beispiel wäre ein TicTacToe ja als Anfängerprogramm ganz nett. Doch ich weiss einfach nicht/kann mir nicht vorstellen wie ich mit meinen Grundlagen ein solches Spiel programmieren soll. Mir fehlt einfach die Kreativität für das Programmkonzept.
Gruß
-
Schau mal im Magazin. Da wird ein solches Spiel mit wxWidgets programmiert, dass ist ddann gleich eine richtige Weiterführung.
-
Ja, programmieren != Programme erstellen

Überleg mal, wie du das auf dem Papier angehen würdest. Der Computer kann nicht denken, sondern arbeitet jeden Schritt linear ab.
Weil es keine Funktion wie "MacheTicTacToe()" gibt, musst du eben überlegen, wie man das schrittweise angeht.
Zu erst brauchst du eine Schleife, für den Spielablauf.
Dann darf der Spieler einen Zug machen (was genau ist "Einen Zug machen"?), dann ist der Computer dran.
Dann prüfst du, wie die Werte im Spiel momentan sind und handelst entsprechend.
Wie gesagt, geh in ganz kleinen Schritten vor.
Frag dich selbst:
Wie funktioniert "etwas"? Und dann versuchst du, das programmtechnisch umzusetzen.
-
TheShadowdx schrieb:
...
Zum Beispiel wäre ein TicTacToe ja als Anfängerprogramm ganz nett. Doch ich weiss einfach nicht/kann mir nicht vorstellen wie ich mit meinen Grundlagen ein solches Spiel programmieren soll. Mir fehlt einfach die Kreativität für das Programmkonzept.
GrußDann bist du noch nicht so weit. Nach den Grundlagen der Programmiersprache solltest du dich als nächstes mit etwas komplexeren Datenstrukturen auseinandersetzen, sprich Stacks, Listen, Schlangen und Bäume. Das ist nicht zu schwer, überschaubar und es gibt viel Literatur zu dem Thema. Danach, bzw. parallel beschäftige dich mit Algorithmen, die auf solchen Datenstrukturen operieren.
Das sind die nächsten folgerichtigen Schritte, denn Variablen werden zu Datenstrukturen zusammengefasst und Anweisungen zu Algorithmen.Nach und nach wirst du intuitiv erkennen, welche Datenstruktur welcher Problemstellung (z.B. TicTacToe) zugrunde liegt. Mit zunehmender Erfahrung wirst du immer mehr und immer komplexere Algorithmen kennenlernen und damit auch eine Vorstellung davon kriegen, wie bestimmte Dinge funktionieren.
Geh nicht über ein Thema hinweg, ohne es vollständig verstanden zu haben, aber bleib auch nicht ewig bei den Grundlagen hängen. Wenn du es dir leisten kannst, kauf Bücher - aber die richtigen. Nämlich die, von denen die Billigautoren alle abschreiben. Im Zweifelsfall frag in einem Forum nach.
Welchen Compiler, ggf. welchen Editor benutzt du?
-
Ich benutze die Anjuta IDE und G++, das ich Linuxuser bin.
Danke für eue Tips!
Könnt ihr mir irgendwelche Bücher empfehlen?
-
TheShadowdx schrieb:
Hm.. vielleicht habe ich mich falsch ausgedrückt. Aber es geht mir nicht um die Grundidee, was ich machen kann/woll, sondern wie ich das umsetzen kann.
Zum Beispiel wäre ein TicTacToe ja als Anfängerprogramm ganz nett. Doch ich weiss einfach nicht/kann mir nicht vorstellen wie ich mit meinen Grundlagen ein solches Spiel programmieren soll. Mir fehlt einfach die Kreativität für das Programmkonzept.
Gruß
wozu bruachst du da kreativität?
erstmal musst du dich schlau machen( wenn du es nicht schon vorher weisst
)wie tic,tac,toe eigentlich funktioniert. dann nimm dir doch mal nen stift und blatt papier und mal dir erstmal das grundlegende aussehen auf zb: player namen, punktestand://Konsolenfenster: +----------------------------------------------------------------+ | Es spielen: Player1 (x) vs. Player2 (o) | |----------------------------------------------------------------| | | | Player1 du bist am zug! | | | | 1 2 3 | | +------+------+------+ | | a | | | | | | | | | | | | +------+------+------+ | | b | | | | | | | | | | | | +------+------+------+ | | c | | | | | | | | | | | | +------+------+------+ | | | | wo moechtest du dein symbol setzen? x/y | +----------------------------------------------------------------+so in etwa sieht dann dein grundgerüst aus, dass versuch doch erstmal zum laufen zu kriegen und dann kannste dir um kleine feinheiten den kopf zerbrechen.
Hoffe es hilft dir etwas

Gruß Tobi.
-
Natürlich weiss ich wie sowas aussieht und wie TicTacToe funktioniert aber ich kann mir nicht vorstellen z.B. mit Array so ein Spielfeld zu erzeugen. Geschweige denn die Daten zu verarbeiten.
-
was da so schlimm nen array mit der matrix 3x3?
Geschweige denn die Daten zu verarbeiten.
dann kannst du wohl doch nicht die Grundlagen oder wie?
-
T0bi schrieb:
was da so schlimm nen array mit der matrix 3x3?
Geschweige denn die Daten zu verarbeiten.
dann kannst du wohl doch nicht die Grundlagen oder wie?
Doch sicher aber ich kann es mir nicht vorstellen mein Wisssen zu nutzen, das ist ja das Problem.
-
tjo dann gib dir mühe, nicht das du nachher noch auf deinem Wissen sitzen bleibst

Wie schon gesagt der Grundstein ist gelegt.
Gruß Tobi.
-
TheShadowdx schrieb:
T0bi schrieb:
was da so schlimm nen array mit der matrix 3x3?
Geschweige denn die Daten zu verarbeiten.
dann kannst du wohl doch nicht die Grundlagen oder wie?
Doch sicher aber ich kann es mir nicht vorstellen mein Wisssen zu nutzen, das ist ja das Problem.
Dann gibts wohl nur: Programmieren, Programmieren, Programmieren.
Wenn dein Buch Uebungsaufgaben enthaelt, die du noch nicht gemacht hast, dann mach diese. Sonst such dir im Internet welche. Und irgendwann wirds dann sicher auch mit dem Tic Tac Toe klappen. Sobald du dann das Gefuehl hast, die Grundlagen zu beherrschen (und nicht nur zu kennen), wirds Zeit fuer ein fortgeschritteneres Buch um deinen Stil zu verbessern (i.d.R. waere das dann "Exceptional C++", aber wie gesagt, erstmal viel programmieren).
-
bei mir im Studium konnten die meinsten Studenten zwar erklären was ne klasse ist, oder wie ne schleife funktioniert, als grob den Code erklären welche vor innen lag. Aber wenn es darum ging ein Programm oder Klassenstruktur zu designen nach ner best. Aufgabenstellung, dann war fertig.
Um kreativ zu werden, bzw. aufgaben stellung in Klassenstrukturen und Objekthierachien zu modelieren bzw. Algorithmen zu erstellen, kann man so nich nicht aus nem Buch lernen. Klein anfangen und immer komplexere strukturen entwickeln... routine routine routine...
Also die Grundlagen reichen nicht aus, um gleich ein kompelxes programm zu coden...;)
-
Hi,
ähnlich wie bei uns im Studium in Mathe. Eine konkret an die Tafel geschriebene Aufgabe ausrechnen konnten die meisten, aber mit den sogenannten Textaufgaben hatten wirs alle nicht so gerne. Dabei waren das, wie unser Mathelehrer sagte die Aufgaben die das Leben stellt.
So ist es auch heute noch. Das reine Kodieren eines fertigen Lösungsweges ist Pillepalle. Aber erst mal erkennen, was überhaupt gesucht wird. Und sich dann darüber im klaren werden, wie man dahin kommt. Das kann einem kein Buch wirklich abnehmen. Das lernt man nur beim machen.
Programmieren kann keiner nach einem Buch allein lernen, damit lernt er nur die Sprache und eventuell gewisse handwerkliche Regeln. Aber das Erkennen des Problems und des Weges zu seiner Lösung, das Schärfen des eigenen Blicks für die Dinge ist Fleisarbeit und dicke Bretter bohren. Um die Mühen der Ebene kommt man dabei nicht drumrum, und das kann einem auch keiner abnehmen.Gruß Mümmel das Mümmel