Das Lesen von Büchern, das Ansehen von Videos und das Lesen von Tutorials ist ganz einfach. Notizen zu machen und das Material tatsächlich zu lernen, mag etwas schwieriger sein, aber selbst dann ist es für jemanden mit einem anständigen Gehirn und einigem Interesse einfach genug (ganz zu schweigen von Spaß).
Die Sache ist, es bereitet dich nicht wirklich darauf vor, ein komplettes Programm oder eine Webseite zu schreiben. Nehmen wir an, Sie sind Teenager (nur in der Highschool, keine echten (College-) Informatik- oder Programmierkurse und keine echte Erfahrung), und Sie kommen mit Groupon heraus. Oder sogar Mark Zuckerburg, sicher ein Genie und ein sehr fähiger Programmierer ... aber wie?
Wie empfehlen Sie Leuten, die nicht unbedingt neu in der Programmierung sind, sondern neu in der Programmierung realer Anwendungen und realer Programmierer, diese zu entwickeln? Was ist der "Entwicklungsprozess" - besonders für einzelne Programmierer (oder vielleicht 2-3 Teenager)?
Wie sieht der Prozess für die Webentwicklung aus? Wurde so etwas wie Facebook oder Groupon mit einem Framework (wie CodeIgniter oder Zend for PHP) geschrieben? Oder entwickeln sie ihre eigenen Frameworks? Ich frage nicht, wie man eine gute Idee findet, sondern wie man gute Ideen effektiv umsetzt? Hat jemand einen Rat?
Ich habe ein paar Bücher über C und C ++ (hauptsächlich die Programmiersprache C und die Programmiersprache C ++) gelesen und AP Computer Science (sowie ein paar zusätzliche Bücher über Java und OOP) besucht. Ich habe auch ein paar Tutorials zu PHP (und CodeIgniter) und Python gelesen. Aber ich bin immer noch auf der Highschool und technisch gesehen noch nicht einmal alt genug, um noch ein paar Monate in einem Praktikum zu arbeiten.
Reading books, watching videos, and reviewing tutorials is all very easy
. Ja, sie zu lesen ist einfach, sie zu verstehen ist der schwierige Teil.Antworten:
Es gibt einen Unterschied zwischen dem einfachen Wissen, wie man programmiert, und dem Wissen, wie man ein Programm strukturiert (Softwarearchitektur).
In einem einfachen Buch über eine bestimmte Programmiersprache erfahren Sie nur, welche Tools Sie zum Einrichten der Architektur eines Programms verwenden können.
Es gibt auch Bücher, die Ihnen bei der Softwarearchitektur helfen. Themen, nach denen Sie suchen sollten, sind Designmuster , Softwareabstraktion , Softwarearchitektur / -design und vieles mehr ... ( Head First Design Patterns waren für mich ein echter Augenöffner.)
Für ein breiteres Spektrum von Ressourcen könnte diese Frage Sie interessieren.
Der beste Weg, um zu lernen, wie man ein gesamtes Programm richtig strukturiert, ist die praktische Erfahrung, bei der man Anregungen und neuen Techniken gegenüber sehr offen ist.
quelle
Es ist dasselbe sehr häufige Problem bei der (Indie-) Spieleentwicklung: wie man fertig wird.
Abgesehen davon, dass Sie sicherstellen, dass Sie dies können, weil Sie entweder über alle erforderlichen Kenntnisse verfügen oder bereit sind zu lernen - und Sie haben überprüft, dass andere Personen überprüft haben, dass dies nicht unmöglich ist ...
... die Hauptsache, die "Finishing" ermöglicht, ist das Setzen von Zielen .
Ziele sind das zu erreichende Ziel, sie müssen nicht beschreiben, wie Sie dorthin gelangen, sondern nur die grundlegenden Anforderungen / Funktionen, die Sie benötigen, um eine erste Version Ihrer App als "fertig" zu betrachten. Setzen Sie sich auch nicht zu spät Ziele.
Schreiben Sie Ihre Ziele irgendwo auf. Schreib es.
Sobald Sie sich Ziele gesetzt haben, müssen Sie nur noch Wege finden, diese zu erreichen. Das ist der berühmte "Weg", der interessanter ist als die Ankunft. Mach dir keine Sorgen, Mauern zu erreichen und herauszufinden, wie falsch du sein wirst. Meistens, wenn das Thema neu ist, werden Sie es falsch verstehen und lernen, warum und in der Lage zu sein, es richtig zu machen und sich gegenseitig einzurichten, um näher an die Ziele heranzukommen.
Sogar im Spieldesign wissen wir, dass Sie Ziele angeben müssen, um sicherzustellen, dass der Spieler auch abstrakt weiß, was er erreichen muss, egal auf welche Weise er es tut.
quelle
Viel über das Schwimmen zu lesen macht einen nicht zum Schwimmer. Natürlich bereitet es einen mit dem nötigen Wissen vor, um Schwimmer zu werden, muss man ins Wasser springen.
Ich sehe, dass viele Leute, die es getan haben, als darüber nachgedacht / gelesen haben, diejenigen sind, die Erfolg haben.
Wenn Sie ein Schwimmer sein wollen, springen Sie einfach ins Wasser und lernen Sie schwimmen, wenn Sie ein Programmierer sein wollen, beginnen Sie einfach mit einer Idee zu programmieren und lernen Sie das Programmieren.
Ich glaube, dass Peter Norvigs Essay hier relevant ist: Bringen Sie sich das Programmieren in 10 Jahren bei
quelle
Klingt so, als würden Sie sich zu sehr auf die Implementierungsaspekte von Software konzentrieren, die nur einen Bruchteil des gesamten Softwareentwicklungsprozesses ausmachen (siehe SDLC). Möglicherweise müssen Sie sich einige Softwaremethoden ansehen und lernen, eine zu verwenden, die Ihnen gefällt. Lesen Sie ansonsten Fallstudien, und finden Sie die Vor- und Nachteile der einzelnen Tools heraus, die Sie möglicherweise auch in Ihrer Software verwenden, und bewerten Sie sie. Nach einem kurzen Durchlesen Ihrer Frage müssen Sie sich möglicherweise auf die Analyse- und Entwurfsbereiche der Software konzentrieren und sich mit UML, Dekomposition und möglicherweise einigen Entwurfsmustern vertraut machen.
Hoffe das hilft..
quelle
Kurze Antwort, Ziele setzen und loslegen.
Es gibt kein Buch oder eine Möglichkeit, Ihnen dies beizubringen, sondern praktische Erfahrungen.
Sie werden viele Fehler machen und nach und nach Erfahrungen sammeln. Wenn Sie also auf ein Problem stoßen, überlegen Sie es sich und versuchen Sie, eine Lösung zu finden. Wenn Sie es nicht schaffen, gehen Sie zu Stackoverflow und holen Sie sich Hilfe. Lassen Sie auch Code-Reviews so früh und so viel wie möglich durchführen.
Nachdem Sie Ihr erstes Projekt abgeschlossen haben und die technischen Probleme gut verstanden haben, sollten Sie sich mit abstrakteren und übergeordneten Themen des Software-Engineerings befassen.
Mit Ihrem neu gewonnenen Bewusstsein für häufig auftretende Probleme erhalten Sie in den Büchern abstrakte Konzepte für sauberen und entkoppelten Code, da Ihr erstes Projekt ein unhaltbares Durcheinander sein wird.
Bücher (übliche Verdächtige):
quelle
An diesem Punkt müssen Sie aufhören, über das Programmieren zu lesen, und mit dem Programmieren beginnen. Wenn Sie eine Website erstellen möchten, lesen Sie ein Tutorial für das Framework Ihrer Wahl. Wählen Sie einfach eine, die Sie anspricht. In diesem Lernprogramm erfahren Sie, wie Sie das Framework verwenden. Erstellen Sie anschließend Ihre eigene Webanwendung.
Nachdem Sie Code geschrieben haben, haben Bücher über Programmiertechniken eine viel größere Bedeutung.
quelle
Wenn Sie versuchen, einige Programme zu schreiben, die Sie verkaufen möchten, empfehle ich Ihnen, diesen Aufsatz von Joel Spolsky über "The Development Abstration Layer" zu lesen.
http://www.joelonsoftware.com/articles/DevelopmentAbstraction.html
quelle