Par exemple, étant un débutant, je trouve beaucoup d'inspiration et de direction en lisant ce post de Bryan Woods .
Par exemple, étant un débutant, je trouve beaucoup d'inspiration et de direction en lisant ce post de Bryan Woods .
Réponses:
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.
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.
Lisez le discours d'Alex Stepanov sur Adobe. Au bout de 5 ans, cela séparera les GRANDS des BONS.
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.
Je ne peux pas croire que personne n'en ait encore parlé.
Les écrits de Paul Graham , en particulier:
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.
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.
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.
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.
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.
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!
Originaly Joel sur Software , la façon dont il écrit a rendu très facile la compréhension des concepts quand je commençais.
Code Complete, Second Edition par Steve McConnell.
Design Patterns: Elements of Reusable Object-Oriented Software par Erich Gamma
Je suis entièrement autodidacte, et j'ai eu la chance de tomber sur un article (j'ai depuis longtemps oublié où) au début de mon travail qui m'a montré ces deux livres. La transformation de mon code après avoir lu ces deux livres était stupéfiante. Je dois beaucoup à ces auteurs.
Pour l'inspiration, les blogs de Yegge , les essais de Graham et les conférences vidéo SICP .
Parmi les nombreuses inspirations, la plus récente était ce livre sur: Les modèles d'apprentissage
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.
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.
Je devrais relire cet article une fois tous les six mois. Si aucun professionnel du shareware n'est 100 fois plus intelligent que vous, alors pourquoi certains obtiennent-ils 100 fois les résultats? - par Steve Pavlina
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.
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.
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
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.
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?
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.
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)
Marvin Minsky
Calcul: machines finies et infinies
Traitement de l'information sémantique
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).
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.
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.
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.
Imaginer quelqu'un concevoir des méthodes et des algorithmes aussi complexes il y a près d'un siècle me motive.