Ad esempio, essendo un principiante, trovo molta ispirazione e direzione nel leggere questo post di Bryan Woods .
Ad esempio, essendo un principiante, trovo molta ispirazione e direzione nel leggere questo post di Bryan Woods .
Risposte:
Sono sorpreso che nessuno abbia menzionato The Pragmatic Programmer . È una lettura obbligata se sei interessato al tuo mestiere.
Guanti
Questo post del Daily WTF mi ha tenuto sulla buona strada. Devo ammettere più volte di aver iniziato a sviluppare qualcosa in cui un paio di "guanti" fossero la soluzione appropriata.
Leggi il discorso di Alex Stepanov ad Adobe. Alla fine di 5 anni questo separerà i GRANDI da quelli BUONI.
Ho sempre trovato Coding Horror e Joel su Software come fonte d'ispirazione per alcuni post del blog. Inoltre mi hanno sempre fatto stare bene perché ho capito di cosa stavano parlando e mi hanno fatto pensare a me stesso come programmatore.
Non riesco a credere che nessuno lo abbia ancora menzionato.
Gli scritti di Paul Graham , in particolare:
E un gruppo di persone sui cui passi seguire, e sulle cui spalle stare (in nessun ordine particolare e elencati come mi vengono in mente ora in flusso libero): 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 ... O le loro stesse parole e opere erano di ispirazione o le loro storie raccontate da altri. Fintanto che tieni a mente che le loro abilità e genialità in alcune aree non impediscono loro di essere ciechi rispetto alle loro convinzioni in altri. Come chiunque altro. (I 2 libri sopra elencati li copriranno già abbastanza bene, per la maggior parte di loro!)
O tecnologi attivi meno famosi ma comunque interessanti da seguire da lontano: Neal Gafter, Martin Fowler , Don Syme , ecc ...
Sono stato ispirato dalle opere di queste persone e dalle cose che hanno fatto per realizzare (o abbandonare) i loro progetti.
Leggendo il 2600 da bambino quando il mio inglese era embyonic, la storia dei primi phreakers come Captain Crunch o la nascita dell'era dei PC con Wozniak alla Apple e la lettura di libri e saggi di William Gibson e Neil Stephenson sono stati anche fonte di ispirazione per me come programmatore , sebbene non riguardasse direttamente la programmazione. In tale ottica, anche il Manifesto dell'hacker , l' Agile Manigesto o anche cose come il Codice etico IEEE erano e sono ancora fonte di ispirazione.
The Last Lecture un libro scritto da Randy Pausch l'uomo dietro Alice. Si accompagna alla sua ultima lezione "Realmente realizzare i tuoi sogni d'infanzia". Devo sempre ricordare di essere un Tigro.
Il libro The Elements of Programming Style di Kernighan e Plauger è stato molto influente per me quando stavo imparando C. Il libro era già considerato "obsoleto" quando l'ho letto, a causa del suo uso di campioni PL / I e Fortran, ma i suggerimenti trascendevano entrambe le lingue.
Prima di leggere quel libro, ero convinto che lo "stile" riguardasse ciò che ora considero questioni insignificanti, come la formattazione (quanti spazi per una scheda? Dove posizionate i ricci?). Ma lo stile è quello che hai una volta rimosse le convenzioni di formattazione e denominazione. È più semplice costruire una stringa all'indietro e poi invertirla? Quindi costruirlo all'indietro e invertirlo.
Anche un altro libro di Kernighan e Plauger, Software Tools , è stato utile, ma non altrettanto buono. E anche il libro molto più recente The Practice of Programming , di Kernighan e Pike è utile, ma molto diverso da The Elements of Programming Style . Vorrei avere ancora la mia copia. Ne vale la pena per ogni programmatore da leggere.
Ho apprezzato molto i test e il QA dopo aver letto Glenford Myers The Art of Software Testing . Mi ha mostrato che i test sono stati una vera attività creativa, e non solo qualcosa per i maggiori di informatica che non amano programmare. Forse con la crescente popolarità dello sviluppo guidato dai test più persone si rivolgeranno al libro di Myers.
E non posso pensare a una migliore introduzione alla nozione di astrazione rispetto al libro La struttura e l'interpretazione dei programmi , che è disponibile online gratuitamente. Introduce il linguaggio di programmazione Scheme, ma affronta molti altri argomenti dell'informatica, compresa la programmazione dichiarativa.
Nella mia carriera accademica, mi sono ispirato al concetto di programmazione orientata agli aspetti. Puoi leggere alcuni dei primi lavori su AOP e finire con mezza pagina di appunti per idee.
Penso anche che il progresso di Church and Turing sia molto stimolante. Negli anni '30, prima ancora che i computer fossero realizzati, scienziati e matematici stavano programmando in un linguaggio di programmazione di ordine superiore: il calcolo Lambda. La costruzione dei numeri della Chiesa e la funzione precedente è probabilmente uno dei costrutti di programmazione più intelligenti di sempre. Ti mostra come fare qualcosa dal quasi nulla.
Non qualcosa che ho letto. Nel 1984 stavo parlando con il mio vicino e il suo amico. Avevo 16 anni. L'amico mi ha detto che essenzialmente il mondo è diviso tra utenti di computer e programmatori di computer. Ha detto che solo le persone più intelligenti del mondo possono diventare programmatori.
Yeeeeee! Che sfida!
Originaly Joel su Software , il modo in cui scrive ha reso molto facile cogliere i concetti quando stavo iniziando.
Codice completo, seconda edizione di Steve McConnell.
Modelli di progettazione: elementi di software riutilizzabile orientato agli oggetti di Erich Gamma
Sono completamente autodidatta e ho avuto la fortuna di imbattermi in un articolo (da tempo ho dimenticato dove) all'inizio del mio lavoro che mi ha indicato questi due libri. La trasformazione del mio codice dopo aver letto quei due libri è stata sbalorditiva. Devo molto a quegli autori.
Per ispirazione, Yegge's Blogs , Graham's Essays e SICP Video Lectures .
Tra le molte ispirazioni, la più recente è stata questo libro su: Modelli di apprendistato
Quando ho letto per la prima volta il Design Patterns Book nel 1995 o qualcosa del genere, è stato un vero toccasana per me come programmatore.
Al giorno d'oggi, il libro di James Shores sullo sviluppo agile mi ha ispirato molto, e ultimamente Lyssa Adkins sui team di coaching, entrambi altamente raccomandati se sei interessato a queste cose.
Quelli di una tendenza orientale possono godere di un grazioso piccolo libro di koan sul trascendente Tao della Programmazione .
Questo è stato il mio primo passo verso il cammino verso l'illuminazione, ed è stata la prima cosa che mi ha incoraggiato a pensare alla programmazione e al lavoro creativo in generale, come entità invincibile che esiste per essere scoperta nel tempo dal creatore. Chi cerca di combatterlo o di capirlo fallirà sicuramente.
Dovrei rileggere questo articolo una volta ogni sei mesi Se nessun professionista di Shareware è 100 volte più intelligente di te, allora perché alcuni ottengono risultati 100 volte? - di Steve Pavlina
Il piccolo LISPer mi ha fatto impazzire .
Ho seguito un corso di programmazione pasquale al liceo. Conoscevo già abbastanza bene C64 basic e chiesi all'insegnante se tutti i linguaggi di programmazione fossero come Basic e Pascal. Mi ha prestato la sua copia del Piccolo LISPer. Dopo aver trascorso il fine settimana a leggerlo, non credevo che potesse esistere un linguaggio così strano o che avrebbe funzionato. Quando l'ho visto in esecuzione sul dial-up mini a cui ha accesso, sono rimasto senza parole. È esistito
Dopo la mia seconda lezione di programmazione a livello universitario; Algoritmi e strutture dati, ho cambiato major per ottenere l'accesso al miglior laboratorio CS Computer. Avevano macchine Unix con lisp, schema, prologo, SmallTalk80 e una tonnellata di altri strumenti.
Codice completo . Copre la maggior parte delle materie di base che è necessario conoscere come programmatore e fornisce indicazioni per ulteriori informazioni su ciascuna di esse. Un ottimo primo passo in un percorso di apprendimento. Io e molte persone che conosco, vorrei che lo leggessero prima nella loro vita da programmatore.
Il discorso più stimolante che abbia mai ascoltato è stato Richard Gabriel che parlava che scrivere software è simile a scrivere poesie. I poeti spesso fanno un grande sforzo per ottenere poche parole giuste - pensa Haikus - e dovremmo puntare allo stesso tipo di eccellenza ed eleganza quando scriviamo software.
L'eleganza e la concisione sono importanti sia in programmazione che in poesia e matematica, e richiedono un grande sforzo per farlo in modo fluido.
Vedi alcuni dei punti su http://www.dreamsongs.com/PoetryOfProgramming.html
Il libro più utile di sempre - non sulla programmazione, ma su come lavorare in modo efficace in questo campo: "Peopleware" di DeMarco e Lister. Dovrebbe essere su ogni scaffale dei programmatori. E se passi alla gestione, doppiamente.
Come ha detto Alan Kay quasi 30 anni fa , il punto di vista vale 80 punti QI. Libri che hanno cambiato il mio punto di vista:
"Ricerche filosofiche" di Ludwig Wittgenstein
A volte pensiamo di sapere, mentre in realtà non lo sappiamo. W. mostra come dare un'occhiata più da vicino.
"Fatto, finzione e previsioni" di Nelson Goodman
Qui ho imparato cosa significa veramente la parola analitica . Inoltre, cosa significa veramente la parola pragmatico .
"Zen and the Art of Motorcycle Maintanance" di Robert M. Pirsig
Come possono esserci cose migliori di altre? Perché non è tutto uguale, dal punto di vista della qualità? IOW, cosa hanno in comune i buoni film, le buone macchine, il buon cibo e il buon software, che li rendono buoni?
Ho trovato molto stimolante come diventare un hacker . Fornisce inoltre una tabella di marcia praticabile per lo sviluppo come programmatore.
Soul of a new Machine (ispirazione quando ero al liceo) SICP (probabilmente uno dei migliori libri relativi allo sviluppo di software che abbia mai letto)
Marvin Minsky
Calcolo: macchine finite e infinite
Elaborazione di informazioni semantiche
Seth Godin , pur non essendo totalmente legato alla programmazione, ha alcuni post stimolanti per me come programmatore e uomo d'affari fiducioso (oltre a Joel on Software).
Il libro dei cinque anelli di Myomoto Musasashi.
Alcuni punti salienti.
Non hai uno strumento preferito. Impara a usare ogni strumento, impara quando è appropriato usare, impara i suoi punti deboli e i suoi punti di forza.
Il personale il cui lavoro non è perfetto può essere utilizzato in luoghi in cui la qualità della loro lavorazione è di dominio pubblico. I pilastri che sostengono il pavimento sotto un edificio non devono avere una finitura perfetta (devono solo funzionare).
Facendo una cosa, fai molte cose. Quindi se c'è una scelta tra fare A e B, ma B può essere usato per fare molte cose la prossima settimana, fai B se te lo puoi permettere.
Ho iniziato con la programmazione di giochi. Tutto viene dai giorni NES. Aspettavo di essere sviluppatore di giochi e l'ho raggiunto, ma sono passato a Analista software applicativo / hardware per una carriera migliore poiché il mio paese per l'industria dei giochi è troppo di nicchia.
Durante i miei primi giorni, mi sono davvero sentito un po 'dispiaciuto di aver assunto questo ruolo IT. Ma più tardi è stato ispirato e influenzato dai miei ex colleghi sui suoi successi ed erano abbastanza attivi in queste nuove aree di sviluppo tecnico. Durante il mio tempo libero, mi unirò alla programmazione software per lavorare su progetti personali con i miei ex colleghi.
So che è una lettura difficile, ma The Art of Computer Programming di Knuth è davvero un grosso problema nel nostro campo. E Gödel, Escher, Bach di Douglas Hofstadter : una treccia d'oro eterna è fonte d' ispirazione per quelli di noi con una tendenza matematica o algoritmica.
Immaginare qualcuno che ha progettato metodi e algoritmi così complessi quasi un secolo fa mi ha motivato.