Welche Dinge, die Sie gelesen haben, haben Sie als Programmierer inspiriert und geleitet? [geschlossen]

32

Als Anfänger finde ich zum Beispiel viel Inspiration und Anleitung, wenn ich diesen Beitrag von Bryan Woods lese .

aredkid
quelle
Wie haben Sie diesen Blog-Beitrag gefunden? Das war eine großartige Lektüre.
Michael Riley - AKA Gunny

Antworten:

26

Ich bin überrascht, dass niemand den Pragmatischen Programmierer erwähnt hat . Es ist ein Muss, wenn Sie überhaupt an Ihrem Handwerk interessiert sind.

Wyatt Barnett
quelle
Früher war es ein "Muss".
kirk.burleson
2
@ kirk.burleson: Es ist immer noch so.
Steven Evers
Ich bin damit einverstanden, das Lesen hat mir sehr geholfen, zu verstehen, was wir tun und wie ich vorgehen soll.
aredkid
Ich liebe die Strophe `` select '' Isn't Broken. Es ist nicht kaputt, es ist nur zum Kotzen :)
Tim Post
Nachdem ich es endlich gelesen habe, werde ich zustimmen. Und ich nehme an, es ist eine würdige Antwort.
Aredkid
13

Handschuhe

Handschuhe - werfen Sie einen genauen Blick auf Ihre erste Überarbeitung und sagen Sie sich einfach "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.

Covar
quelle
3
Ich verstehe es nicht.
kirk.burleson
1
Kirk, Sie müssen den verlinkten Artikel lesen, um eine Antwort zu erhalten, die möglicherweise Sinn ergibt ... obwohl dies selbst dann nicht wirklich der Fall ist.
Peter Boughton
5
Wenn Sie über ein Problem nachdenken, können Sie schrecklich komplexe Lösungen finden, die aufgrund der bisherigen Designentscheidungen immer komplizierter werden. Um den verlinkten Artikel zusammenzufassen, versuchen sie, ein lächerliches Körperheizungssystem zu schaffen, um Ihre Hände warm zu halten. Anstatt nur Handschuhe zu tragen
Matt Phillips
großartiger Beitrag! Ausgezeichnet.
Dave
+1 Ich habe die Geschichte gelesen. Ich kann nicht glauben, dass sie nicht aufgehört haben nach dem "Das ist großartig: Wir können Körperwärme effizienter wiederverwenden! Auf diese Weise könnte das System auch beim Laufen / Joggen verwendet werden." Kommentar.
Evan Plaice
12

Lesen Sie die Rede von Alex Stepanov bei Adobe. Am Ende von 5 Jahren wird dies die GROSSEN von den GUTEN trennen.

http://www.scribd.com/doc/210467/Speech-by-Alex-Stepanov

Aussenseiter
quelle
Weißt du, Stepanov hat einige Dinge gesagt, mit denen ich nicht einverstanden bin, aber diese Rede ist ausgezeichnet.
Frank Shearar
@Frank: Bitte zögern Sie nicht, uns mitzuteilen, ob dies mit der Programmierung zu tun hat. Vielleicht können wir alle etwas von Ihnen lernen. Sprechen wir nicht über seine amerikanischen Kommentare.
Geek
Seine Kommentare zu OOP sind einfach falsch: stlport.org/resources/StepanovUSA.html Er hält OOP für Single-Dispatch und für klassenbasiert. (CLOS verwendet Multiple Dispatch, Self und Javascript basieren auf Prototypen, als Gegenbeispiele.)
Frank Shearar
Gibt es eine andere Quelle als das Protokoll? Er stellte fest, dass das Transkript Fehlübersetzungen aufwies.
Jonn
@Frank Shearar Der Kerl macht aus der Einfachheit potenzielle Spaghetti, glaube ich. Vor etwa einem Jahr hielt er einen Vortrag in russischer Sprache. Dort sagte er, er bevorzuge einfache Dinge wie "für, wenn" und sehe im Wesentlichen nichts Schlechtes darin, Pascal in einer beliebigen Sprache zu schreiben, wenn der Code effektiv und klar ist (im Gegensatz zu einer fehlerhaften Typisierung, wie ich es verstehe).
mlvljr
10

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.

Sternberg
quelle
8

Lesen

Sehen


Manchmal geht es mehr um Menschen ...

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

Manchmal geht es mehr um eine Kultur und einen Traum und darum, Grenzen zu überwinden ...

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.

