Quelles sont les choses que vous avez lues qui vous ont inspiré et guidé en tant que programmeur? [fermé]

32

Par exemple, étant un débutant, je trouve beaucoup d'inspiration et de direction en lisant ce post de Bryan Woods .

aredkid
la source
Comment avez-vous trouvé ce billet de blog? C'était une lecture incroyable.
Michael Riley - AKA Gunny

Réponses:

26

Je suis surpris que personne n'ait mentionné The Pragmatic Programmer . C'est une lecture incontournable si vous êtes intéressé par votre métier.

Wyatt Barnett
la source
C'était un "must read".
kirk.burleson
2
@ kirk.burleson: C'est toujours le cas.
Steven Evers
Je serai d'accord, la lecture m'a aidé à réaliser beaucoup de choses sur ce que nous faisons et comment s'y prendre.
aredkid
J'adore la strophe `` select '' Is Not Broken. Ce n'est pas cassé, ça craint juste :)
Tim Post
Après l'avoir lu, je serai d'accord. Et je suppose que c'est une réponse valable.
aredkid
13

Gants

Gants - examinez attentivement votre première révision et dites-vous simplement «gants».

Ce message du Daily WTF m'a maintenu sur la bonne voie. J'avoue avoir plusieurs fois commencé à développer quelque chose où une paire de "gants" était la solution appropriée.

Covar
la source
3
Je ne comprends pas.
kirk.burleson
1
Kirk, vous devez lire l'article lié pour que la réponse ait du sens ... même si ce n'est pas vraiment le cas.
Peter Boughton
5
Cela signifie que lorsque vous réfléchissez à un problème, vous pouvez vous retrouver avec des solutions horriblement complexes qui finissent par devenir plus compliquées en raison des choix de conception précédents. Pour résumer l'article lié, ils essaient de créer un système de chauffage corporel ridicule pour garder vos mains au chaud. Au lieu de simplement porter des gants
Matt Phillips
superbe post! Excellent.
Dave
+1 J'ai lol'd @ l'histoire. Je ne peux pas croire qu'ils ne se soient pas arrêtés après le "C'est génial: nous pouvons réutiliser la chaleur corporelle plus efficacement! De cette façon, le système pourrait également être utilisé pour marcher / faire du jogging" commentaire.
Evan Plaice
12

Lisez le discours d'Alex Stepanov sur Adobe. Au bout de 5 ans, cela séparera les GRANDS des BONS.

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

Geek
la source
Vous savez, Stepanov a dit des choses avec lesquelles je ne suis pas d'accord, mais ce discours est excellent.
Frank Shearar
@Frank: N'hésitez pas à partager si cela est lié à la programmation, nous pouvons tous apprendre quelque chose de vous. Ne parlons pas de ses propos américains.
Geek
Ses commentaires sur la POO sont tout simplement faux: stlport.org/resources/StepanovUSA.html Il pense que la POO est à répartition unique et basée sur la classe, pour commencer. (CLOS utilise plusieurs répartitions, Self et Javascript sont basés sur des prototypes, comme contre-exemples.)
Frank Shearar
Y a-t-il une autre source de cela en dehors de la transcription? Il a noté que la transcription comportait des erreurs de traduction.
Jonn
@Frank Shearar Le gars ne fait que mettre en avant la simplicité des spaghettis potentiels, je pense. Il a également donné une conférence en russe il y a environ un an; là, il a dit qu'il préférait les choses simples comme "pour, si" et ne voyait essentiellement rien de mal à écrire Pascal dans n'importe quelle langue, si le code est efficace et clair (par opposition à un type de conduit erroné, si je comprends bien).
mlvljr
10

J'ai toujours trouvé Coding Horror et Joel on Software inspirants sur certains articles de blog. Ils me faisaient aussi toujours sentir bien parce que je comprenais de quoi ils parlaient et me faisaient penser à moi en tant que programmeur.

Jsternberg
la source
8

Lire

Regarder


Parfois, c'est plus sur les gens ...

