Als Anfänger finde ich zum Beispiel viel Inspiration und Anleitung, wenn ich diesen Beitrag von Bryan Woods lese .
Als Anfänger finde ich zum Beispiel viel Inspiration und Anleitung, wenn ich diesen Beitrag von Bryan Woods lese .
Antworten:
Ich bin überrascht, dass niemand den Pragmatischen Programmierer erwähnt hat . Es ist ein Muss, wenn Sie überhaupt an Ihrem Handwerk interessiert sind.
Handschuhe
Dieser Beitrag der Daily WTF hat mich auf dem richtigen Weg gehalten. Ich gebe zu, dass ich mehrmals damit begonnen habe, etwas zu entwickeln, bei dem ein Paar "Handschuhe" die geeignete Lösung war.
Lesen Sie die Rede von Alex Stepanov bei Adobe. Am Ende von 5 Jahren wird dies die GROSSEN von den GUTEN trennen.
Ich fand Coding Horror und Joel in Software immer inspirierend für bestimmte Blog-Posts. Sie gaben mir auch immer ein gutes Gefühl, weil ich verstand, worüber sie sprachen, und mich selbst als Programmierer sah.
Ich kann nicht glauben, dass dies noch niemand erwähnt hat.
Paul Grahams Schriften , insbesondere:
Und ein Haufen Leute, auf deren Fußstapfen man treten und auf deren Schultern man stehen muss (in keiner bestimmten Reihenfolge und aufgelistet, wie sie mir jetzt im freien Fluss in den Sinn kommen): Alan Kay , Richard Stallman , Ken Thompson , Dennis Ritchie , Brian Kernighan , Theo de Raadt , Linus Torvalds , Eric S. Raymond , Rob Pike , Bill Gates , Steve Jobs , John MacCarthy , John Conway , Martin Odersky , James Gosling , Guy Steele , Donald Knuth ,Edsger Dijkstra , John Carmack , Peter Molyneux ... Entweder waren ihre eigenen Worte und Werke inspirierend oder ihre Geschichten wurden von anderen erzählt. Solange Sie bedenken, dass ihre Fähigkeiten und ihr Genie in einigen Bereichen sie nicht davon abhalten, blind gegenüber ihrem eigenen Glauben an andere zu sein. Wie jeder andere auch. (Die beiden oben aufgelisteten Bücher decken diese bereits ziemlich gut ab, für die meisten von ihnen!)
Oder weniger berühmte, aber dennoch aktive Technologen, die aus der Ferne interessant sind: Neal Gafter, Martin Fowler , Don Syme usw.
Ich war inspiriert von den Arbeiten dieser Menschen und den Dingen, die sie unternommen haben, um ihre Projekte zu verwirklichen (oder aufzugeben).
Als Kind den 2600 zu lesen, als mein Englisch embyonisch war, inspirierte mich die Geschichte früher Phreaker wie Captain Crunch oder die Geburt der PC-Ära mit Wozniak bei Apple sowie das Lesen von Büchern und Aufsätzen von William Gibson und Neil Stephenson als Programmierer , obwohl es sich nicht direkt auf die Programmierung bezog. In diesem Sinne waren und sind sogar das Hacker-Manifest , das Agile Manigesto oder auch Dinge wie der IEEE-Ethikkodex inspirierend.
The Last Lecture ein Buch von Randy Pausch, dem Mann hinter Alice. Es geht zusammen mit seinem letzten Vortrag "Really Achieving your Childhood Dreams". Ich muss immer daran denken, ein Tigger zu sein.
Das Buch Die Elemente des Programmierstils von Kernighan und Plauger war für mich sehr einflussreich, als ich C lernte. Das Buch galt bereits als "veraltet", als ich es las, da PL / I- und Fortran-Beispiele verwendet wurden, aber Die Tipps gingen über beide Sprachen hinaus.
Bevor ich dieses Buch gelesen habe, war ich überzeugt, dass "Stil" in Bezug auf das, was ich jetzt als trivial betrachte, wie die Formatierung (wie viele Leerzeichen für einen Tabulator? Wo platzieren Sie die Curlies?). Aber Stil ist das, was Sie haben, wenn Sie Formatierungs- und Benennungskonventionen entfernen. Ist es einfacher, eine Zeichenfolge rückwärts zu konstruieren und dann umzukehren? Dann konstruiere es rückwärts und kehre es um.
Ein weiteres Buch von Kernighan und Plauger, Software Tools , war ebenfalls hilfreich, aber nicht ganz so gut. Und das viel neuere Buch The Practice of Programming von Kernighan und Pike ist ebenfalls nützlich, aber weit entfernt von den Elementen des Programmierstils . Ich wünschte, ich hätte noch mein Exemplar. Es lohnt sich für jeden Programmierer zu lesen.
Nachdem ich Glenford Myers Die Kunst des Softwaretests gelesen hatte, wurde mir das Testen und die Qualitätssicherung immer wichtiger . Es zeigte mir, dass Testen eine echte kreative Aktivität war und nicht nur etwas für Informatik-Majors, die nicht gerne programmieren. Vielleicht wenden sich mit der wachsenden Popularität von Test-Driven Development mehr Menschen Myers 'Buch zu.
Und ich kann mir keine bessere Einführung in den Begriff der Abstraktion vorstellen als das Buch Die Struktur und Interpretation von Programmen , das kostenlos online erhältlich ist. Es führt in die Programmiersprache Scheme ein, stößt jedoch auf viele andere Themen in der Informatik, einschließlich deklarativer Programmierung.
In meiner akademischen Laufbahn hat mich das Konzept der aspektorientierten Programmierung inspiriert. Sie können einige der sehr frühen Veröffentlichungen über AOP lesen und am Ende eine halbe Seite Notizen für Ideen erhalten.
Ich denke auch, dass der Fortschritt von Kirche und Turing sehr inspirierend ist. In den 1930er Jahren, noch bevor Computer hergestellt wurden, programmierten Wissenschaftler und Mathematiker in einer höheren Programmiersprache: Lambda-Kalkül. Die Konstruktion von Kirchennummern und der Vorgängerfunktion ist wahrscheinlich eine der cleversten Programmierkonstruktionen überhaupt. Es zeigt Ihnen, wie Sie aus fast nichts etwas machen können.
Nichts, was ich gelesen habe. 1984 sprach ich mit meinem Nachbarn und seinem Freund. Ich war 16. Der Freund sagte mir, dass im Wesentlichen die Welt zwischen Computerbenutzern und Computerprogrammierern aufgeteilt ist. Er sagte, nur die klügsten Leute der Welt können Programmierer werden.
Yeeeeee! Was für eine Herausforderung!
Original Joel über Software , die Art und Weise, wie er schreibt, machte es mir sehr leicht, die Konzepte zu verstehen, als ich anfing.
Code Complete, Zweite Ausgabe von Steve McConnell.
Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software von Erich Gamma
Ich bin Autodidakt und hatte das Glück, schon früh in meiner Arbeit auf einen Artikel (den ich längst vergessen habe) zu stoßen, der mich auf diese beiden Bücher hinwies. Die Umwandlung meines Codes nach dem Lesen dieser beiden Bücher war atemberaubend. Diesen Autoren verdanke ich viel.
Zur Inspiration Yegges Blogs , Grahams Essays und die SICP Video Lectures .
Unter vielen Inspirationen war das jüngste dieses Buch über: Lehrlingsmuster
Als ich 1995 das Design Patterns Book zum ersten Mal las , war es für mich als Programmierer ein echter Blickfang.
Heutzutage hat mich James Shores ' Buch über agile Entwicklung sehr inspiriert, und in letzter Zeit auch Lyssa Adkins über Trainerteams, die beide sehr zu empfehlen sind, wenn Sie sich für solche Dinge interessieren.
Diejenigen, die östlicher Abstammung sind, können ein süßes kleines Koan-Buch über das transzendente Tao der Programmierung genießen .
Dies war mein erster Schritt auf dem Weg zur Erleuchtung und das erste, was mich dazu ermutigte, über Programmierung und kreative Arbeit im Allgemeinen nachzudenken, als eine unüberwindliche Entität, die es gibt, die der Schöpfer im Laufe der Zeit entdeckt. Diejenigen, die versuchen, dagegen anzukämpfen oder es zu verstehen, werden mit Sicherheit scheitern.
Ich sollte diesen Artikel alle sechs Monate erneut lesen. Wenn keine Shareware-Experten 100-mal schlauer sind als Sie, warum erzielen manche dann das 100-fache der Ergebnisse? - durch Steve Pavlina
Der kleine LISPer hat mich umgehauen.
Ich nahm an einem High School Pascal Programmierkurs teil. Ich kannte C64 Basic bereits ziemlich gut und fragte den Lehrer, ob alle Programmiersprachen Basic und Pascal seien. Er lieh mir sein Exemplar des Little LISPer. Nachdem ich das Wochenende damit verbracht hatte, es zu lesen, glaubte ich nicht, dass eine so seltsame Sprache existieren könnte oder funktionieren würde. Als ich sah, wie es auf dem Wähl-Mini lief, zu dem er Zugang hat, war ich platt. Es hat existiert.
Nach meinem zweiten Programmierkurs an der Universität; Algorithmen und Datenstrukturen wechselte ich die Hauptfächer, um Zugang zum besseren CS Computerlabor zu erhalten. Sie hatten Unix-Maschinen mit lisp, scheme, prolog, SmallTalk80 und einer Menge anderer Tools.
Code abgeschlossen . Es deckt die meisten grundlegenden Themen ab, die Sie als Programmierer kennen müssen, und gibt Ihnen Anweisungen, um mehr über die einzelnen Themen zu erfahren. Ein sehr guter erster Schritt in einem Lernpfad. Ich und viele Leute, die ich kenne, wünschen sich, dass sie es früher in ihrem Programmiererleben lesen.
Das inspirierendste Gespräch, das ich je gehört habe, war Richard Gabriel, der davon sprach, dass Schreibsoftware dem Schreiben von Gedichten ähnlich ist. Dichter verwenden oft viel Mühe, um ein paar Worte richtig zu formulieren - denken Sie an Haikus - und wir sollten uns beim Schreiben von Software um dieselbe Art von Exzellenz und Eleganz bemühen.
Eleganz und Prägnanz sind in der Programmierung ebenso wichtig wie in der Poesie und in der Mathematik, und es erfordert viel Mühe, dies fließend zu tun.
Siehe einige der Punkte auf http://www.dreamsongs.com/PoetryOfProgramming.html
Das nützlichste Einzelbuch aller Zeiten - nicht über Programmierung, sondern darüber, wie man auf diesem Gebiet effektiv arbeitet: "Peopleware" von DeMarco und Lister. Sollte in jedem Programmierer-Bücherregal stehen. Und wenn Sie ins Management aufsteigen, dann gleich doppelt.
Wie Alan Kay vor fast 30 Jahren sagte , ist Sicht 80 IQ-Punkte wert. Bücher, die meine Sichtweise geändert haben:
"Philosophische Untersuchungen" von Ludwig Wittgenstein
Manchmal glauben wir zu wissen, obwohl wir es nicht wissen. W. zeigt, wie man genauer hinschaut.
"Fakt, Fiktion und Prognose" von Nelson Goodman
Hier habe ich gelernt, was das Wort Analytik wirklich bedeutet. Auch was das Wort pragmatisch wirklich bedeutet.
"Zen und die Kunst der Motorradpflege" von Robert M. Pirsig
Wie kann es Dinge geben, die besser sind als andere? Warum ist nicht alles gleich, was die Qualität betrifft? IOW, was haben gute Filme, gute Autos, gutes Essen und gute Software gemeinsam, das macht sie gut?
Ich fand es sehr inspirierend , wie man ein Hacker wird . Es gibt auch eine praktikable Roadmap für die Entwicklung als Programmierer.
Seele einer neuen Maschine (Inspiration als ich in der High School war) SICP (wahrscheinlich eines der besten Bücher in Bezug auf Softwareentwicklung, die ich je gelesen habe)
Marvin Minsky
Berechnung: Endliche und unendliche Maschinen
Semantische Informationsverarbeitung
Seth Godin ist zwar nicht vollständig programmierbezogen, hat aber einige inspirierende Stellen für mich als Programmierer und hoffnungsvolle Geschäftsperson (zusätzlich zu Joel on Software).
Das Buch der fünf Ringe von Myomoto Musasashi.
Einige Höhepunkte.
Ich habe kein Lieblingswerkzeug. Lernen Sie, jedes Werkzeug zu benutzen, zu lernen, wann es angebracht ist, seine Schwächen und Stärken zu kennen.
Mitarbeiter, deren Arbeit nicht perfekt ist, können an Orten eingesetzt werden, an denen die Qualität ihrer Arbeit öffentlich sichtbar ist. Die Säulen, die den Boden unter einem Gebäude stützen, müssen nicht perfekt ausgeführt sein (sie müssen nur funktionieren).
Wenn Sie eine Sache tun, tun Sie viele Dinge. Wenn Sie also die Wahl zwischen A und B haben, B aber nächste Woche viele Dinge erledigen kann, tun Sie B, wenn Sie es sich leisten können.
Ich habe mit dem Programmieren von Spielen angefangen. Es kommt alles aus NES-Tagen. Ich wollte Spieleentwickler werden und habe es erreicht, wechselte aber zur besseren Karriere zu Application Software / Hardware Analyst, da mein Land für die Spieleindustrie zu nisch ist.
Tatsächlich habe ich es in meiner Anfangszeit ein wenig bereut, in diese IT-Rolle eingetreten zu sein. Aber später wurde er von meinen Ex-Kollegen zu seinen Leistungen inspiriert und beeinflusst und sie waren in diesen neuen technischen Entwicklungsbereichen ziemlich aktiv. In meiner Freizeit werde ich mich mit Softwareprogrammierung mischen, um mit meinen Ex-Kollegen an persönlichen Projekten zu arbeiten.
Ich weiß, es ist eine schwierige Lektüre, aber Knuths Kunst der Computerprogrammierung ist eine wirklich große Sache auf unserem Gebiet. Und Douglas Hofstädters Gödel, Escher, Bach: Ein ewiger goldener Zopf ist für diejenigen von uns mit einer mathematischen oder algorithmischen Neigung inspirierend.
Die bloße Vorstellung von jemandem, der vor fast einem Jahrhundert so komplexe Methoden und Algorithmen entwarf, motiviert mich.