{"id":15557,"date":"2020-09-02T07:30:09","date_gmt":"2020-09-02T05:30:09","guid":{"rendered":"https:\/\/www.unilab.eu\/?p=15557"},"modified":"2020-08-31T17:39:23","modified_gmt":"2020-08-31T15:39:23","slug":"libri-programmatore","status":"publish","type":"post","link":"https:\/\/www.unilab.eu\/it\/articoli\/coffee-break-it\/libri-programmatore\/","title":{"rendered":"I 15 libri che ogni programmatore dovrebbe leggere"},"content":{"rendered":"<p>I <strong>libri per il programmatore<\/strong> efficiente non devono necessariamente essere tomi di un migliaio di pagine in cui si parla solo ed esclusivamente di codice, ma anzi dovrebbero dare informazioni generali, che aiutino ogni sviluppatore a creare script puliti in maniera logica e funzionale.<\/p>\n<p>A tal proposito ecco una selezione di 15 testi che possono veramente <strong>contribuire alla formazione<\/strong> di ogni programmatore, sia esso fresco di universit\u00e0 o gi\u00e0 esperto professionista del settore informatico.<\/p>\n<p><strong>Libri per il programmatore di utilit\u00e0 generale <\/strong><\/p>\n<p>Di seguito troviamo libri che trattano vari argomenti, tutti utili alla formazione del cosiddetto <strong>pensiero computazionale <\/strong>del programmatore (strumento fondamentale per la risoluzione dei problemi logici legati al coding):<\/p>\n<ul>\n<li><strong>Clean Code: A Handbook of Agile Software Craftsmanship<\/strong>: questo primo testo, scritto da Robert C. Martin e disponibile solo in inglese, \u00e8 di fondamentale importanza, poich\u00e9 insegna alcuni utili design pattern di programmazione, focalizzandosi sull\u2019importanza della pulizia del codice attraverso esempi e casi studio reali;<\/li>\n<li><strong>The Lean Startup: How Constant Innovation Creates Radically Successful Businesses<\/strong>: anche se apparentemente il testo si discosta un po\u2019 dall\u2019ambito informatico, il pensiero che sta alla base \u00e8 estremamente valido anche per i programmatori. L\u2019autore Eric Ries usa infatti molti esempi di startup legate all\u2019informatica e le metodologie qui descritte, se ben applicate, possono portare enormi vantaggi;<\/li>\n<li><strong>Code Complete 2nd Edition<\/strong>: un libro che potremmo definire \u201cevergreen\u201d, poich\u00e9 gli argomenti in esso contenuti sono validi a prescindere dal linguaggio di programmazione utilizzato. Qui troviamo accorgimenti, metodologie di lavoro e problemi che qualunque programmatore affronta quotidianamente. Non a caso si tratta di un testo scritto da Steve McConnell molto usato anche nelle Universit\u00e0;<\/li>\n<li><strong>The Pragmatic Programmer: From Journeyman to Master<\/strong>: il testo proposto da Andrew Hunt che fa scuola da ormai diversi anni e che si focalizza principalmente sull\u2019insegnamento di metodi efficaci per la risoluzione dei problemi legati al coding;<\/li>\n<li><strong>Software Architecture in Practice<\/strong>: un libro pluripremiato, scritto da Len Bass, Paul Clements e Rick Kazmanche, che parla dell\u2019architettura software e dell\u2019importanza della creazione di un codice facilmente riutilizzabile, cos\u00ec da ottimizzare le tempistiche produttive;<\/li>\n<li><strong>Continuous Consegna<\/strong>: qui l\u2019autore Jez Humble da importanti linee guida al programmatore, aiutandolo non solo durante lo sviluppo di un software, ma anche nella sua fase di testing e consegna;<\/li>\n<li><strong>Working Effectively with Legacy Code<\/strong>: utile libro di Michael Feathers sulla programmazione in team o aziendale, perfetto per chi si trova a dover lavorare su un codice gi\u00e0 esistente;<\/li>\n<li><strong>Code: Il linguaggio nascosto di Computer Hardware e Software<\/strong>: il rapporto hardware \u2013 software viene spesso omesso durante la fase di formazione di un programmatore, poich\u00e9 al giorno d\u2019oggi esistono librerie e altre utilit\u00e0 che si occupano della compatibilit\u00e0. Qui Charles Petzold spiega nel dettaglio questo rapporto;<\/li>\n<li><strong>The Art of Computer Programming<\/strong>: un\u2019interessante storia sullo sviluppo della programmazione e le sue basi scritta da Donald Knuth.<\/li>\n<\/ul>\n<p><strong>Libri dedicati al Design Patterns<\/strong><\/p>\n<p>Grazie a questa categoria di libri il programmatore imparer\u00e0 a conoscere i diversi e pi\u00f9 diffusi <strong>design patterns<\/strong>, cos\u00ec da avere un\u2019idea generale di come ottimizzare il proprio codice e renderlo pi\u00f9 funzionale:<\/p>\n<ul>\n<li><strong>Design Patterns <\/strong>(Gamma);<\/li>\n<li><strong>Design Patterns: Elements of Reusable Object-Oriented Software <\/strong>(Addison-Wesley);<\/li>\n<li><strong>Domain-Driven Design: Tackling Complexity in the Heart of Software <\/strong>(Eric Evans).<\/li>\n<\/ul>\n<p><strong>Libri sul Web Design<\/strong><\/p>\n<p>Conoscere elementi di <strong>web design<\/strong> per un programmatore che solitamente si trova a lavorare solo sul codice, \u00e8 un plus alla sua formazione professionale, poich\u00e9 gli fornisce dati concreti sulla User Experience, aiutandolo nell\u2019ottimizzazione:<\/p>\n<ul>\n<li><strong>The Principles of Beautiful Web Design Third Edition <\/strong>(Jason Beaird e James George);<\/li>\n<li><strong>CSS Secrets, Better Solutions To Everyday Web Design Problems <\/strong>(Lea Verou);<\/li>\n<li><strong>CSS, The Missing Manual <\/strong>(David Sawyer McFarland).<\/li>\n<\/ul>\n<p>La lettura dei testi qui consigliati fornisce allo sviluppatore un pacchetto culturale non indifferente, perfetto per migliorarne le prestazioni professionali e non solo.<\/p>\n<!--themify_builder_content-->\n<div id=\"themify_builder_content-15557\" data-postid=\"15557\" class=\"themify_builder_content themify_builder_content-15557 themify_builder tf_clear\">\n    <\/div>\n<!--\/themify_builder_content-->\n","protected":false},"excerpt":{"rendered":"<p>Books for an efficient programmer don\u2019t necessarily need to be thousand page tomes focused entirely on codes; on the contrary, they should provide general information, which can help every programmer create clean script in a logical and functional way.<\/p>\n","protected":false},"author":10,"featured_media":15555,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"46","_seopress_titles_title":"","_seopress_titles_desc":"Books for an efficient programmer don\u2019t necessarily need to be thousand page tomes focused entirely on codes; on the contrary, they should provide general information, which can help every programmer create clean script in a logical and functional way.","_seopress_robots_index":"","footnotes":""},"categories":[46],"tags":[],"class_list":["post-15557","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coffee-break-it","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"builder_content":"","_links":{"self":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/posts\/15557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/comments?post=15557"}],"version-history":[{"count":0,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/posts\/15557\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/media\/15555"}],"wp:attachment":[{"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/media?parent=15557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/categories?post=15557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unilab.eu\/it\/wp-json\/wp\/v2\/tags?post=15557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}