Et un tas de gens sur les traces de qui suivre et sur les épaules de qui se tenir (dans aucun ordre particulier et énumérés au fur et à mesure qu'ils me viennent à l'esprit): 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 ... Soit leurs propres mots et travaux étaient inspirants, soit leurs histoires racontées par d'autres. Tant que vous gardez à l'esprit que leurs compétences et leur génie dans certains domaines ne les empêchent pas d'être aveuglés par leurs propres croyances dans d'autres. Comme tout le monde. (Les 2 livres énumérés ci-dessus les couvriront déjà assez bien, pour la plupart d'entre eux!)

Ou des technologues moins connus mais néanmoins actifs et intéressants à suivre de loin: Neal Gafter, Martin Fowler , Don Syme , etc ...

J'ai été inspiré par les travaux de ces personnes et les choses qu'elles ont faites pour réaliser (ou abandonner) leurs projets.

Parfois, il s'agit davantage d'une culture et d'un rêve, et de la suppression des barrières ...

Lire le 2600 quand j'étais enfant quand mon anglais était embyonique, l'histoire de premiers locuteurs comme Captain Crunch ou la naissance de l'ère PC avec Wozniak chez Apple et la lecture de livres et d'essais de William Gibson et Neil Stephenson m'ont également inspiré en tant que programmeur. , bien que cela ne concerne pas directement la programmation. Dans cette veine, même le Manifeste du Hacker , le Manigesto Agile ou même des choses comme le Code d'éthique de l' IEEE étaient et sont toujours une source d'inspiration.

haylem
la source
+1 pour l'entrevue portes / emplois. Super interview et totalement correct sur la note des hôtes par rapport aux invités.
Steven Evers
++ pour 11 liens en 11 mots
sova
@sova: merci, j'ai dû les déterrer mais j'ai pensé que cela pourrait être utile. En y pensant, il suffit de pointer vers une recherche sur YouTube au cas où ils seraient supprimés.
haylem
vous avez oublié Wau Holland (l'un des fondateurs du Chaos Computer Club, qui est l'une des plus anciennes organisations de hackers) - il était contre la censure, le droit d'auteur et était pour une infrastructure d'information ouverte.
Joschua
@Joschua: une belle référence en effet. Je n'ai pas vraiment suivi directement les réalisations de Holland, mais j'ai suivi les nouvelles entourant le CCC pendant un certain temps à l'époque. Manquant de temps libre pour tout cela maintenant, honnêtement. :(
haylem
7

The Last Lecture un livre écrit par Randy Pausch l'homme derrière Alice. Il accompagne sa dernière conférence "Really Achieving your Childhood Dreams". Je dois toujours me souvenir d'être un Tigrou.

JustJohn
la source
6

c'est une liste très courte, composée de deux livres:

  • tête la première - modèles de conception
  • code propre
Belun
la source
5

En termes d'orientation

Le livre The Elements of Programming Style de Kernighan et Plauger a été très influent pour moi lorsque j'apprenais C. Le livre était déjà considéré comme "obsolète" au moment où je l'ai lu, en raison de son utilisation d'échantillons PL / I et Fortran, mais les conseils ont transcendé les deux langues.

Avant de lire ce livre, j'étais convaincu que le «style» concernait ce que je considère maintenant comme des questions triviales, comme la mise en forme (combien d'espaces pour un onglet? Où placez-vous les boucles?). Mais le style est ce que vous avez une fois que vous avez supprimé les conventions de formatage et de dénomination. Est-il plus facile de construire une chaîne à l'envers puis de l'inverser? Construisez-le ensuite à l'envers et inversez-le.

Un autre livre de Kernighan et Plauger, Software Tools , a également été utile, mais pas aussi bon. Et le livre beaucoup plus récent The Practice of Programming , de Kernighan et Pike est également utile, mais loin des éléments du style de programmation . Je souhaite avoir toujours ma copie. Cela vaut la peine pour tous les programmeurs de lire.

J'ai développé une appréciation des tests et de l'assurance qualité après avoir lu Glenford Myers L'art des tests de logiciels . Cela m'a montré que les tests étaient une véritable activité créative et pas seulement quelque chose pour les majors en informatique qui n'aiment pas programmer. Peut-être qu'avec la popularité croissante du développement piloté par les tests, plus de gens se tourneront vers le livre de Myers.

Et je ne peux pas penser à une meilleure introduction à la notion d'abstraction que le livre La structure et l'interprétation des programmes , qui est disponible gratuitement en ligne. Il présente le langage de programmation Scheme, mais touche à de nombreux autres sujets en informatique, y compris la programmation déclarative.

En termes d'inspiration

Dans ma carrière universitaire, j'ai été inspiré par le concept de programmation orientée vers l'aspect. Vous pouvez lire certains des tout premiers articles sur l'AOP et vous retrouver avec une demi-page de notes d'idées.

Je pense également que les progrès de Church et de Turing sont très inspirants. Dans les années 1930, avant même la fabrication d'ordinateurs, les scientifiques et les mathématiciens programmaient dans un langage de programmation d'ordre supérieur: le calcul lambda. La construction des numéros de l' Église et de la fonction précédente est probablement l'une des constructions de programmation les plus intelligentes de tous les temps. Il vous montre comment faire quelque chose à partir de presque rien.

