Se potessi avere solo un libro relativo alla programmazione nella tua libreria quale sarebbe e perché? [chiuso]


Risposte:


69

Codice completo 2a edizione

Codice completo di Steve McConnell. Non penso nemmeno che abbia bisogno di spiegazioni. È il libro definitivo sulla costruzione di software. Incredibilmente ben scritto e copre tutti gli aspetti del lato pratico (di programmazione) della creazione di software.


+1 per aver scelto anche la seconda edizione - così tanti miglioramenti rispetto alla prima che è un libro diverso.
Paddyslacker

+1 - Ho la traduzione italiana. Successivamente, non ho mai acquistato un altro libro di programmazione o tecnico tradotto nella mia lingua, poiché la traduzione è stata terribile. Ho dovuto comprare l'edizione inglese per capire davvero alcune frasi!
Wizard79,

Per coloro che vivono in Quebec, in Canada . BAnQ ha la versione completa di questo libro disponibile online in questa posizione: library.books24x7.com.res.banq.qc.ca/toc.asp?bookid=10482 .
HoLyVieR,

4
Non posso essere d'accordo. È interessante che la parola immutabile non esista nemmeno in questo libro.
Jonas,

2
Anche se conservo la mia copia della prima edizione, penso di non esserci mai tornato. La ragione potrebbe essere quella di ottenere libri su ciascuno degli argomenti che McConnell afferma siano importanti.
Apalala,

56

Facile.

Programmatore pragmatico


6
+1 per essere realistici. Questo libro è pertinente, facile da leggere e probabilmente il libro che molti sviluppatori possono effettivamente trarre vantaggio dalla lettura effettiva. Troppi altri in questo elenco sono difficili e dubito che siano stati letti da copertina a copertina.
spong

Questa risposta è ripetuta
clrod

+1 - il mio secondo libro di programmazione preferito dietro Code Complete (e onestamente, a volte, è il primo)
Alan,

36

La struttura e l'interpretazione dei programmi per computer, alias SICP

Quando ho visto che il SICP non era ancora elencato, ho fatto una smorfia di dolore. :)

Perché: non c'è altro da aggiungere all'elogio di Norvig a questo libro come la più grande introduzione all'informatica mai scritta. Bene, dal momento che il perché? è stato richiesto: la SICP copre i fondamenti del software in modo soddisfacente in modo approfondito, sollevando molte prospettive e domande sulla natura del calcolo - alcuni dei quali rimangono questioni aperte - mentre conduce il lettore a vedere oltre gli aspetti superficiali del dire alla macchina cosa da fare o come farlo.

testo alternativo http://ecx.images-amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg

Fai clic sull'immagine per accedere al testo libero online . Puoi anche trovare facilmente le lezioni video degli autori , complete di colori e vestiti in stile anni '80.


2
Tutti salutano il SICP. IMO, dovrebbe essere il libro di testo per un corso di programmazione introduttiva obbligatoria in tutte le scuole CS. Sicuramente eliminerebbe le persone che non riescono davvero a tagliarlo nella programmazione (molto meno CS) rafforzando al contempo CS e abilità di programmazione a quelli con potenziale.
luis.espinal,

1
@ luis.espinal SICP sembra eccessivo per la programmazione introduttiva (a meno che non stiamo parlando di una scuola di specializzazione). C'è una ragione per cui il MIT ha lasciato cadere il corso SICP come corso introduttivo .... Sono comunque d'accordo che è utile leggere questo libro (e fare gli esercizi ...) ma farlo in un semestre universitario standard sarebbe difficile anche uno studente sopra la media. Anche l'introduzione con Java / Python / Ruby / C è più rilevante per la forza lavoro, prima si abitua qualcuno ai linguaggi imperativi, meglio è ... SICP è fantastico dopo quello per espandere i propri orizzonti. Ma potrebbe essere scoraggiante come corso introduttivo ...
Cervo,

1
@Cervo - È una preoccupazione valida, e sembra eccessivo, ma (e questa è una posizione completamente soggettiva che riconosco), credo fermamente che fornisca una base più profonda di quella che si trova in genere con altri approcci tradizionali . La giuria è ancora fuori con il MIT ora che sono passati a Python (alcuni dei motivi sono che ha anche capacità FP ed è fortemente suscettibile di informatica scientifica e robotica, cosa che Scheme non è.) Niente di sbagliato in Python (in realtà Adoro la lingua), ma la giuria sarebbe uscita fino a quando non uscisse una versione Python di SICP.
luis.espinal,

