it-swarm.dev

Warum benutzen Leute Programmierbücher?

Ich finde, wenn jemand fragt, wie man am besten programmiert, lernen die Leute ihn normalerweise mit Verweisen auf eine Reihe von Texten, die von verschiedenen Autoren geschrieben wurden.

Ich glaube jedoch nicht, dass viele Menschen überhaupt lernen, aus Büchern zu programmieren. Ich finde, dass sie normalerweise vor einer Herausforderung stehen und dann die Programmierung als Werkzeug verwenden, um diese zu überwinden.

Zum Beispiel bin ich in die Programmierung eingestiegen, weil ich einen Server für ein Spiel starten wollte, das ich gespielt habe. Deshalb habe ich die Unterstützung für diesen bestimmten Server gegoogelt und durchgelesen. Jetzt bin ich ein angestellter Software-Ingenieur und benutze nur die Fähigkeiten, die ich entwickelt habe ( und dann weiterentwickelt) durch Codieren von C # -Skripten für ein nicht sehr beliebtes Serverpaket.

Meine Frage ist also, fällt es den Menschen im Allgemeinen leichter, aus diesen Büchern zu lernen? Ich weiß, ich habe einige von ihnen angeschaut und fand sie viel zu "trocken", um mich zu ermutigen, sie zu beenden.

94

So lerne ich im Allgemeinen:

  • Kauf ein Buch
  • Lesen Sie es nicht von vorne bis hinten, sondern wissen Sie, wo sich alles befindet
  • Finden Sie ein Haustierprojekt, an dem Sie arbeiten können
  • Lernen Sie aus Erfahrung, aber verwenden Sie das Buch als Referenz
  • Wo das Buch versagt, gibt es immer Google

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 es ist nicht großartig, um herauszufinden, was Sie nicht wissen. Warum sollten Sie jemals "C # -Delegierte" googeln, wenn Sie nicht zuerst wussten, dass C # ein Konzept namens "Delegierte" hat und dass es nützlich sein könnte, ein Problem zu lösen, an dem Sie arbeiten?

Außerdem kann das Signal-Rausch-Verhältnis manchmal etwas hoch sein. Wenn Sie eine ungefähre Vorstellung davon haben, wie etwas gemacht wird, können Sie leicht bestätigen, ob der Artikel, den Sie lesen, korrekt ist. Aber wenn Sie keine Ahnung haben ... können Sie in ein größeres Chaos geraten.

229
pdr

Einige Gründe, warum Bücher immer noch relevant sind:

  1. Ich finde es einfacher, viel Text auf Papier zu lesen als auf dem Standardbildschirm LCD Bildschirm, möglicherweise ändern E-Books auf einem E-Ink-Display dies.
  2. Das Buch beschreibt in der Regel das Gesamtbild und einige bewährte Methoden. Dies ist sehr gut, wenn Sie einen schnellen Start oder eine neue Ansicht benötigen.
  3. Google ist wirklich gut, wenn Sie Beispiele zu einem bestimmten Thema benötigen, aber nicht für das Gesamtbild.

Aber ein Buch wird dich niemals den ganzen Weg führen, es wird dich nur in die richtige Richtung treiben.

42
Johan

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 Computermagazine 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 als ähnlich genug für ein Buch betrachten 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", ob Buch oder Online-Tutorial, besteht darin, dass er Material abdeckt, das Ihnen später hilft, obwohl es eigentlich nicht notwendig 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 viele kleine Blogs über Ruby on Rails) lesen, ohne jemals von Ajax oder Sicherheitsfragen zu hören. Solange Sie nur herumspielen, das mag kein Problem sein. Aber wenn Sie, wie mir passiert, in die professionelle Entwicklung einsteigen möchten Ruby on Rails Entwicklung innerhalb weniger Wochen, Dann hilft es sehr, mit einem Text zu arbeiten, der alle wichtigen Punkte abdeckt.

Andere Bücher behandeln Details zum Programmierstil, zu Best Practices, Entwurfsmustern oder bestimmten Gruppen von Algorithmen. Sie können mit ihnen arbeiten und vielleicht wenden Sie von allen Entwurfsmustern 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 "sie irgendwie zum Laufen zu bringen".