Haylem
quelle
+1 für das Bewerbungsgespräch. Tolles Interview und absolut korrekt für Gastgeber und Gäste.
Steven Evers
++ für 11 Links in 11 Wörtern
sova
@sova: danke, ich musste sie tatsächlich ausgraben, aber ich dachte, das könnte hilfreich sein. Wenn Sie darüber nachdenken, ist es möglicherweise besser, nur auf eine Suche auf YouTube zu verweisen, falls diese gelöscht werden.
Haylem
Sie haben vergessen, Wau Holland (einer der Gründer des Chaos Computer Club, einer der ältesten Hacker-Organisationen) - er war gegen Zensur, Urheberrecht und für eine offene Informationsinfrastruktur.
Joschua
@Joschua: eine nette Referenz in der Tat. Ich habe die Erfolge Hollands nicht wirklich direkt verfolgt, aber ich habe die Nachrichten über das CCC damals eine Weile verfolgt. Ehrlich gesagt, es fehlt jetzt an Freizeit für all das. :(
Haylem
7

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.

JustJohn
quelle
6

Es ist eine sehr kurze Liste, die aus zwei Büchern besteht:

  • kopfüber - Designmuster
  • sauberer Code
Belun
quelle
5

In Bezug auf die Anleitung

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 Sachen Inspiration

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.

Macneil
quelle
1
Wenn Sie über AOP lesen, vergessen Sie nicht die früheren Arbeiten von Kiczales et al. In Form von The Art of the MetaObject Protocol .
Frank Shearar
Myers Software Reliability: Principles and Practices ist auch eine ziemlich gute Lektüre.
Frank Shearar
+1 für SICP im Unterricht
Inaimathi
5

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!

Christopher Mahan
quelle
5

Original Joel über Software , die Art und Weise, wie er schreibt, machte es mir sehr leicht, die Konzepte zu verstehen, als ich anfing.

DBlackborough
quelle
2
Er ist ein guter Schriftsteller und ich liebe es, seine Sachen zu lesen. Nimm einfach etwas davon mit einem Körnchen Salz oder du wirst depressiv, wenn du kein Rockstar-Entwickler bist.
kirk.burleson
1
Ich möchte ein Rockstar-Entwickler sein, so wie ich ein Trottel sein möchte.
Jonathan Sterling
5

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.

Philip Regan
quelle
3

Unter vielen Inspirationen war das jüngste dieses Buch über: Lehrlingsmuster

Xencor
quelle
Ich hoffte, dass mehr Leute dies befürworten würden. Dieses Buch ist unglaublich! Es ist weniger ein Leitfaden für die Programmiertechnik als vielmehr eine Strategie. Wir zeigen Ihnen, wie Sie Ihre Programmierkarriere (und den Beruf des Programmierens im Allgemeinen) angehen können, indem Sie sie als einen lebenslangen Weg betrachten und sich als aufstrebenden Handwerker einer qualifizierten Kunst betrachten.
Quallenbaum
3

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.

Martin Wickman
quelle
3

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.

Jon Purdy
quelle
3

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.

sal
quelle
3

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.

Matthieu
quelle
3

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

user1249
quelle
Ich teilte mir mit Richard am MIT ein Büro, das ungefähr 74 Jahre alt war.
Mike Dunlavey
2

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.

schnell_nun
quelle
2

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?

Pillmuncher
quelle
2

Ich fand es sehr inspirierend , wie man ein Hacker wird . Es gibt auch eine praktikable Roadmap für die Entwicklung als Programmierer.

Larry Coleman
quelle
2

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)

Tim
quelle
Tracy Kidder's Seele einer neuen Maschine sollte für jeden professionellen Programmierer das Lesen erfordern. Ich habe jedem neuen Möchtegern-Entwickler, den ich im Laufe der Jahre betreut habe, Kopien gegeben. Nur sein Konzept der "Anmeldung" zu verstehen, ist den Preis und die Zeit wert.
Ross Patterson
1

Marvin Minsky

  • Berechnung: Endliche und unendliche Maschinen

  • Semantische Informationsverarbeitung

Mike Dunlavey
quelle
1

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

eds
quelle
1

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.

Tim Williscroft
quelle
1

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.

Digitaler Typ
quelle
1

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.

Ross Patterson
quelle
Ich habe Coders at work gelesen ( en.wikipedia.org/wiki/Coders_at_work ) und fast alle der interviewten Programmierer beziehen sich auf Knuths Buch, so dass es sich definitiv wie ein Muss anfühlt.
Fejd
1

Das kommentierte Turing

Die bloße Vorstellung von jemandem, der vor fast einem Jahrhundert so komplexe Methoden und Algorithmen entwarf, motiviert mich.

Jeff Swensen
quelle