Ich finde, wenn jemand fragt, wie man das Programmieren am besten lernt, gibt man ihm normalerweise Verweise auf eine Reihe von Texten, die von verschiedenen Autoren verfasst wurden.
Ich glaube jedoch nicht, dass viele Leute lernen, aus Büchern zu programmieren. Ich stelle fest, dass sie in der Regel vor einer Herausforderung stehen und die Programmierung als Werkzeug verwenden, um diese zu überwinden.
Ich bin zum Beispiel in die Programmierung eingestiegen, weil ich einen Server für ein Spiel starten wollte, das ich gespielt habe, also habe ich den Support für diesen bestimmten Server durchgegoogelt und gelesen und bin jetzt ein angestellter Software-Ingenieur, der nur die Fähigkeiten verwendet, die ich entwickelt habe ( und dann weiterentwickelt) durch Codierung von C # -Skripten für ein nicht sehr populäres Serverpaket.
Meine Frage ist also, fällt es den Menschen im Allgemeinen leichter, aus diesen Büchern zu lernen? Ich weiß, dass ich einige von ihnen angeschaut habe und sie viel zu "trocken" fand, um mich zu ermutigen, sie zu beenden.
quelle
Antworten:
So lerne ich im Allgemeinen:
Hinweis: Der dritte Punkt steht manchmal an erster Stelle.
Bearbeiten : Um die Frage "Warum?"
Google ist großartig, um herauszufinden, wie man etwas macht, aber nicht großartig, um herauszufinden, was Sie nicht wissen. Warum würden Sie jemals "C # -Delegierte" googeln, wenn Sie nicht zuerst wüssten, dass C # ein Konzept namens "Delegierte" hat und es möglicherweise nützlich ist, ein Problem zu lösen, an dem Sie arbeiten?
Auch das Signal-Rausch-Verhältnis kann manchmal etwas hoch sein. Wenn Sie eine ungefähre Vorstellung davon haben, wie etwas gemacht wird, können Sie leicht feststellen, ob der Artikel, den Sie lesen, korrekt ist. Aber wenn Sie keine Ahnung haben ... können Sie in ein größeres Chaos geraten.
quelle
Einige Gründe, warum Bücher immer noch relevant sind:
Aber ein Buch wird dich niemals den ganzen Weg führen, es wird dich nur in die richtige Richtung treiben.
quelle
Als ich in den 1980er Jahren das Programmieren lernte, waren Bücher mehr oder weniger die einzige verfügbare Informationsquelle, um eine Programmiersprache als Ganzes vollständig zu lernen. Außerdem konnte man Computerzeitschriften kaufen, deren Inhalt jedoch zufällige Artikel waren, die interessant und hilfreich waren oder nicht.
Heutzutage finden Sie alle Informationen, die Sie benötigen, im Internet. Obwohl ich ein komplettes Tutorial so ähnlich wie ein Buch finden würde.
Wie Sie lernen, hängt möglicherweise von Ihren persönlichen Vorlieben oder den tatsächlichen Bedürfnissen ab.
Der Vorteil eines "vollständigen Textes", wenn es sich um ein Buch oder ein Online-Tutorial handelt, besteht darin, dass es Material abdeckt, das Ihnen später hilft, obwohl es eigentlich nicht erforderlich ist. Es ist nur zu wissen, dass etwas möglich ist und zu wissen, wo es zu finden ist. Besonders wenn Sie etwas über eine komplexe Umgebung oder eine sehr komplexe Sprache wie C ++ lernen. Sie können in vielen kleinen Blogs über Ruby on Rails nachlesen, ohne jemals etwas über Ajax oder Sicherheitsfragen zu erfahren. Solange Sie nur herumspielen, ist dies möglicherweise kein Problem. Aber wenn Sie, wie mir schon passiert ist, innerhalb weniger Wochen in die professionelle Ruby on Rails-Entwicklung einsteigen möchten, hilft es sehr, mit einem Text zu arbeiten, der alle wichtigen Punkte abdeckt.
In anderen Büchern werden Details zu Programmierstil, Best Practices, Entwurfsmustern oder bestimmten Gruppen von Algorithmen behandelt. Sie können damit arbeiten, und von allen Entwurfsmustern wenden Sie möglicherweise immer nur eine sehr kleine Teilmenge an. Trotzdem ist es hilfreich, sie zu kennen und zu wissen, wo sie zu finden sind. Und es ist einfach eine Möglichkeit, Ihre Denkprozesse in eine Richtung zu trainieren, in der Sie mehr daran interessiert sind, "eine Lösung zu entwickeln" als "es irgendwie laufen zu lassen".
Persönlich lese ich gerne, deshalb habe ich nicht das Gefühl, dass Bücher trocken sind. Obwohl es natürlich wichtig ist, dass das Buch auf Ihrem aktuellen Wissensstand oder darüber hinaus ist. Wenn Sie bereits alle Grundlagen von C # beherrschen, ist es wenig sinnvoll, ein Einsteigerbuch zu lesen.
quelle
Ein Buch (oder eine wie ein Buch strukturierte Webdokumentation) ist immer noch meine bevorzugte Methode, um die meisten Sprachen zu lernen.
Wenn Sie nur in eine Sprache eintauchen und sich selbst davon überzeugen, werden Sie wahrscheinlich wichtige Aspekte verpassen, die Ihnen ein gutes Buch zum richtigen Zeitpunkt geliefert hätte.
Zum Beispiel lernten einige meiner Kollegen Java, indem sie ohne Buch eintauchten. Sie hatten einige Jahre in Java programmiert, als ich entdeckte, dass sie routinemäßig Arrays von Byte [] manipulierten, indem sie das Array mit .substring () in einen String umwandelten und dann den String wieder in ein Array umwandelten. System.ArrayCopy () wird auf Seite 155 von Java In A Nutshell vorgestellt
Ich hoffe, Sie erkennen, dass das Lernen mit einem Lehrer einfacher ist als allein. Ein gutes Buch ist ein billiger Ersatz für einen guten Lehrer. Es werden Konzepte in einer sorgfältig geplanten Reihenfolge vorgestellt, sodass Sie ein gründliches Verständnis aufbauen können - nicht nur genug, um damit auszukommen.
quelle
Ich denke, Sie könnten auf etwas sein. Zumindest für mich sind die meisten meiner Fähigkeiten darauf zurückzuführen, dass ich ein Programm brauche, das "X" kann.
Vielleicht bitten die Leute, die auf diese Weise lernen, nicht um Hilfe; Sie sind einfach zu beschäftigt, um es zu erledigen (schlecht, aber lernen auf dem Weg). Die Leute, die Programmierer werden wollen (wie in dieser ersten Gruppe angegeben), stellen eine Menge Fragen darüber, wie man Programmierer ist oder wie man programmiert, obwohl sie nicht unbedingt ein Problem zu lösen haben, und das sind sie auch nicht Fragen mit direkten Antworten.
Und so stochern wir zu Büchern. "Oh ja, nimm eine Kopie von 'Dive into Python'." "Nein" "Ähm ..." "Ich bin ein bisschen beschäftigt, aber ich werde helfen, wenn Sie stecken bleiben" "Äh ... OK, ich denke"
Auf der anderen Seite schätze ich es sehr, wenn ich lerne, was gutes Lesematerial ist, damit ich sehen kann, wie das Problem, das ich zu lösen versuche, von einem erfahreneren Autor gelöst wird, oder vielleicht nur, damit ich etwas lernen kann "Anfängertechniken", die ich unterwegs möglicherweise nicht gelernt habe.
TLDR : Bücher sind gut, Lernen durch Handeln ist gut, Lernen durch Handeln ist ???
quelle
Ich liebe es, technische Bücher zu lesen. Nicht alle technischen Bücher, nur die zu einem bestimmten Thema, das mich interessiert, sagt Sharepoint. Ich erinnere mich an das erste Buch, das ich wirklich gelesen habe (mehrmals), s Programming Windows von Charles Petzold. Aus diesem und vielen anderen Gründen war ich in der Lage, eine Win32-Anwendung aus dem Speicher zu schreiben. Ich brauchte kaum eine API zu suchen und konnte mich stattdessen auf den Geschäftsbereich konzentrieren.
Ich habe das Gefühl, dass Bücher einen "autoritären" Weg darstellen, etwas zu tun, vielleicht von jemandem, der weiß, wie man etwas besser macht als ich. Ich vertraue darauf, dass das, was ich lerne, der beste Weg ist, mein Problem zu lösen. Das ist natürlich so, wenn ich dem Autor vertraue (ich muss den Bewertungsbereich bei Amazon lieben).
Obwohl ich mich jetzt immer mehr "google" und kopiere und einfüge, wenn ich versuche, ein Problem zu lösen, verbringe ich viel Zeit damit, sicherzustellen, dass das, was ich kopiere (oder von :) inspiriert werde, etwas Vertrauenswürdiges ist, das ich kann in meinen Code setzen. Nur weil ich im Internet eine Lösung finde, ist sie nicht unbedingt die beste.
Während ich, wie so viele andere Programmierer, jetzt einfach die Antworten google, finde ich mich immer noch dabei, Bücher von bekannten Autoren zu holen. Ich habe das Gefühl, dass der Inhalt von jemandem zu mir gebracht wird, der es gut erklärt (lehrt), und es erspart mir, den gesamten Müll aus meinen Google-Ergebnissen herauszufiltern.
quelle
Ich gehe davon aus, dass Ihre Frage nicht "Warum alte Technologie wie ein gedrucktes Buch anstelle von HTML-Seiten verwenden" war, sondern "Warum längere Texte über die Programmierung lesen, die von einem oder wenigen Autoren geschrieben wurden".
Sie können sich Bücher als strukturierte Sammlung von Informationen zu einem bestimmten Thema vorstellen. Es hat den Vorteil, dass sich jemand die Mühe gemacht hat, jedes Kapitel aufeinander aufzubauen, um das Verständnis des Themas zu erleichtern. In der Regel erfahren Sie auch, wo die Grenzen der Informationen liegen (was abgedeckt wird und worauf Sie sonst noch achten müssen). Nachdem Sie es gelesen und damit gearbeitet haben, können Sie sicher sein, eine bestimmte Fähigkeit erreicht zu haben. Wenn Sie mit gedrückter Schnellvorlauftaste lernen möchten, kann ein Buch Sie dazu zwingen, jeden Aspekt durchzuarbeiten, ohne die langweiligen Teile auszulassen, zumindest wenn Sie der Struktur des Buches vertrauen. Die Sammlung mit dem Namen "Buch" ist auch häufig als Referenz nützlich.
Das Verwenden des Internets, Blogs, "Herumspielen" usw. fällt normalerweise in die Art von unstrukturierten Informationen. Du bekommst jede Menge Weisheiten, aber du musst mehr suchen, um dein Wissen aufzubauen, denn niemand wird dich dazu führen zu sagen: "Lerne das zuerst, oder du wirst den Wert dieses Stoffes nicht erkennen habe jetzt gegoogelt ". Sie könnten bestimmte Teile verpassen, weil sie zu langweilig sind oder Ihnen niemand gesagt hat, dass sie wichtig sind. Sie könnten etwas falsch lernen, weil nicht alles, was im Internet geschrieben ist, von höchster Qualität ist. Möglicherweise verbringen Sie viel Zeit damit, unbrauchbare Suchergebnisse herauszufiltern. Sie könnten Tage damit verschwenden, selbst etwas zu erreichen, nur weil Sie ein bestimmtes Designmuster oder Programmierkonstrukt nicht kannten und Ihnen niemand davon erzählte. Je weniger du weißt,
Um es etwas provokativ zu sagen: Ich würde niemals einem Architekten zutrauen, eine Brücke zu bauen, die ich jeden Tag überqueren muss, wenn er mir erzählte, dass er nie ein Buch über Brückenbau oder Strukturanalyse gelesen hätte, sondern es nur durch Herumspielen und Verwenden von Google gelernt hätte ...
quelle
Wie können Sie als C-Programmierer Python ohne ein Buch oder einen Lehrer erlernen?
Wenn Sie nur die grundlegende Syntax erlernen und gleich weiterkommen, werden Sie am Ende C-Code in Python schreiben und zu dem falschen Schluss kommen, dass Python genauso wortreich und schmerzhaft ist wie C.
quelle
Google eignet sich normalerweise nur zum Auffinden kleiner Codeausschnitte oder Open-Source-Bibliotheken. Die Dokumentation für einige Bibliotheken / Programme ist bestenfalls unzuverlässig (falls vorhanden, werden nur einfache oder allgemeine Beispiele angezeigt).
Ich habe nicht viele Programmierbücher, aber ich kann Ihnen jetzt sagen, dass ich ein Buch über OpenGL habe und dass es den größten Teil des Codes für eine 3D-Engine enthält, den Sie einfach kopieren können, aber Sie können Lesen Sie auch die Theorie - Sie müssen nur ein paar Seiten umblättern und eine Erklärung des Codes wartet darauf, gelesen zu werden. Heutzutage könnten Sie wahrscheinlich einige Open-Source-3D-Engines im Internet finden, aber wenn Sie den Code wesentlich ändern müssen, sind Sie wahrscheinlich in Schwierigkeiten - normalerweise gibt es kein Hilfeforum und die Leute auf SO werden das nicht kennen Beantworten Sie Ihre Frage, wenn sie sehr spezialisiert ist. Wenn es um wirklich spezialisierte Sachen geht, Nur ein paar Dutzend Menschen auf der ganzen Welt werden in der Lage sein, Ihre Frage stundenlang zu beantworten, um herauszufinden, ob sie in der Lage ist, eine Antwort zu finden. Wenn Sie sich fragen, wie eine verknüpfte Liste in C # implementiert werden soll, erhalten Sie in den ersten 10 Minuten über 5 Antworten auf SO. Wenn Sie sich jedoch die Frage stellen, wie Sie einen komplexen Shading-Algorithmus in three.js am besten implementieren können, ist dies der Fall , Ihre Frage wird wie ein Stein von der Titelseite fallen.
Darüber hinaus werden Bücher fast ausschließlich aus der Perspektive geschrieben, aus der der Leser etwas über die Theorie lernen möchte, wohingegen Google nur zufällige Junk-Code-Schnipsel erstellt, archivierte Diskussionen zu dem Thema, von dem niemand weiß, wovon er spricht usw. Quellen im Internet sind viel besser geworden: SO, Moz Dev Network, Microsofts Website, Blogs usw., aber in der Vergangenheit waren Bücher viel besser, und Internetquellen haben gerade erst aufgeholt.
quelle
Die Qualität des Schreibens in den besten Büchern ist so hoch, dass viele der nicht offensichtlichen Probleme bereits vor dem Beginn behandelt werden. Ein Autor mit viel Erfahrung kann Ihnen Dinge erzählen wie: unerwartete Nebenwirkungen, langfristige Auswirkungen, undokumentierte Funktionen, typische Verwendungsszenarien ...
Grundsätzlich profitieren Sie von einem Schriftsteller mit viel Erfahrung, der Sie durch das Problem führt und auf die wirklich interessanten Aspekte hinweist.
Manchmal finden Sie dies auch in Online-Referenzen, aber aufgrund der geringen Zugangsbeschränkung sind viele Online-Informationen zu einfach, fehlen in den Details oder sind einfach völlig falsch. Dies kann auch bei Büchern der Fall sein. Stellen Sie daher sicher, dass Sie nur solchen Büchern glauben, die Klassiker mit durchweg guten Rezensionen sind. Andere Bücher können ebenfalls nützlich sein, aber nur als eine der Quellen müssen Sie die Informationen noch durch Querverweise überprüfen oder es selbst versuchen.
quelle
Bücher enthalten in der Regel viele Informationen in einem strukturierten Format. Google enthält in der Regel eine große Menge an Informationen, die nicht immer besonders strukturiert und in Bezug auf das, was Sie tun müssen, schwierig zu organisieren sind.
Ich lese keine physischen Papierbücher mehr - neben mir befindet sich ein elektronisches Lesegerät, und auf meinem Laptop befindet sich eine Kindle-Software, mit der ich auf die gesuchten Informationen zugreifen kann.
Google ist hilfreich, wenn Sie keinen strukturierten Überblick über das Programmieren suchen, sondern Details zum Programmieren einer bestimmten Aufgabe benötigen. Jemand hat fast immer Code für diese Aufgabe geschrieben oder zumindest so etwas.
Ich denke, es gibt einen Unterschied zwischen dem Lernen des Programmierens und dem Lernen, eine bestimmte Aufgabe zu programmieren. Ich würde die Qualität des Codes in Frage stellen, der von jemandem stammt, der nur dann einiges gelernt hat, wenn er einen vernünftigen Überblick über das Programmieren hat. Dies ist nicht sprachspezifisch, sondern eher konzeptionell.
quelle
Bücher sind nützlich, wenn Sie sich eingehender mit einem Thema befassen möchten. Sicher habe ich C # aus ein paar Tutorials und dem Schreiben einiger (Haustier-) Projekte gelernt. Aber C # in der Tiefe ist immer noch nützlich, um zu sehen, was sich darunter abspielt, und um ein paar neue Dinge zu lernen.
Außerdem kann ich ein Programmierbuch nehmen und es in meinem Bad oder draußen in der Sonne lesen . Ich kann das mit meinem Desktop-PC nicht machen.
quelle
Weil es eine bequeme Möglichkeit ist, von anderen Programmierern zu lernen.
Bücher sind eine Ergänzung. Man kann nur so schnell alleine weiterkommen. Wer möchte nicht lieber ein Projekt mit einem besseren Programmierer durchführen, der bereit ist, Ihnen etwas beizubringen, als nur das Buch zu lesen?
Ich verwende sie eher als Referenz als als "Alles, was Sie jemals über Programmierung wissen müssen".
quelle
Mit Büchern können Sie eine Reihe von Informationen "passiv" aufnehmen. Sie müssen nicht schauen, was möglich ist. Sie erhalten eine Teilmenge der Möglichkeiten. Als ich C # lernte, hat mir das Buch wirklich geholfen, die Möglichkeiten aufzuzeigen und mich zu fragen, was die C ++ - Entsprechungen waren. Das Mastering fand natürlich statt, wenn es in einem Projekt (in Originalgröße) verwendet wurde. Aber das Buch hat wirklich geholfen, Unterschiede und Möglichkeiten aufzuzeigen.
quelle
Kurz gesagt, ich denke, dass Bücher auf hohem Niveau nützlicher sind. Sie können Sie beim Entwerfen beraten und dabei helfen , Probleme zu vermeiden , anstatt sie zu lösen.
Bücher haben sicherlich ihre Nachteile. Meine Kopie von Programming Python deckt Python 2.0 ab, aber die Laufzeit, die ich benutze, ist 2.6.
Ich denke jedoch, der wichtige Aspekt von Büchern ist, dass Sie Dinge finden können, über die Sie nicht selbst stolpern würden. Google hilft Ihnen bei der Lösung spezifischer Probleme, Bücher helfen Ihnen jedoch bei der Gestaltung. Und nicht nur Designbücher. Wenn Sie ein gutes Buch lesen, das Ihnen hilft, das Design einer Sprache zu verstehen, werden Sie besser verstehen, wie man diese Sprache verwendet.
Andere Bücher sind gut, um Ihr Wissen zu verfeinern. Ich denke, Scott Murphys Effective C ++ - Buch ist ein gutes Beispiel. Dieses Buch ist zwar nicht besonders gut zum Erlernen von C ++ geeignet, es hilft Ihnen jedoch dabei, Probleme beim Entwurf von Algorithmen / Schnittstellen / Vererbungen zu erkennen, die (noch) nicht aufgetreten sind oder an denen Sie gearbeitet haben. Es mag leicht sein, eine einfache Lösung zu finden (die später zu anderen Problemen führen kann), aber wenn Sie die Sprache besser verstehen, können Sie Ihre Software so gestalten, dass diese Probleme zunächst vermieden werden.
Natürlich ist es nicht die Tatsache, dass Bücher auf Papier gedruckt sind, die sie lohnenswert macht. Die Sorgfalt und der Aufwand, mit dem sie geschaffen werden, und der Wunsch, eine strenge Ausbildung zu geben, sind das, was Bücher wertvoll macht. Als Nebeneffekt erhalten Sie häufig nützliche Online-Ressourcen wie C ++ FAQ lite oder E-Books wie Dive into Python . Es gibt auch Online-Tutorials, die gründliche und nützliche Lernwerkzeuge sind (wie die Dokumentation für einige Plattformen / Sprachen / Bibliotheken).
Snippets im Web sind eine gute Möglichkeit, Ihre Frage zu beantworten, aber sie sagen Ihnen selten, was Sie fragen sollten.
quelle
Ich möchte Programmierer werden, also benutze ich Programmierbücher. Mit Büchern kann ich professionell programmieren.
quelle
Ich habe lange kein Programmierbuch mehr gelesen. Früher habe ich sie als Nachschlagewerk verwendet, aber jetzt denke ich, dass das Internet für die meisten Sprachen und Frameworks einfacher ist.
Wie auch immer, ich denke, das Beste, was man aus Programmierbüchern lernen kann, ist die Kernsprache. Zum Beispiel war meine erste richtige Sprache C. Ich habe sie durch Schreiben eines Betriebssystems gelernt (ich empfehle dies nicht). Infolgedessen war mein Wissen über C selbst nach zwei oder drei Jahren Programmierzeit ziemlich verkrüppelt. Ich habe nie gute Grundkenntnisse in der Sprache. Ich wusste nicht, dass ich diese 15 unordentlichen Codezeilen in zwei saubere Codezeilen umwandeln könnte. So konnte ich Probleme lösen, aber ich habe C nicht in vollem Umfang genutzt.
Dann entschloss ich mich irgendwann, C ++ zu lernen ... (ungefähr 2 Jahre nachdem ich angefangen hatte, C zu lernen). Also las ich das einzige C ++ - Buch, das ich in der Nähe hatte, ein C ++ For Dummies-Buch. Ich las ungefähr 3/4 davon durch und tat in dieser Zeit nur sehr wenig. Als ich in mein erstes Projekt sprang, anstatt mich mit diesen 15 Zeilen chaotischen Codes vertraut zu machen, wusste ich, dass es solche gab eine einfachere Möglichkeit, es zu tun (obwohl ich es möglicherweise nachschlagen musste).
Ich habe das Gleiche getan, als ich C # / ASP.NET gelernt habe. Ich habe fast nichts anderes getan, als zu lesen, bis ich mit etwa einem Drittel des Buches fertig war. Und für das, was ich nicht gelernt habe, habe ich in Stack Overflow nach interessanten C # -Fragen gesucht. Als ich in mein erstes Projekt einstieg, würde ich sagen, dass der größte Teil meines Codes relativ sauber war und seitdem nur ein einziges Mal "gewaltig" überarbeitet werden musste.
Daher würde ich sagen, dass Bücher sehr nützlich sind, um die Fähigkeiten eines Frameworks oder einer Sprache zu erlernen. Abgesehen von den starken theoretischen und speziell entwickelten Büchern, die als Referenzmaterial dienen, werden sie im Internet jedoch größtenteils unbrauchbar.
quelle
Es geht weniger darum, was Sie lesen, sondern wie viel. Ich habe gerne ein paar Programmierbücher für unterwegs, während ich an einem Projekt arbeite. Hin und wieder (öfter als Sie vielleicht denken) lesen Sie etwas über eine Technik, die auf Ihr aktuelles Projekt angewendet werden kann.
Sobald Sie eine reale Lösung implementiert haben, bleiben die Informationen erhalten.
quelle
Ich bevorzuge die Verwendung von Büchern, da sie meiner Meinung nach einen Überblick über den Stand der Technologie bieten, an der Sie arbeiten. Der Autor gibt an, dass Sie mit der XX-Version der Y-Sprache / Bibliothek das Problem Z lösen. In den Website-Tutorials wird möglicherweise nicht aufgeführt, welche Versionen sie verwenden, oder es wird der Beispielcode angegeben, den sie verwenden, während Bücher häufig funktionieren.
In Büchern geht es häufig um das "Warum" dieser Lösung, während Online-Dokumente in der Regel kopiert und eingefügt werden.
Sie können auch häufig die Verknüpfungen zu all Ihren Referenzen verlieren, sie können verschoben werden oder nach unten gehen. Ich schütze und pflege meine Bücher wie eine Investition (die sie sind).
quelle
Sie können Probleme lösen, ohne Bücher zu lesen, aber wissen Sie dann wirklich, was sich hinter Ihrem Programm verbirgt, um dieses Problem zu lösen?
Sie müssen wissen, was passiert und was eine bessere Alternative sein könnte. Dafür braucht man gute Programmierbücher. Nur Bücher zu lesen ist natürlich nicht genug. Sie müssen den Inhalt verstehen, andere Bücher durchgehen, über andere Lösungsansätze nachdenken und so weiter. Lernen geht weiter mit und ohne Bücher.
quelle
Als ich C ++ lernte, fand ich die meiste Literatur ziemlich nutzlos, bis etwas in meinem Kopf klickte. Bis heute bin ich mir nicht sicher, was es war, aber alles begann Sinn zu machen. Bücher und Webseiten machten dann weitaus mehr Sinn. Ich brauchte 2 Bücher, um zu lernen, wie man in C ++ programmiert, und beide waren keine echten C ++ - Bücher (es waren Visual C ++ - Bücher, die sich hauptsächlich auf MFC konzentrierten).
Wenn Sie die richtigen Bücher haben, kann dies sehr nützlich sein. Ein Freund von mir las ein paar Dietel-Bücher an der Uni und ich fand diese sehr gut geschrieben. Ich habe die "... for Dummies" -Bücher nie als nützlich empfunden, weil sie die Dinge für mich nicht richtig erklären. Der beste Rat ist, in eine Buchhandlung zu gehen und einen Einblick in das Buch zu erhalten, damit Sie keine Unmengen an Geld für extrem teure Bücher verschwenden.
Für einige Programmierthemen finde ich es nützlich, mehrere Bücher zu lesen, über Google zu recherchieren und zu experimentieren. Das habe ich oft gemacht, als ich an KI-Algorithmen gearbeitet habe, als ich an einem Dame-Spiel mit J2ME gearbeitet habe. Das habe ich auch gemacht, als ich gelernt habe, wie man einen Compiler-Compiler für benutzerdefinierte Syntaxen erstellt. Es gibt so viele verschiedene Variationen und Ansichten.
Wenn Sie mehrere Ansichten verstehen, können Sie manchmal Verbindungen herstellen, die ansonsten unklarer sind.
quelle
Ich lerne (Programmieren) in der Regel aus beiden Büchern und "just in time" -Quellen wie dem Web. Beides kann gut sein, aber insgesamt bevorzuge ich es, aus Büchern zu lernen.
Wenn Sie nur das lernen, was Sie sofort wissen müssen, um einen Teil eines Projekts abzuschließen, verpassen Sie manchmal den Überblick. Die besten Bücher sind nicht nur Referenzen, sondern erreichen in gewisser Weise eine bessere Ausbildung, indem sie einen umfassenden Überblick über eine Technologie bieten und viele erfahrene Ratschläge zu den besten Lösungen für häufig auftretende Probleme geben.
Just-in-Time-Lernen kann sehr leicht unter dem Problem der Zufriedenheit leiden. Wenn Sie ein Problem identifizieren, das Sie lösen möchten, springen Sie zur ersten Lösung, die zu funktionieren scheint, und rennen dann zu den Interwebs, um herauszufinden, wie Sie es implementieren können . Dies kann jedoch häufig zu Problemen führen. Wenn Sie in der Lage gewesen wären, mit einem erfahrenen Programmierer über Ihr Problem zu sprechen, würden diese Ihnen nicht sagen, "hier ist die Vorgehensweise X". Sie würden Ihnen stattdessen sagen, "nicht tun" X, mach stattdessen Y ". Und diese Art von Wissen erhalten Sie in der Regel aus den besten Büchern. In der Tat handeln einige Bücher ausschließlich von dieser Art von Dingen, wie beispielsweise Javascript: The Good Parts .
Das andere Problem, das JIT-Lernen haben kann, ist eine viel langsamere Lernkurve. Beim JIT-Lernen lernen Sie in der Regel nur das, was Sie wissen müssen. Oft kann jedoch das Erlernen einer neuen Sprache oder eines neuen Frameworks beschleunigt werden, wenn nur ein grundlegender Wissenskern vorliegt. Anstatt über die Grundlagen zu stolpern, fängt man mit einem soliden Fundament an und baut dann von dort aus. Ein guter Teil des Materials, das Sie beim Lesen eines Buches behandeln, ist möglicherweise nicht sofort nützlich, aber dieses Hintergrundwissen kann für die Entscheidungsfindung und insbesondere für das Verständnis des neuen Codes, dem Sie ausgesetzt sind, hilfreich sein. Natürlich gibt es einen Kompromiss, und es gibt schlechte Bücher, die nur unnütze Fakten enthalten, an die Sie sich nach dem Lesen nicht mehr erinnern können, aber es gibt auch gute Bücher, die Ihnen eine gute Grundlage für die Grundlagen bieten, und was?
Es gibt auch Bücher auf einer höheren Ebene als ein einzelnes technologisches Fach, die meiner Meinung nach für die Reifung als Entwickler von entscheidender Bedeutung sind. Bücher wie Code Complete , Refactoring , Effektives Arbeiten mit Legacy - Code usw. Du werden nicht nur durch JIT Lernen das Wissen aus diesen Büchern abholen.
quelle
Ich denke, ich gehe zum Lesen von Büchern. Insbesondere zum Herunterladen von E-Books. Lesen Sie jeden Teil des Kapitels. Kopieren Sie ihren Code! einfügen in Ihren Programmiereditor und dann sehen, was die Ausgabe ist. Dann versuchen Sie, die Logik zu ändern. Ich erwähnte herunterladbare eBooks, weil sie schneller funktionieren. Bücher sind wirklich hervorragend. Ich lüge nicht, aber seit letztem November bis heute. Ich bin fertig Ungefähr 20 Bücher. Alles erfordert Liebe zum Lesen. Die Neulinge lösen ein spezifisches Problem, indem sie die Hilfe aus dem Internet in Anspruch nehmen. Aber wenn ihnen eine wirklich komplexe Aufgabe übertragen wird, geben sie auf. Grund, kein Wissen über die Aufgabe und Zum Beispiel habe ich die Steuerelemente mit datatable begrenzt und weiß nicht, was Datasets tun, und es wurde mir die Aufgabe übertragen, Beziehungen zwischen speicherresidenten Kopien von Datenbanktabellen herzustellen. Ich kann das nicht.
quelle
Für neue Programmierer ist es sehr schwierig zu verstehen, was Programmieren tatsächlich ist, wie tief es ist.
Jeder kann ein Programm schreiben, mit dem er einen Computer anweist, etwas zu tun - na ja, mit sehr wenig Lernaufwand ist das nicht schwer! Was schwierig ist, ist ein Programm zu entwickeln, das unterstützt werden kann und von anderen Teammitgliedern schnell verstanden und verstanden werden kann. Dieser Teil dauert Jahre, Dutzende von Jahren.
Darüber hinaus ist das Lernen, als effektiver Teil eines Teams zu arbeiten, etwas kurvenreich.
Wie helfen Bücher, diese "echten" Programmierprobleme auf eine Weise zu lösen, die das Nachschlagen von Referenzen im Web nicht ermöglicht?
Nun, zwei meiner Lieblingsbücher sind "Design Patterns" und "Refactoring".
Refactoring ist ein großartiges Buch, in dem Sie lernen, wie man fehlerhaften Code erkennt. Wenn Sie durch Nachschlagen von Codierungsreferenzen gelernt haben, ist dieses Buch (eines der vielen Refactoring-Bücher) von entscheidender Bedeutung.
Entwurfsmuster bieten nicht wirklich viel, was ein guter Programmierer nicht herausfinden kann, aber sie haben einer Vielzahl von Mustern Namen gegeben, die jeder bereits im Code verwendet hat. Dies ermöglichte Programmierern eine effektivere Kommunikation und half einigen Programmierern, neue Wege zu finden, um Probleme anzugreifen. Obwohl Sie Entwurfsmuster im Web finden können, ist es viel einfacher, den Namen des Entwurfsmusters zu googeln, als zu googeln, was Sie tun möchten.
Ich wurde in Interviews gebeten, diese beiden Bücher zu beschreiben und zu beschreiben, was sie zu erreichen versuchen. Ich denke, dies ist eine sehr gültige Interviewfrage. Ich möchte einem Programmierer Aufmerksamkeit schenken, der nichts von diesen beiden Büchern wusste Bücher, es sei denn, er bewarb sich um eine sehr junge Position.
quelle
Ich habe gelernt, direkt aus Büchern zu programmieren. Vor ungefähr 20 Jahren wurde Google und das Internet immer beliebter. Ich denke, das sind großartige Ressourcen. In den meisten modernen Büchern werden jedoch nur technische Artikel der Hersteller zitiert. Deshalb stimme ich jetzt zu, dass es besser ist, online zu lernen. Mit einem warnenden Wort wie folgt:
Obwohl ich viele, viele Bücher gelesen habe und einen Internetzugang hatte, fast seit es finanziell machbar war. Ich war nie in der Lage, ein größeres Projekt zu realisieren. Sicher, ich könnte viele der umfangreichen Projekte in großen Büchern für Fortgeschrittene durchführen, in denen 20 Kapitel benötigt werden, um Sie durch das Buch zu führen, aber wenn es um meine eigenen Projekte in der realen Welt geht, bin ich immer ohne Hinrichtung gegen eine Mauer gestoßen. Ich muss dir sagen, ich habe ein paar schwere Bücher gelesen.
Ich hatte mein ganzes Leben lang Probleme, aufs College zu gehen, aber jetzt gehe ich in mein drittes Jahr. In meinem ersten Jahr traf ich Leute im vierten Jahr und Meister und konnte produktive Gespräche über die Theorien der AI-, HCI-, Assembler- und Compiler-Entwicklung usw. führen. Aber mit all diesem Wissen konnte ich kein vernünftiges Programm erstellen. Was habe ich vermisst ... Das einzige, was Sie nicht aus einem Buch oder online bekommen können.
Struktur. Im ersten Jahr habe ich nichts Technisches gelernt (Ich kannte das Ganze bereits und habe es ohne ein eintägiges Studium durchgearbeitet, Mathematik und Design ausgeführt, da diese für mich einigermaßen neu waren), aber ich habe Struktur und Teamwork gelernt. In meinen ersten Sommerferien kam ich meiner ersten richtigen Arbeit näher als je zuvor.
In meinem zweiten Jahr lernte ich eine Menge neuer technischer Dinge (immer noch die Grundlagen im Vergleich zu dem, was ich wusste, aber ich setzte die Theorie, die ich kannte, in die reale Praxis um). Dies betonte erneut die Bedeutung der Struktur. Ich habe mein erstes richtiges Projekt noch nicht abgeschlossen. Ich betrachte mich jetzt als Programmierer.
Ich glaube nicht, dass es notwendig ist, Bücher zu lesen, um Programmieren zu lernen. Aber es ist eine Hilfe. Ich glaube jedoch mit Sicherheit, dass kein Buch oder keine Website lehrt oder lehren kann, was man von selbst 2 Jahren College bekommt. Wenn Sie es geschafft haben, Projekte abzuschließen, ohne jemals ein College besucht zu haben, ist dies eine Erfahrung, die ich unabhängig vom Alter sehr empfehlen kann.
Bücher sind gut, Internet ist besser, Google und Sie Tube sind fabelhaft, aber nichts ist besser als eine gute, altmodische Hochschule in meiner Meinung. Und ich bezweifle, dass es jemals eine Menge Googeln und Youtubing geben wird, und ich weiß aus erster Hand, dass es niemals eine Menge Bücher geben wird.
quelle
Ich habe keine Ahnung. Ich bin gegen Programmierbücher. In den meisten Fällen müssen Sie noch im Internet recherchieren, um zusätzliche Informationen zu suchen.
Möchten Sie eine Programmiersprache lernen? Google dafür. Ich hasste jQuery, weil es schwer aussah. Dann bin ich zu Stack Overflow gekommen und weiß viel davon. Ohne die Hilfe von Büchern.
quelle
Ich halte es für richtig, dass Programmieren nicht nur aus Büchern gelernt werden kann (wie die meisten Leute sagten), man muss viel üben und es gibt viele Ressourcen im Internet (Artikel, Videos, Beispiele usw.).
Aber ein gutes Buch füllt die Lücken Ihres Wissens. Wenn Sie ein Buch von Umschlag zu Umschlag gelesen haben, können Sie sicher sein, dass Sie keine Lücken in Ihrem Fachwissen haben. Die Herausforderung besteht jedoch darin, gute Bücher zu diesem Thema zu finden.
quelle