Persönlich lese ich gerne, deshalb habe ich nicht das Gefühl, dass Bücher trocken sind. Obwohl es natürlich wichtig ist, dass sich das Buch auf Ihrem tatsächlichen Wissensstand oder darüber hinaus befindet. Wenn Sie bereits alle Grundlagen von C # beherrschen, ist es wenig sinnvoll, ein Anfängerbuch zu lesen.

28

Ein Buch (oder eine Webdokumentation, die wie ein Buch aufgebaut ist) ist immer noch meine bevorzugte Methode, um die meisten Sprachen zu lernen.

Wenn Sie nur in eine Sprache eintauchen und etwas für sich selbst herausfinden, werden Sie wahrscheinlich wichtige Aspekte verpassen, die Ihnen ein gutes Buch zum richtigen Zeitpunkt geliefert hätte.

Zum Beispiel lernten einige meiner Kollegen Java durch Eintauchen ohne Buch. Sie programmierten seit einigen Jahren in Java, als ich herausfand, dass dies der Fall war) Routinemäßiges Bearbeiten von Arrays von Byte [] durch Konvertieren des Arrays in einen String mit .substring () und anschließendes Zurückkonvertieren des Strings in ein Array. System.ArrayCopy () wird auf Seite 155 von vorgestellt. Java auf den Punkt gebracht

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 durchzukommen.

22
slim

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 mit "X" will/brauche.

Vielleicht bitten die Leute, die auf diese Weise lernen, nicht um Hilfe; Sie sind einfach zu beschäftigt damit (schlecht, aber lernen auf dem Weg). Die Leute, die Programmierer sein wollen (wie in dieser ersten Gruppe), stellen viele Fragen darüber, wie man ein Programmierer ist oder wie man programmiert, obwohl sie nicht unbedingt ein Problem zu lösen haben und dies auch nicht Fragen mit direkten Antworten.

Und so stochern wir in Büchern. „Oh ja, nimm eine Kopie von 'Dive into Python'." „Hast du so gelernt?" "Nein" "Ähm ..." "Ich bin ziemlich beschäftigt, aber ich werde dir helfen, wenn du feststeckst." "Äh ... OK, denke ich."

Auf der anderen Seite schätze ich es sehr, wenn ich lerne, 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änger" -Techniken, die ich auf dem Weg vielleicht nicht gelernt habe.

TLDR : Bücher sind gut, Lernen durch Handeln ist gut, Lernen durch Tun ist ???

Ich liebe es, technische Bücher zu lesen. Nicht alle technischen Bücher, nur die zu einem bestimmten Thema, an dem ich interessiert bin, sagen Sharepoint. Ich erinnere mich an das erste Buch, das ich wirklich (mehrmals) gelesen habe: s Programming Windows von Charles Petzold. Aus diesem und vielen anderen Gründen konnte ich eine Win32-Anwendung aus dem Speicher schreiben. Ich musste kaum nach einer API suchen und konnte mich stattdessen auf den Geschäftsteil konzentrieren.

Ich habe das Gefühl, dass Bücher eine "maßgebliche" Möglichkeit bieten, etwas zu tun, vielleicht von jemandem, der den richtigen Weg kennt, etwas besser zu machen 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 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 bin kann meinen Code eingeben. Nur weil ich im Web 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 immer noch Bücher von bekannten Autoren. Ich habe das Gefühl, dass der Inhalt von jemandem zu mir gebracht wird, der ihn gut erklärt (lehrt), und es erspart mir, den gesamten Müll aus meinen Google-Ergebnissen herausfiltern zu müssen.

15
Eddie Paz

Ich gehe davon aus, dass Ihre Frage nicht als "Warum alte Technologie wie ein gedrucktes Buch anstelle von HTML-Seiten verwenden" gemeint 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. Normalerweise wird Ihnen auch mitgeteilt, wo die Grenzen der Informationen liegen (was abgedeckt ist und worauf Sie sonst noch achten müssen). Nachdem Sie gelesen und damit gearbeitet haben, können Sie sicher sein, dass Sie eine bestimmte Fähigkeit erreicht haben. Wenn Sie mit gedrückter Schnellvorlauftaste lernen möchten, kann ein Buch Sie dazu zwingen, jeden Aspekt durchzuarbeiten, ohne die langweiligen Teile zu überspringen, zumindest wenn Sie der Struktur des Buches vertrauen. Die Sammlung mit dem Namen "Buch" ist meistens auch als Referenz nützlich.