Macneil
la source
1
Si vous lisez sur AOP, n'oubliez pas les travaux antérieurs de Kiczales et al, sous la forme de The Art of the MetaObject Protocol .
Frank Shearar
La fiabilité des logiciels de Myer : principes et pratiques est également une bonne lecture.
Frank Shearar
+1 pour SICP en instruction
Inaimathi
5

Pas quelque chose que j'ai lu. En 1984, je parlais à mon voisin et à son ami. J'avais 16 ans. L'ami m'a dit que le monde était essentiellement divisé entre les utilisateurs d'ordinateurs et les programmeurs informatiques. Il a déclaré que seules les personnes les plus intelligentes au monde pouvaient devenir programmeurs.

Yeeeeee! Quel défi!

Christopher Mahan
la source
5

Originaly Joel sur Software , la façon dont il écrit a rendu très facile la compréhension des concepts quand je commençais.

DBlackborough
la source
2
C'est un bon écrivain et j'adore lire ses trucs. Prenez-en un peu avec un grain de sel ou vous pourriez devenir déprimé si vous n'êtes pas un développeur rockstar.
kirk.burleson
1
Je veux être un développeur rockstar comme je veux être un douchebag.
Jonathan Sterling,
3

Parmi les nombreuses inspirations, la plus récente était ce livre sur: Les modèles d'apprentissage

Xencor
la source
J'espérais que plus de gens voteraient pour cela. Ce livre est incroyable! Ce n'est pas tant un guide pour la technique de programmation que c'est une stratégie; vous montrer comment aborder votre carrière de programmeur (et le métier de programmeur en général) en le considérant comme un cheminement tout au long de la vie et en vous considérant comme un aspirant artisan d'un art qualifié.
jellyfishtree
3

Lorsque j'ai lu le Design Patterns Book en 1995 ou quelque chose comme ça, cela m'a vraiment ouvert les yeux en tant que programmeur.

De nos jours, le livre de James Shores sur le développement agile m'a beaucoup inspiré, et dernièrement Lyssa Adkins sur les équipes de coaching, qui sont toutes deux fortement recommandées si vous êtes intéressé par de telles choses.

Martin Wickman
la source
3

Ceux qui ont une tendance orientale peuvent profiter d'un joli petit livre de koans sur le Tao transcendant de la programmation .

Ce fut ma première étape sur la voie de l'illumination, et ce fut la première chose qui m'encouragea à penser la programmation, et le travail créatif en général, comme une entité incontournable qui existe et qui doit être découverte au fil du temps par le créateur. Ceux qui tentent de le combattre ou le comprennent échoueront sûrement.

Jon Purdy
la source
3

Le Little LISPer m'a époustouflé .

J'ai pris un cours de programmation pascal au lycée. Je connaissais déjà assez bien la base C64 et j'ai demandé au professeur si tous les langages de programmation étaient comme Basic et Pascal. Il m'a prêté sa copie du Little LISPer. Après avoir passé le week-end à le lire, je ne pensais pas qu'une langue aussi étrange pouvait exister ou fonctionnerait. Quand je l'ai vu fonctionner sur la ligne téléphonique à laquelle il a accès, j'étais stupéfait. Cela existait.

Après mon deuxième cours de programmation de niveau universitaire; Algorithmes et structures de données, j'ai changé de majeure pour avoir accès au meilleur laboratoire informatique CS. Ils avaient des machines Unix avec lisp, schema, prolog, SmallTalk80 et une tonne d'autres outils.

sal
la source
3

Code terminé . Il couvre la plupart des sujets de base que vous devez connaître en tant que programmeur et vous donne des instructions pour en savoir plus sur chacun d'eux. Une très bonne première étape dans un parcours d'apprentissage. Moi-même et beaucoup de gens que je connais, souhaitent qu'ils le lisent plus tôt dans leur vie de programmeur.

Matthieu
la source
3

Le discours le plus inspirant que j'aie jamais entendu était Richard Gabriel qui disait que le logiciel d'écriture est similaire à l'écriture de poèmes. Les poètes utilisent souvent beaucoup d'efforts pour obtenir quelques mots juste - penser Haïkus - et nous devrions tendre vers le même genre d'excellence et d' élégance lorsque le logiciel d' écriture.

L'élégance et la concision sont aussi importantes en programmation qu'en poésie et en mathématiques, et cela demande beaucoup d'efforts pour le faire couramment.

Voir certains des points sur http://www.dreamsongs.com/PoetryOfProgramming.html

utilisateur1249
la source
J'ai partagé un bureau avec Richard au MIT vers 74 heures.
Mike Dunlavey
2

