Quali sono alcune cose che hai letto che ti hanno ispirato e guidato come programmatore? [chiuso]


Risposte:


26

Sono sorpreso che nessuno abbia menzionato The Pragmatic Programmer . È una lettura obbligata se sei interessato al tuo mestiere.


Era un "must read".
kirk.burleson,

2
@ kirk.burleson: lo è ancora.
Steven Evers,

Sono d'accordo, leggerlo mi ha aiutato a capire molto su ciò che facciamo e su come procedere.
aredkid,

Adoro la stanza `` select '' Is not Broken. Non è rotto, fa solo schifo :)
Tim Post

Dopo averlo letto, sarò d'accordo. E suppongo che sia una risposta degna.
aredkid,

13

Guanti

Guanti: dai un'occhiata alla tua prima revisione e dì solo a te stesso "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.


3
Non capisco
kirk.burleson,

1
Kirk, devi leggere l'articolo collegato affinché la risposta abbia forse un senso ... anche se anche allora non lo è.
Peter Boughton,

5
Significa che quando si pensa in modo eccessivo a un problema, si può arrivare a soluzioni orribilmente complesse che diventano più complicate a causa delle precedenti scelte progettuali. Per riassumere l'articolo collegato, cercano di creare un ridicolo sistema di riscaldamento del corpo per mantenere calde le mani. Invece di indossare solo i guanti
Matt Phillips,

post superbo! Eccellente.
Dave,

+1 ho lol'd @ la storia. Non riesco a credere che non si siano fermati dopo "È geniale: possiamo riutilizzare il calore corporeo in modo più efficiente! In questo modo, il sistema potrebbe essere utilizzato anche quando si cammina / si fa jogging." commento.
Evan Plaice,

12

Leggi il discorso di Alex Stepanov ad Adobe. Alla fine di 5 anni questo separerà i GRANDI da quelli BUONI.

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


Sai, Stepanov ha detto alcune cose con cui sono in disaccordo violentemente, ma quel discorso è eccellente.
Frank Shearar,

@Frank: non esitare a condividere se ciò è legato alla programmazione, tutti noi possiamo imparare qualcosa da te. Non parliamo dei suoi commenti americani.
Geek,

I suoi commenti su OOP sono semplicemente sbagliati: stlport.org/resources/StepanovUSA.html Pensa che OOP sia a invio singolo e basato su classi, per cominciare. (CLOS utilizza l'invio multiplo, Self e Javascript sono basati su prototipi, come controesempio).
Frank Shearar,

C'è qualche altra fonte di questo oltre alla trascrizione? Ha notato che la trascrizione aveva delle traduzioni errate.
Jonn,

@Frank Shearar Il ragazzo sembra solo semplificare i potenziali spaghetti, credo. Ha anche tenuto una conferenza in russo circa un anno fa; lì ha detto che preferisce cose semplici come "for, if" e che essenzialmente non vede nulla di male nello scrivere Pascal in qualsiasi lingua, se il codice è efficace e chiaro (al contrario di quello tipicamente improntato al dotto, come ho capito).
mlvljr,

10

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.



8

Leggere

Vedere


A volte si tratta più di persone ...

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.

A volte si tratta più di una cultura e di un sogno e di rompere le barriere ...

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.


+1 per l'intervista cancelli / posti di lavoro. Ottima intervista e totalmente corretta sulla nota degli ospiti vs. ospiti.
Steven Evers,

++ per 11 collegamenti in 11 parole
sova

@sova: grazie, ho dovuto scavarli davvero ma ho pensato che potesse essere utile. Pensandoci, semplicemente indicando una ricerca su YouTube potrebbe essere meglio nel caso in cui vengano eliminati.
haylem,

hai dimenticato Wau Holland (uno dei fondatori del Chaos Computer Club, che è una delle più antiche organizzazioni di hacker) - era contrario alla censura, al copyright ed era per un'infrastruttura di informazione aperta.
Joschua,

@Joschua: un bel riferimento davvero. In realtà non ho seguito direttamente i risultati dell'Olanda, ma ho seguito le notizie che circondavano il CCC per un po 'di tempo. In mancanza di tempo libero per tutto questo adesso, onestamente. :(
haylem,

7

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.


6

è un elenco molto breve, composto da due libri:

  • prima di tutto - modelli di design
  • codice pulito

5

In termini di orientamento

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.

In termini di ispirazione

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.


1
Se stai leggendo AOP, non dimenticare i precedenti lavori di Kiczales et al, sotto forma di The Art of the MetaObject Protocol .
Frank Shearar,

Affidabilità del software di Myer : anche Principles and Practices è una lettura abbastanza buona.
Frank Shearar,

+1 per SICP in istruzione
Inaimathi,

5

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!


5

Originaly Joel su Software , il modo in cui scrive ha reso molto facile cogliere i concetti quando stavo iniziando.


2
È un bravo scrittore e adoro leggere le sue cose. Prendine un po 'con un po' di sale o potresti essere depresso se non sei uno sviluppatore rockstar.
kirk.burleson,

1
Voglio essere uno sviluppatore rockstar come voglio essere un douchebag.
Jonathan Sterling,



3

Tra le molte ispirazioni, la più recente è stata questo libro su: Modelli di apprendistato


Speravo che più persone avrebbero votato a questo. Questo libro è fantastico! Non è tanto una guida per la tecnica di programmazione quanto una strategia; mostrandoti come affrontare la tua carriera di programmatore (e la professione di programmatore in generale) pensandolo come un percorso per tutta la vita e vedendoti come un aspirante artigiano di un'arte specializzata.
jellyfishtree,

3

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.


3

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.



3

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.


3

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.


3

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


Ho condiviso un ufficio con Richard al MIT all'incirca a 74 anni.
Mike Dunlavey,

2

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.


2

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?



2

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)


L' anima di una nuova macchina di Tracy Kidder dovrebbe essere richiesta per ogni programmatore professionista. Ho dato copie a ogni aspirante sviluppatore appena coniato che ho seguito negli anni. Comprendere il suo concetto di "iscrizione" vale il prezzo e il tempo.
Ross Patterson,

1

Marvin Minsky

  • Calcolo: macchine finite e infinite

  • Elaborazione di informazioni semantiche


1

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


1

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.


1

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.


1

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.


Ho letto Coders at work ( en.wikipedia.org/wiki/Coders_at_work ) e quasi tutti i programmatori intervistati si riferiscono al libro di Knuth, quindi mi sembra assolutamente da leggere.
fejd

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.