Questa introduzione è solo il mio ingenuo tentativo di ottenere un'istantanea di un miglio che mi aiuti a posizionare la mia domanda. Qualsiasi utente che cerchi di rispondere alla mia domanda, che cerca di definire un aspetto della programmazione, avrà per superare la mia comprensione ingenua, semplicemente a causa della mia educazione idiosincratica. Quindi qui sto mettendo il mio soggetto nella gamma di argomenti che delineano la programmazione e le attività del software:
- Fondamenti di programmazione (modelli di progettazione software, espressioni idiomatiche, modelli)
- Riutilizzo e integrazione del codice (librerie, framework, apis)
- Sviluppo continuo (documentazione, commenti, controllo della versione)
- Migliori pratiche di manutenzione (amministrazione dei sistemi)
Mi interessa concentrare le mie capacità di programmazione sul riutilizzo del codice e sugli argomenti di integrazione. Questo argomento può certamente iniziare con i linguaggi di programmazione del software e le differenze tra la programmazione funzionale e orientata agli oggetti. Tuttavia, ciò che desidero focalizzare su in dettaglio e su una certa lunghezza sono la varietà di usi di librerie, framework e apis.
La mia formazione di programmazione viene da ciò che posso trovare facilmente su Internet e nei libri. All'inizio di quest'anno mi sono iscritto a un corso sui fondamenti di Coursera, Programming Languages , del professor Daniel Grossman, che tenta di preparare gli studenti per la programmazione in qualsiasi lingua. Il riutilizzo era menzionato solo come una proprietà di funzioni e oggetti. Puoi iniziare la tua ricerca di "riutilizzo e integrazione" nei fondamenti e non avvicinarti.
Da quando ho iniziato a imparare un po 'di Ruby, php ho messo insieme una migliore comprensione del "riuso e integrazione", ma è tutto maculato e patchwork. I materiali pubblicati sono principalmente # 1 e poi alcuni mix idiosincratici di # 2-4. Puoi leggere molti libri e ancora non capire come tutte queste astrazioni combaciano.
Ho persino partecipato a una discussione qui a p.se sul problema pedagogico di studenti di programmatori cargo-cult che" ... copia-incolla il codice di precedenti incarichi simili ... "Mentre la mia risposta a questo riflette il mio apprezzamento per la preoccupazione dell'OP, eppure la mia immaginazione non può aiutare a invidiare questi studenti che possono disegnare con tanta facilità dai progetti precedenti solo un po '.
Non ho letto il libro o non ho partecipato a una lezione o ho ascoltato una discussione che tenta di sondare il riutilizzo e i paradigmi di integrazione nella loro totalità.
Dove nell'educazione informatica il "riutilizzo e integrazione" trova una copertura completa?