Abgesehen von diesen sehr einfachen Hello World-Apps frage ich mich, welche anderen Programme ich zum Lernen entwickeln soll. Ich gehe nächstes Jahr zur Uni und frage mich, welche Programme in dieser Umgebung entwickelt werden.
das ist nicht wirklich eine sprachspezifische sache, aber wenn du wissen willst was ich momentan hauptsächlich benutze
- windows: C # / WPF - Ich habe Java / VB usw. in Poly studiert, aber ich denke, C # ist der richtige Weg, vielleicht sogar F #.
- Web: PHP / MySQL, Zend Framework / Doctrine, + HTML / CSS / JS (jQuery) natürlich. auf der Suche nach Google App Engine mit Python zu versuchen.
für jetzt denke ich an
- Aufgabenlisten
- Apps, die sich in die API integrieren, z. twitter / tumblr die ich benutze
Texteditor - Ich versuche derzeit, einen Texteditor zu entwickeln, der Markdown verwendet und HTML-Dateien zum Anzeigen generiert (Link zum Blogeintrag). nicht sehr praktisch, nachdem ich angefangen habe, es zu entwickeln. cos, wenn Sie theres keine Formatierung und im HTML-Format redigieren, kann ich nicht direkt redigieren
Blog-Software (für das Web)
quelle
Ich schreibe zur Zeit einen regulären Ausdruck Parser / Matcher und seine Lehre mich eine riesige Menge über das Parsen und endliche Automaten und regulären Ausdrücken sich unter anderem. Der Grund, warum ich einen Regex- Parser für besonders nützlich halte , ist, dass die Regex-Sprache klein und in ihren Möglichkeiten ziemlich begrenzt ist.
Ich habe auch einen Dolmetscher für Ook geschrieben! , das ist eine einfache Aufgabe, aber noch einmal lehrt Sie eine Tonne.
quelle
CodePlex.com listet viele Open Source-Projekte auf, die mit C # erstellt wurden. Sie könnten einen Blick auf die Website werfen, um einige Ideen zu bekommen.
quelle
Sie können sich auch TopCoder ansehen . Diese Seite hat großartige Algorithmen zu lernen und sie führen von Zeit zu Zeit Wettbewerbe durch. Der wichtige Vorteil dieser Site ist, dass Sie anderen Quellcode für ein bestimmtes Problem anzeigen und mehr darüber erfahren können.
Und auch auf den SE-Seiten muss man sich CodeGolf ansehen .
quelle
(Dies ist meistens eine mata Antwort und keine Projektliste.)
Überlegen Sie, warum Sie das Programm schreiben: Wird es für sich genommen nützlich sein oder ist es nur dazu gedacht, einen Aspekt eines Tools / einer API / einer Sprache zu lernen?
Im letzteren Fall ist es von Vorteil, wenn das resultierende Programm so kurz wie möglich ist und nur als Referenz dient.
Im ersten Fall, warum sollte das Lernen nicht in jeder Hinsicht auf bewährte Verfahren ausgeweitet werden: Nehmen Sie an, Sie müssen es warten und erweitern. Verwenden Sie daher Versionskontrolle, Fehlerverfolgung, Refactoring, Komponententests usw., da all diese Dinge für einen Entwickler mindestens genauso wichtig sind wie die Kenntnis einer anderen API.
Wie wäre es mit einem Feed-Integrator:
(Die Idee ist, sich auf die Integration verschiedener Implementierungen desselben Paradigmas zu konzentrieren: geplanter HTTP-Abruf eines RSS-Feeds vs. Twitter-API vs.
quelle
Ich habe viel gelernt, an solchen Hobbyprojekten zu arbeiten:
Ganz zu schweigen davon, dass es unglaublich viel Spaß macht, mit solchen Projekten zu arbeiten :-).
quelle
Programmiere ein kleines Spiel: Es macht Spaß und du lernst viel.
Einige Ideen:
Und wenn es fertig ist, warum nicht eine Highscore-Website implementieren ...
quelle
Entwickeln Sie eine Kochbuchanwendung .
quelle
Spyrograph. Geben Sie die Abmessungen eines Außenrings, einer Innenscheibe und einer Stiftspitze entlang ihres Durchmessers an. Zeichnen Sie den Pfad des Stifts, während die innere Scheibe an der Innenseite des äußeren Rings entlang rollt.
Maker wechseln. Eingabekosten und Betrag werden dem Kassierer mitgeteilt. Berechnen Sie das Optimum für den Kassierer, um Änderungen vorzunehmen. Es gibt einen langsamen und einen schnellen Weg, dies zu lösen. Finden Sie den schnellen Weg.
OO-Life-Simulation. Nachschlagen des Lebensalgorithmus. Machen Sie einen zufälligen Startzustand und geben Sie nachfolgende Schritte aus, indem Sie OO-Design verwenden, um die Logik von der Präsentation zu entkoppeln. Geben Sie Text und Grafiken aus.
Missionary / Cannibals Solver, Schau dir dieses berühmte Rätsel an. Schreiben Sie ein Programm, um es mithilfe von Suchbäumen zu lösen. Vergleichen Sie BFS mit DFS.
quelle