Die Nutzung des Internets, Blogs, "Herumspielen" usw. fallen normalerweise in die Art unstrukturierter Informationen. Sie erhalten eine Menge Weisheit, aber Sie müssen mehr Sucharbeit leisten, um Ihr Wissen aufzubauen, denn niemand wird Sie dabei unterstützen, zu sagen: "Lernen Sie dies zuerst, oder Sie werden den Wert dieses Materials nicht erkennen, das Sie haben." habe jetzt gegoogelt ". Sie könnten bestimmte Teile vermissen, weil sie zu langweilig sind oder niemand Ihnen gesagt hat, dass sie wichtig sind. Möglicherweise lernen Sie etwas falsch, weil nicht alles, was im Internet geschrieben wird, von höchster Qualität ist. Möglicherweise verbringen Sie viel Zeit damit, nutzlose Suchergebnisse herauszufiltern. Sie könnten Tage damit verschwenden, selbst etwas zu erreichen, nur weil Sie ein bestimmtes Entwurfsmuster oder Programmierkonstrukt nicht kannten und niemand Ihnen davon erzählte. Je weniger Sie wissen, desto schlimmer wird es meiner Meinung nach mit unstrukturierten Informationen.

Um es ein bisschen provokativ auszudrücken: Ich würde niemals einem Architekten vertrauen, eine Brücke zu bauen, die ich jeden Tag überqueren muss, wenn er mir sagen würde, er hätte nie ein Buch über Brückenbau oder Strukturanalyse gelesen, sondern es nur durch Herumspielen und Verwenden von Google gelernt ...

14
Ray

Wie erwarten Sie als C-Programmierer, Python ohne Buch oder Lehrer) zu lernen?

Wenn Sie nur die grundlegende Syntax lernen und direkt eintauchen, werden Sie am Ende C-Code in Python schreiben und zu dem falschen Schluss kommen, dass Python genauso ausführlich ist) und schmerzhaft wie C.

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 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 ist genau dort und wartet darauf, gelesen zu werden. Heutzutage könnten Sie wahrscheinlich einige Open-Source-3D-Engines im Internet finden, aber wenn Sie den Code grundlegend ändern müssen, sind Sie wahrscheinlich in Schwierigkeiten - normalerweise gibt es kein Hilfeforum und die Leute auf SO wird die Antwort auf Ihre Frage nicht kennen, wenn sie sehr spezialisiert ist. Wenn es um wirklich spezielle Dinge geht, können nur ein paar Dutzend Menschen auf der ganzen Welt Ihre Frage beantworten, ohne Stunden damit zu verbringen Finden Sie genug heraus, um eine Antwort zu finden. Wenn Sie fragen, wie eine verknüpfte Liste in C # implementiert werden soll, erhalten Sie im ersten Schritt mehr als 5 Antworten auf SO) 10 Minuten, aber wenn Sie sich fragen, wie Sie am besten einen komplexen Schattierungsalgorithmus in three.js implementieren können, wird Ihre Frage wie ein Stein von der Titelseite sinken.

Darüber hinaus werden Bücher fast ausschließlich aus der Perspektive geschrieben, die der Leser über die Theorie erfahren möchte, während Google nur zufällige Junk-Code-Schnipsel erstellt, archivierte Diskussionen über das Thema, in dem niemand weiß, wovon sie sprechen 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 aufgeholt.

9
Michael

Die Qualität des Schreibens in den besten Büchern ist so, dass viele der nicht offensichtlichen Probleme dargelegt werden, bevor Sie überhaupt anfangen. 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 Eintrittsbarriere sind viele Informationen online zu einfach, fehlen in Details oder sind einfach falsch. Dies kann auch bei Büchern passieren. Stellen Sie also sicher, dass Sie nur den 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 überprüfen, indem Sie auf sie verweisen oder es selbst versuchen.