Le livre unique le plus utile de tous les temps - pas sur la programmation, mais sur la façon de travailler efficacement dans ce domaine: "Peopleware" de DeMarco et Lister Devrait être sur chaque étagère de livres de programmeurs. Et si vous passez à la gestion, doublement.

vite_maintenant
la source
2

Comme l'a dit Alan Kay il y a près de 30 ans , le point de vue vaut 80 points de QI. Des livres qui ont changé mon point de vue:

  • "Investigations philosophiques" par Ludwig Wittgenstein

    Parfois, nous pensons que nous savons, alors qu'en fait, nous ne savons pas. W. montre comment regarder de plus près.

  • "Réalité, fiction et prévisions" par Nelson Goodman

    Ici, j'ai appris ce que le mot analytique signifie vraiment. Aussi, ce que le mot pragmatique signifie vraiment.

  • "Le zen et l'art de l'entretien des motos" par Robert M. Pirsig

    Comment peut-il y avoir des choses qui sont meilleures que d'autres choses? Pourquoi tout n'est-il pas pareil sur le plan de la qualité? IOW, qu'est-ce que les bons films, les bonnes voitures, la bonne nourriture et les bons logiciels ont en commun, qui les rend bons?

pillmuncher
la source
2

J'ai trouvé comment devenir un pirate très inspirant. Il donne également une feuille de route pratique pour le développement en tant que programmeur.

Larry Coleman
la source
2

Soul of a new Machine (inspiration quand j'étais au lycée) SICP (probablement l'un des meilleurs livres sur le développement de logiciels que j'ai jamais lu)

Tim
la source
L' âme d'une nouvelle machine de Tracy Kidder devrait être une lecture obligatoire pour chaque programmeur professionnel. J'ai donné des copies à tous les développeurs en herbe nouvellement créés que j'ai encadrés au fil des ans. Le simple fait de comprendre son concept d '«inscription» vaut le prix et le temps.
Ross Patterson
1

Marvin Minsky

  • Calcul: machines finies et infinies

  • Traitement de l'information sémantique

Mike Dunlavey
la source
1

Seth Godin , bien que n'étant pas totalement lié à la programmation, a des postes inspirants pour moi en tant que programmeur et homme d'affaires plein d'espoir (en plus de Joel sur le logiciel).

eds
la source
1

Le livre des cinq anneaux de Myomoto Musasashi.

Quelques faits saillants.

Je n'ai pas d'outil préféré. Apprenez à utiliser chaque outil, apprenez quand il convient de l'utiliser, apprenez ses faiblesses et ses forces.

Le personnel dont le travail n'est pas parfait peut être utilisé dans des endroits où la qualité de son travail est à la vue du public. Les piliers qui soutiennent le sol sous un bâtiment n'ont pas besoin d'avoir une finition parfaite (ils ont juste à travailler).

En faisant une chose, faites beaucoup de choses. Donc, s'il y a un choix entre faire A et B, mais B peut être utilisé pour faire beaucoup de choses la semaine prochaine, faites B si vous pouvez vous le permettre.

Tim Williscroft
la source
1

J'ai commencé par la programmation de jeux. Tout vient des jours NES. Aspiré à être développeur de jeux et je l'ai atteint, mais j'ai changé pour Application Software / Hardware Analyst pour une meilleure carrière car mon pays pour les industries de jeux est trop niche.

Au cours de mes premiers jours, j'ai vraiment ressenti un peu de regret d'entrer dans ces rôles informatiques. Mais plus tard a été inspiré et influencé par mes ex-collègues sur ses réalisations et ils ont été très actifs dans ces nouveaux domaines de développement technique. Pendant mon temps libre, je me mêlerai à la programmation logicielle pour travailler sur des projets personnels avec mes ex-collègues.

Mec numérique
la source
1

Je sais que c'est une lecture difficile, mais l' art de la programmation informatique de Knuth est vraiment une grosse affaire dans notre domaine. Et Gödel, Escher, Bach: An Eternal Golden Braid de Douglas Hofstadter est une source d'inspiration pour ceux d'entre nous qui ont un penchant mathématique ou algorithmique.

Ross Patterson
la source
J'ai lu Coders au travail ( en.wikipedia.org/wiki/Coders_at_work ) et presque tous les programmeurs interrogés se réfèrent au livre de Knuth, donc c'est vraiment une lecture incontournable.
fejd
1

Le Turing annoté

Imaginer quelqu'un concevoir des méthodes et des algorithmes aussi complexes il y a près d'un siècle me motive.

Jeff Swensen
la source