2
@ con't - Cioè, suggerisco il SICP non a causa di Scheme, ma a causa del suo contenuto pedagogico. In realtà avrei suggerito di iniziare con l'assemblaggio (la gente lo ha fatto abbastanza bene), ma non ci sono libri di assemblaggio (e probabilmente non ci saranno mai) come il SICP. La più vicina sarebbe l'enciclopedia di Knuth (e sarebbe una cosa eccessiva). Per quanto riguarda java , ci ho lavorato per 12 anni e non lo consiglierei per insegnare ... fa il lavoro, ma è orribile come un PL. C, Python o Ruby sono linguaggi progettati molto meglio.
luis.espinal,

1
@ con't - inoltre, metterei in guardia dall'usare una lingua come strumento pedagogico perché è mainstream. Il flusso principale cambia ogni 2-3 anni e con Java il linguaggio è semplice, ma il compito è imparare la JVM, le librerie e l'architettura. Direi di imparare lo sviluppo aziendale Java e .NET al 4 ° anno di college. E credo (lo so, soggettivo ) che è importante fornire rigore all'inizio. Abbiamo già troppi programmatori point-n-click là fuori che avevano bisogno di un po 'di rigore all'inizio. Ho fatto un sacco di soldi per pulire la merda che si sono lasciati alle spalle, ma comunque;)
luis.espinal

32

Vale la pena citare:

Il mitico mese dell'uomo

testo alternativo


1
Se solo potessi leggere un solo libro sulla programmazione, e dopo che avrò finito di leggerlo, sparirà e non vedrò mai un altro libro per il resto del tempo, sarebbe così. Se dovessi tenere il libro sul mio scaffale per vederlo più tardi ... Potrebbe trattarsi di un altro volume più orientato al riferimento. +1 comunque!
SingleNegationElimination

Mi è piaciuto questo libro e l'ho letto fino in fondo. Tuttavia, gran parte del materiale si applica solo a progetti su larga scala con centinaia o addirittura migliaia o persone che ci lavorano come un sistema operativo; poiché questo è ciò da cui trae la sua esperienza. Ho pensato che Code Complete fosse molto più utile in termini di conoscenza che avrei potuto usare ogni giorno e che mi si applicava.
Despertar,

30

Abbiamo avuto la quarta edizione ma questo è un ottimo libro sugli algoritmi!
Chris,

@ Chris: Non credo che ci sia una quarta edizione. La terza edizione è di settembre 2009, quindi è nuova.
Jonas,

Errr, seconda edizione con la copertina verde.
Chris,

Questo è il libro di testo richiesto per la mia classe questo termine. Sono sincero che sia sulla lista qui, e che sia così apprezzato sulla domanda SO originale!
apre il

28

Modelli di progettazione: elementi di software riutilizzabile orientato agli oggetti

Questo è il libro da leggere sul design e l'architettura OOP. Gli schemi sono buoni se usati correttamente, ma penso che il vero valore di questo libro sia che ti offre una serie di idee da usare durante la progettazione.

testo alternativo


OOP non rappresenta i limiti della programmazione.
Inaimathi,

Poiché i cataloghi di modelli sono in abbondanza (come questo libro), il valore di questo libro è diminuito in modo significativo nel tempo.
Steven Evers,

1
Molte persone leggono questo da copertina a copertina? Trovo che sia più un riferimento che un libro. (E un riferimento che non puoi cercare.)
idbrii,


25

Refactoring: migliorare la progettazione del codice esistente

testo alternativo


25

Ho appena contato i miei libri oggi. 23 di loro. Dipende da cosa sto lavorando. Immagino che la risposta senza tempo sia "linguaggio C", di Kernighan e Ritchie .

inserisci qui la descrizione dell'immagine


3
Uno dei migliori libri di insegnamento delle lingue nella storia dell'informatica. Un buon esempio di come scrivere un libro di programmazione.
Wizard79,

1
E vale la pena avere sullo scaffale, è più veloce trovare i codici del formato printf nel libro che nei documenti di aiuto di MSDN
Martin Beckett,

19

Lavorare efficacemente con Legacy Code di Michael Feathers.

Contiene molti buoni consigli su come ottenere una base di codice esistente sotto test e gestibile, la maggior parte dei quali non sapevo fino a quando non ho letto questo libro. A deve leggere, anche se il codice legacy con cui stai lavorando è il tuo codice che hai scritto ieri.

Lavorare efficacemente con il codice legacy


Che bella copertina.
apre l'

Questo, poiché è il mio obiettivo attuale: portare il codice che ho scritto prima di essere "test-driven" in uno stato testabile.

+1 Molte volte sì. Questo libro mi ha aiutato molto nell'aggiornamento del vecchio codice.
Grant Palin,

18