7

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 Ihre Aufgaben schwierig zu organisieren sind.

Ich lese eigentlich keine physischen Papierbücher mehr - neben mir befindet sich ein elektronischer Leser und auf meinem Laptop befindet sich eine Kindle-Software, mit der ich auf die gesuchten Informationen zugreifen kann.

Google ist hilfreich, wenn Sie nicht nach einer strukturierten Übersicht über das Programmieren suchen, sondern Details zum Programmieren einer bestimmten Aufgabe benötigen. Jemand hat fast immer vorher Code für diese Aufgabe geschrieben oder zumindest so etwas.

Ich denke, es gibt einen Unterschied zwischen dem Programmierenlernen und dem Programmieren einer bestimmten Aufgabe. Ich würde die Qualität des Codes von jemandem in Frage stellen, der nur durch das Googeln bestimmter Aufgaben etwas gelernt hat, wenn er nie wirklich einen anständigen Überblick über das Programmieren bekommen hat. Dies ist nicht sprachspezifisch, sondern eher konzeptionell.

6
temptar

Bücher sind nützlich, wenn Sie tiefer in ein Thema einsteigen möchten. Sicher, ich habe C # gelernt, indem ich ein paar Tutorials gemacht und einige (Haustier-) Projekte geschrieben habe. Aber C # in der Tiefe ist immer noch nützlich, um zu sehen, was darunter vor sich geht, und um ein paar neue Dinge zu lernen.

Ich kann auch ein Programmierbuch nehmen und in meinem Bad oder draußen lesen in der Sonne. Ich kann das mit meinem Desktop-PC nicht machen.

4
Carra

Weil es eine bequeme Möglichkeit ist, von anderen Programmierern zu lernen.

Bücher sind eine Ergänzung. Sie können nur so schnell alleine so weit kommen. Wer würde nicht lieber an einem Projekt mit einem besseren Programmierer teilnehmen, der bereit ist, Ihnen etwas beizubringen, als nur das Buch zu lesen?

Ich benutze sie eher als Referenz als als "Alles, was Sie jemals über Programmierung wissen müssen".

4
JeffO

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, half das Buch wirklich dabei, die Möglichkeiten aufzuzeigen und mich zu fragen, was die C++ - Äquivalente waren. Natürlich fand das Mastering statt, wenn es in einem Projekt (in realer Größe) verwendet wurde. Aber das Buch hat wirklich geholfen, auf Unterschiede und Möglichkeiten hinzuweisen.

3
refro

Ich möchte Programmierer werden, deshalb benutze ich Programmierbücher. Mit Büchern kann ich professionell programmieren.

3
Benny

Ich habe lange kein Programmierbuch mehr gelesen. Ich benutze sie als Referenzhandbücher, 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 echte 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 Programmieren ziemlich verkrüppelt. Ich habe nie gute Grundkenntnisse in der Sprache. Ich wusste nicht, dass ich diese 15 Zeilen unordentlichen Codes in saubere zwei Codezeilen verwandeln kann. Ich konnte also Probleme lösen, aber ich habe C nicht in vollem Umfang genutzt.

