Könnte es mir helfen, Zeit (und mich aktiv an Programmierern zu beteiligen). SE und Stack Overflow helfen mir dabei, meine Programmierkenntnisse zu verbessern, wenn ich weniger Zeit mit dem Lesen eines Buches wie Code Complete 2 verbringe (das ansonsten als Nächstes in meiner Leseliste steht).
Ok, vielleicht ist die Antwort auf diese Frage für jemanden, der mit dem Programmieren beginnt, ein klares Nein, aber ich möchte hinzufügen, dass diese Frage im Kontext gestellt wird, wenn die Person mit Programmiersprachen vertraut ist, sich aber verbessern möchte seine Programmierkenntnisse. Ich habe diese Frage auf SO gelesen und auch dieses Buch wurde von vielen anderen empfohlen (einschließlich Jeff und Joel ).
Um genauer zu sein, möchte ich hinzufügen, dass ich, obwohl ich in C, Java, Python usw. programmiere, mit meinen Codierungsfähigkeiten und dem Test von CC2 nicht zufrieden bin. Mir wurde klar, dass ich noch viel verbessern muss .
Im Grunde möchte ich wissen, wie ich meine Programmierkenntnisse am besten verbessern kann - verbringen Sie mehr Zeit hier / SO oder fahren Sie mit CC2 fort und kommen Sie hierher, wenn es die Zeit erlaubt.
quelle
Antworten:
Nein, es ist kein Ersatz, sondern eine perfekte Ergänzung . Ich fühle, dass eine Kombination aus beidem viel Kraft birgt.
Warum lehrt Sie ein guter Vortrag mehr als nur ein Buch zu lesen? Interaktion und die Fähigkeit, Fragen zu stellen.
Wenn Sie nur ein Buch lesen, können einige Fragen auftauchen, auf die Sie keine Antworten finden. Suchen Sie hier nach diesen Fragen oder stellen Sie sie, wenn sie noch nicht besprochen wurden.
quelle
Ich bin (derzeit) seit 1 Jahr und 10 Monaten Mitglied von StackOverflow. Während dieser Zeit bin ich ein disziplinierter Student der Kunst geworden: Ich kenne Architektur, Muster, Entkopplung, Einheitentests und die Liste könnte weitergehen ... aber welche Rolle hat SO gespielt ???
Zunächst beantwortete es meine unmittelbaren Fragen. Aber als ich anfing, SO zu erforschen, stellte ich fest, dass ich ein sehr schlechter Programmierer war. In dem Wunsch, ein Handwerker in meinem Handwerk zu sein, kaufte ich Bücher ... aber es war nicht C # Unleashed, Learn C # Programming oder ein anderer nicht dem
Standard entsprechenderAnfängertext, den ich brauchte. Ich habe die richtige Art von Büchern gekauft, die in bestimmten Bereichen, in denen ich festgestellt habe, Mängel aufweisen. Natürlich habe ich mir die Zeit genommen, um zu sehen, was die Experten für SO empfohlen haben.Zweitens gab mir SO die Möglichkeit, weiter von denen zu lernen, die (durch Reputation repräsentiert) wirklich wissen, was sie tun - syntaktisch und philosophisch. Es gibt einen gewissen Einblick in SO, CodeReview und Programmierer, den Sie einfach nicht aus einem Buch ziehen können.
Offensichtlich kann SO keine Bücher oder alle anderen Webressourcen ersetzen (obwohl, wenn ich MSDN und SO in einer einzigen Inhaltsressource kombinieren könnte ...); Stattdessen ergänzt SO diese anderen Ressourcen. Der beste Lehrer bleibt jedoch Erfahrung .
quelle
Mehr programmieren. Das Lesen von Büchern und Webseiten ist zweitrangig.
Am besten lernst du dabei.
quelle
Lernen braucht einige Zutaten:
Bist du ein guter Lerner? Verbringst du genug Zeit zum Lernen? Wenn die Antwort auf diese beiden Fragen " Ja" lautet , haben Sie bereits genug Potenzial, um aus nahezu jeder Ressource zu lernen.
Aber um Ihre Frage zu beantworten: Ja, ich persönlich habe viel von SE-Sites gelernt. IMHO, sie sollten nicht Ihre einzige Lernquelle sein, aber sie sind von Vorteil.
quelle
Zwei Dinge, die SO und P.SE bieten, die weder das Lesen anderer Bücher noch das Schreiben von Code selbst bieten: Testen und Lehren. Wenn du nur blindlings Fragen stellst wie
Und jemand sagt "in Zeile 33, dass Komma ein Semikolon sein soll", und Sie akzeptieren die Antwort und machen weiter und stellen dieselben Fragen für immer, dann verbessern Sie sich möglicherweise nicht.
ABER, wenn Sie die Fragen anderer Leute lesen, über die Antwort nachdenken und beobachten, welche Antworten eingehen und wie sie mit dem verglichen werden, was Sie wissen, wird das Sie wirklich verbessern. Wenn Sie Code in Ihren bevorzugten Editor eingeben und ein paar Dinge ausprobieren, um zu sehen, wie die Antwort lautet, werden Sie sich wirklich verbessern. Und wenn Sie anfangen, Konzepte zu erklären (und die Leute dort darauf warten, zu "klären", was Sie sagen), werden Sie auch besser.
Seit ungefähr 30 Jahren habe ich festgestellt, dass ich ein Thema nie so gut lerne, als ich es zu unterrichten begann, obwohl ich glaubte, es zu kennen. Für mich ist das der Hauptbeitrag der * .se-Sites zu meinen Fähigkeiten als Entwickler. Wenn ich nur eine einfache Tatsache wissen möchte, ist dies mein wichtigster Ort, um nachzuschauen (oder gelegentlich zu fragen).
quelle
Ihre Programmierkenntnisse verbessern Sie am besten, indem Sie nicht Websites oder Bücher lesen, sondern sie wiederholen
Übung macht den Meister. Was auf einem Blog oder in einem Buch gut aussieht, kann sich als mühsam erweisen, wenn es aus einem Grund verwendet wird, den der Blog-Verfasser nicht versteht oder den der Buchautor nicht behandelt hat.
quelle
Wie Sie selbst geantwortet haben, nein, aber Zeit hier zu verbringen, ist eine nützliche Ergänzung zu strukturiertem Lernen. Ich würde mich nicht allein darauf verlassen, da es Lücken in einigen Konzepten geben kann, die möglicherweise nicht abgedeckt werden. Eine Ihrer besten Möglichkeiten, das Programmieren für fortgeschrittene Benutzer zu verbessern, besteht darin, den Code anderer guter Entwickler zu lesen, indem Sie Zeit mit GitHub oder einem anderen Open-Source-Repository verbringen.
quelle
Kritisches Denken und Analyse sind weiterhin erforderlich
An und für sich nicht. Die einzige Möglichkeit, eine Quelle für das Lernen zu schaffen (Buch, Blog, Website, SO usw.), besteht im Verstehen, Analysieren und anschließenden wiederholten Einarbeiten. Was Leute in solchen Foren schreiben, ist kein Evangelium und sollte nicht als solches behandelt werden, egal wie viele Stimmen es hat. Sie müssen Ihre eigene Analyse der abgegebenen Meinung durchführen, um herauszufinden, ob es sich um Folgendes handelt:
Der beste Weg zur Verbesserung
Ist oft spezifisch für die Person. Manche Menschen werden durch Lesen und Forschen besser. Manche Menschen werden durch Spielen und Experimentieren besser. Andere können durch Selbstreflexion und Analyse noch besser werden. Probieren Sie aus, was Ihnen gefällt, und prüfen Sie, ob es für Sie besser funktioniert.
quelle
Das Erlernen von Java wurde viel einfacher, als ich von Stackoverflow erfuhr. Ich habe keine Fragen gestellt, aber ich fing an, die Java-Fragen täglich zu lesen. Viele der Fragen entsprachen nicht meinem Verständnis, aber hin und wieder stellte jemand die Anfängerfrage. Viele Leute fragen nach Konzepten, die sie aus einem Buch lesen, aber nicht verstehen, und erhalten hier eine viel verständlichere Antwort, oft mit einem kleinen Codebeispiel, um das Problem näher zu erläutern.
quelle