1
Non sono sicuro che questo si qualifichi come "1 libro" (a meno che tu non intenda davvero "solo il volume 1")
Inaimathi,

Ho tutta la sua serie, ma mi accontenterei del volume 1. (La mia prima lezione di informatica è stata insegnata da questo nel 1967. È stato impagabile). "Conosci le tue strutture dati".
Ira Baxter,

15

I libri Java indispensabili:

Efficace Java di Josh Bloch

testo alternativo

Concorrenza Java in pratica Di Brian Goetz, et. al.

testo alternativo

Puzzle di Java di Josh Bloch, Neal Gafter

testo alternativo


3
+1 per Java efficace. Ha notevolmente migliorato le mie abilità Java.
Ryan Hayes,

+1 per Java efficace , -1 per ignorare Uno per risposta, per favore .
Mark Booth,

L'unica serie di libri Java che dovresti avere
Crowie,


9

Gödel, Escher, Bach.

testo alternativo!


1
Ha! Questa è stata la mia scelta nell'elenco di libri non programmabili! Immagino che questo lo renda non classificabile?
Paddyslacker,

Mi è piaciuto molto questo libro, mi è stato vivamente consigliato dal mio prof di Theory of Computing presso UW Madison - mi è stato di grande aiuto nel cercare di capire di che diavolo stesse parlando.
Peter Turner,

@Paddyslacker, GEB in realtà passa un bel po 'di tempo a parlare di calcolabilità e vari concetti di informatica.

5

Il programmatore pragmatico: da Journeyman a Master (Andrew Hunt e David Thomas)


4

Getting Things Done (David Allen) ti insegna come affrontare le migliaia di piccole attività che devi svolgere nel tuo lavoro quotidiano come sviluppatore di software. Sebbene non sia specificamente orientato verso gli sviluppatori, è sicuramente un aiuto inestimabile, poiché lo sviluppo del software comporta in genere un numero molto elevato di piccole attività che devono essere eseguite in modo prioritario. Ad esempio: quali nuove funzionalità implementare, quali bug correggere, quali parti del codice da refactoring, quali parti del codice riposare o ripetere il test, ecc ...





2

Un iPad conta? Vorrei dire che il mio numero 1 nella mia libreria sarebbe un browser Web e la possibilità di effettuare ricerche. Le API online e i riferimenti sono il posto migliore e dipenderebbero dal mio attuale set di progetti.


2
No non lo fa. Vedi il commento su un Kindle sopra. Detto questo, adoro comunque l'iPad. Può essere una risorsa preziosa, ma non è ancora un vero libro. +1, sono di umore da fanboy. :)
Moshe,


2

"Le insidie ​​dello sviluppo orientato agli oggetti" di Bruce F. Webster

Abbiamo troppi sviluppatori "OO" che ancora non sanno cosa sia un oggetto o una classe o a cosa serva; non so che aspetto abbia una buona programmazione OO, procedurale, modulare e strutturata; e in qualche modo riesce a mettere insieme codice pseudo-procedurale mal fatto insieme a classi.

Questo libro (più alcuni vecchi anni '70 sul design strutturato) farebbe molto per aiutare queste povere anime a capire finalmente come dovrebbe essere un buon orientamento agli oggetti.


Inoltre, è probabile che se fossi costretto a scegliere un libro e un libro solo accanto a questo, non sceglierei un libro specifico per la tecnologia .


1

testo alternativo

È uno dei pochi libri di programmazione che ho tenuto da quando ho iniziato a programmare. Lo prestavo molto alle persone che all'inizio stavano iniziando. Ora, non tanto, dato che C non è più il primo linguaggio di programmazione di molte persone. Fa un ottimo lavoro nel descrivere ciò che sta accadendo dietro le quinte e le sue descrizioni sui puntatori portano chiarezza reale su quello che altrimenti sarebbe un argomento molto confuso per molti.


1

"C # in Depth" di Jon Skeet

testo alternativo


1
In realtà non mi piaceva il libro di Jon. L'informazione era buona, ma c'erano così tanti "oh, questo è importante tra 10 capitoli da ora in poi" nel libro in modo tale che sembrava mal strutturato.
Steven Evers,

2
Tieni presente che esiste una seconda edizione, che è un aggiornamento della prima e copre anche C # 4.
Grant Palin

1

Progettazione di oggetti: ruoli, responsabilità e collaborazioni

testo alternativo

Questo è di gran lunga il mio libro di programmazione preferito (anche se non dipende dalla lingua). Secondo la mia modesta opinione è il libro che meglio presenta il caso su come progettare oggetti che si riferiscono ai loro cugini / fratelli / vicini. A deve avere in ogni libreria programmatore serio.


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.