Dann entschied 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 hatte, ein C++ - Für Dummies-Buch. Ich habe ungefähr 3/4 davon durchgelesen und in dieser Zeit sehr wenig "getan". Als ich in mein erstes Projekt gesprungen bin, anstatt mich mit diesen 15 Zeilen unordentlichen Codes vertraut zu machen, wusste ich, dass es das gab ein einfacher Weg, es zu tun (obwohl ich es vielleicht 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 ungefähr 3/4 des Buches fertig war. Und für das, was ich nicht gelernt habe, habe ich Stack Overflow nach interessanten C # -Fragen durchsucht. Als ich in mein erstes Projekt einstieg, würde ich sagen, dass der größte Teil meines Codes relativ sauber war und seitdem nur einmal "enorm" ü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. Darüber hinaus werden sie jedoch meistens vom Internet unbrauchbar gemacht, abgesehen natürlich von den starken theoretischen und speziell als Referenzmaterial konzipierten Büchern.

3
Earlz

Kurz gesagt, ich denke, dass Bücher auf hohem Niveau eher nützlich sind. Sie können Ihnen Entwurfsrichtlinien geben und Ihnen helfen, Probleme zu verhindern, anstatt sie zu lösen.


Bücher haben sicherlich ihre Nachteile. Meine Kopie von Programming Python umfasst Python 2.0, aber die von mir verwendete Laufzeit ist 2.6.

Ich denke jedoch, dass der wichtige Aspekt von Büchern ist, dass Sie Dinge finden können, über die Sie nicht stolpern würden. Google hilft Ihnen bei der Lösung spezifischer Probleme, aber Bücher helfen Ihnen beim Design. 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 diese Sprache verwendet wird.

Andere Bücher sind gut, um Ihr Wissen zu verfeinern. Ich denke, Scott Murphys Effective C++ - Buch ist ein gutes Beispiel. Obwohl dieses Buch nicht wirklich gut zum Erlernen von C++ geeignet ist, hilft es Ihnen, Probleme im Algorithmus-/Schnittstellen-/Vererbungsdesign zu erkennen, auf die Sie (noch) nicht gestoßen sind oder die Sie nicht umgangen haben. Es mag leicht sein, eine einfache Lösung zu finden (die später andere Probleme verursacht), 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 werden, die sie lohnenswert macht. Die Sorgfalt und der Aufwand, mit denen sie geschaffen werden, und der Wunsch nach einer strengen Ausbildung geben den Büchern einen Wert. Als Nebeneffekt erhalten Sie häufig nützliche Online-Ressourcen wie C++ FAQ lite oder E-Books wie Dive in Python . Es gibt auch Online- Nur 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.

3
idbrii

Es geht weniger darum, was Sie lesen, sondern wie viel. Ich mag es, ein paar Programmierbücher unterwegs zu haben, 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.

2
Mild Fuzz

Sie können Probleme lösen, ohne Bücher zu lesen, aber wissen Sie dann wirklich, was hinter Ihrem Programm passiert, um dieses Problem zu lösen?

Sie müssen wissen, was passiert und was eine bessere Alternative hätte sein können. Dafür braucht man gute Programmierbücher. Es reicht natürlich nicht aus, nur Bücher zu lesen. Sie müssen den Inhalt verstehen, andere Bücher durchgehen, über verschiedene Lösungsansätze nachdenken und so weiter. Das Lernen geht mit und ohne Bücher weiter.

2

Ich bevorzuge die Verwendung von Büchern, da ich der Meinung bin, dass sie einen Überblick über den Stand der Technologie geben, an der Sie arbeiten. Der Autor gibt an, dass Sie mit der X.X-Version der Y-Sprache/Bibliothek das Problem Z auf diese Weise lösen. In den Website-Tutorials wird möglicherweise nicht aufgeführt, welche Versionen sie verwenden, oder es wird der Beispielcode bereitgestellt, den sie verwenden, während Bücher dies häufig tun.

In Büchern wird häufig das "Warum" behandelt, mit dem diese Lösung das Problem löst, während Online-Dokumente normalerweise kopiert und eingefügt werden.

Sie können auch häufig Links zu all Ihren Referenzen verlieren, sie können sich verschieben oder nach unten gehen. Ich schütze und pflege meine Bücher wie eine Investition (die sie sind).

2
Spacebob

Ich neige dazu, aus beiden Büchern und "just in time" -Quellen wie dem Web zu lernen (zu programmieren). Beides kann gut sein, aber insgesamt lerne ich lieber aus Büchern. Hier ist der Grund:

Wenn Sie nur das lernen, was Sie sofort wissen müssen, um einen Teil eines Projekts abzuschließen, verpassen Sie manchmal das große Ganze. Die besten Bücher sind nicht nur Referenzen, sondern erreichen gewissermaßen etwas, das einer Lehre näher kommt, indem sie einen umfassenden Überblick über eine Technologie und viele erfahrene Ratschläge zu den besten Lösungen für häufig auftretende Probleme bieten.

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 laufen dann zu den Interwebs, um herauszufinden, wie Sie es implementieren können . Dies kann Sie jedoch häufig in Schwierigkeiten bringen. Wenn Sie in der Lage gewesen wären, mit einem erfahrenen Programmierer über Ihr Problem zu sprechen, würden diese Ihnen nicht sagen, "wie X gemacht wird", sondern "nicht tun" X, mach stattdessen Y ". Und dies ist die Art von Wissen, die Sie normalerweise aus den besten Büchern erhalten. In der Tat handeln einige Bücher ausschließlich von solchen Dingen, wie z. B. 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. Aber oft kann nur das Vorhandensein eines grundlegenden Wissenskerns das Erlernen einer neuen Sprache oder eines neuen Rahmens beschleunigen. Anstatt über die Grundlagen zu stolpern, beginnen Sie mit einem soliden Fundament und bauen dann von dort aus. Ein guter Teil des Materials, den Sie beim Lesen eines Buches behandeln können, ist möglicherweise nicht sofort nützlich für Sie, aber dieses Hintergrundwissen kann hilfreich sein, um Ihre Entscheidungen zu treffen und insbesondere neuen Code zu verstehen, dem Sie ausgesetzt sind. Es gibt natürlich einen Kompromiss und es gibt schlechte Bücher, die sich nur auf nutzlose Fakten stapeln, an die Sie sich nicht erinnern werden, nachdem Sie sie gelesen haben, aber es gibt auch gute Bücher, die Ihnen eine gute Grundlage für die Grundlagen geben und was auch dann möglich ist, wenn Sie müssen dieses Wissen nicht täglich nutzen.

Es gibt auch Bücher auf einem höheren Niveau als ein einzelnes technologisches Thema, die meiner Meinung nach entscheidend für die Reifung als Entwickler sind. Bücher wie Code Complete , Refactoring , Effektiv mit Legacy-Code arbeiten usw. Sie werden das Wissen aus diesen Büchern nicht einfach aufgreifen durch JIT-Lernen.

1
Wedge

Ich denke, ich gehe zum Lesen von Büchern. Insbesondere zum Herunterladen von E-Books. Lesen Sie jeden Teil des Kapitels. Kopieren Sie den Code! In Ihren Programmiereditor einfügen und dann sehen, was die Ausgabe ist. Dann versuchen Sie, die Logik zu ändern. Ich erwähnte herunterladbare E-Books, um schneller zu arbeiten. Bücher sind wirklich hervorragend. Ich lüge nicht, aber seit letztem November bis heute. Ich bin fertig Es erfordert Liebe zum Lesen. Was die Neulinge tun, ist, dass sie ein bestimmtes Problem lösen, indem sie die Hilfe aus dem Internet nutzen. Aber wenn ihnen eine wirklich komplexe Aufgabe gegeben 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 mir wurde die Aufgabe übertragen, Beziehungen zwischen speicherresidenten Kopien von Datenbanktabellen herzustellen. Ich kann dies nicht tun.

1
Adeel

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 Websites 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 erhalten, kann dies sehr nützlich sein. Ein Freund von mir las einige 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 Vorgeschmack auf das Buch zu bekommen, damit Sie nicht viel 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. Ich habe das oft gemacht, als ich an KI-Algorithmen gearbeitet habe, als ich an einem Checkers-Spiel mit J2ME gearbeitet habe. Ich habe dies auch getan, als ich lernte, 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 dunkler sind.

1
Lea Hayes

Für neue Programmierer ist es sehr schwierig zu verstehen, was Programmierung tatsächlich ist und wie tief sie ist.

Jeder kann ein Programm schreiben, das einem Computer sagt, dass er es tun soll - so ziemlich alles mit sehr wenig Lernen, das ist nicht schwer! Was schwierig ist, ist ein Programm zu erstellen, 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, eine kleine Kurve.

Wie helfen Bücher, diese "echten" Programmierprobleme auf eine Weise zu lösen, die das Nachschlagen von Referenzen im Web nicht tut?

Nun, zwei meiner Lieblingsbücher sind "Design Patterns" und "Refactoring".

Refactoring ist ein großartiges Buch, in dem Sie lernen, wie Sie schlechten Code erkennen. 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 es Programmierern, effektiver zu kommunizieren, 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 - googeln, was Sie tun möchten.

Ich wurde in Interviews gebeten, diese beiden Bücher zu beschreiben und was sie erreichen wollen. Ich denke, dies ist eine sehr gültige Interviewfrage ... Ich möchte einem Programmierer Aufmerksamkeit schenken, der nichts über diese beiden wusste Bücher, es sei denn, er bewarb sich um eine extrem junge Position.

0
Bill K

Ich habe gelernt, direkt aus Büchern zu programmieren. Vor ungefähr 20 Jahren, bevor Google und das Netz jemals populär wurden. Ich denke, das sind großartige Ressourcen. Die meisten modernen Bücher zitieren jedoch nur technische Artikel der Hersteller. 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 fast seit ich finanziell machbar war, Zugang zum Internet hatte. Ich war nie in der Lage, ein umfangreiches Projekt abzuschließen. Sicher, ich könnte viele der umfangreichen Projekte in großen, fortgeschrittenen Büchern durchführen, in denen 20 Kapitel benötigt werden, um Sie durch das Projekt zu führen, aber wenn es um meine eigenen Projekte in der realen Welt ging, bin ich immer ohne Ausführung gegen eine Mauer gestoßen. Ich muss dir sagen, ich habe einige 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 4. Jahr und Meister und konnte produktive Gespräche über die Theorien von AI, HCI, Assembler und Compiler-Entwicklung führen. Trotz all dieses Wissens konnte ich kein vernünftiges Programm erstellen. Was habe ich vermisst ... Das einzige, was Sie aus keinem Buch oder online bekommen können.

Struktur. Im ersten Jahr habe ich nichts Technisches gelernt (Ich kannte das Ganze schon und habe es ohne ein tägliches 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 habe ich viel Neues gelernt (immer noch die Grundlagen im Vergleich zu dem, was ich wusste, aber ich habe die Theorie, die ich kannte, in die Praxis umgesetzt). 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 fest daran, dass kein Buch oder keine Website lehrt oder lehren kann, was man selbst nach 2 Jahren College bekommt. Wenn Sie es geschafft haben, Projekte abzuschließen, ohne jemals aufs College zu gehen, ist dies ein faires Spiel, aber es ist eine Erfahrung, die ich unabhängig vom Alter wärmstens empfehlen kann.

Bücher sind gut, Internet ist besser, Google und Sie Tube sind fabelhaft, aber nichts geht über gute alte Mode College 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.

0
Jack Spratt

Ich denke, es ist richtig, dass Programmieren nicht nur aus Büchern gelernt werden kann (wie die meisten Leute erwähnt haben), man muss viel üben und es gibt viele Ressourcen im Internet (Artikel, Videos, Beispiele usw.).

Aber ein gutes Buch füllt die Lücken in Ihrem Wissen. Nachdem Sie ein Buch vollständig gelesen haben, können Sie sicher sein, dass Sie keine Lücken in Ihrem Wissen über das Thema haben. Die Herausforderung besteht jedoch darin, gute Bücher zu diesem Thema zu finden.

0
Manoj

Ich habe keine Ahnung. Ich bin gegen das Programmieren von Büchern. 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 darüber. Ohne die Hilfe von Büchern.

  • Google dafür
  • Schauen Sie sich nach einer professionellen, vollständigen Open Source-Anwendung um
  • Durchsuchen Sie diesen Code und versuchen Sie, herauszufinden, was los ist.
  • Versuchen Sie, eine schnelle/einfache Anwendung aus Ausschnitten eines vorhandenen Codes zu schreiben.
  • Versuchen Sie es selbst neu zu schreiben.
  • Weitere Tutorials finden Sie im Internet
  • Erfahrung sammeln
  • Nimm mehr Erfahrung mit
  • Du hast gerade eine neue Sprache gelernt! (Ich habe nicht gesagt, dass Sie ein Experte sein werden, aber die Grundlagen werden in wenigen Stunden oder Tagen erlernt.)
0
genesis