LibriOltre - la rubrica sui libri di Liberi Oltre discussion

63 views
Suggerimenti di lettura > Spunti per informatici in erba

Comments Showing 1-10 of 10 (10 new)    post a comment »
dateUp arrow    newest »

message 1: by Paolo (new)

Paolo Bizzarri | 12 comments Mod
Un thread per parlare di libri di informatica raccomandati per la lettura.


message 2: by Ferruccio (new)

Ferruccio Alessandria | 5 comments Oddio, partiamo da Babbage?
:)


message 3: by Ferruccio (new)

Ferruccio Alessandria | 5 comments Io penserei a

- C, C#, SQL
- UML distilled - Fowler
- sistemi informativi
- sicurezza

Poi qualche lettura su
Turing
Raymond
Stallman
Torvalds


message 4: by Lorenzo (last edited Feb 07, 2021 06:45AM) (new)

Lorenzo Stipani | 5 comments Posso chiedere un consiglio qui.

Da scienziato la mia programmazione è: devo fare questo calcolo, implemento l'algoritmo. Ah ma mi serve anche questo: aggiungo feature. E così via fino a quando ci si accorge che si ha bisogno di un approccio più ragionato e ricominciare tutto è troppo.

Qualche riferimento dove studiare come disegnare un codice a monte per rendere l'aggiunta di feature più facile e ordinata?


message 5: by Marco (new)

Marco Bizzarri | 3 comments Lorenzo wrote: "Posso chiedere un consiglio qui.

Da scienziato la mia programmazione è: devo fare questo calcolo, implemento l'algoritmo. Ah ma mi serve anche questo: aggiungo feature. E così via fino a che quand..."


Ciao Lorenzo,

come libro abbastanza generale sull'analisi e la progettazione del codice (object oriented) ti consiglierei il libro di Craig Larman Applying UML and Patterns. La quantità di UML presentata è molto limitata e si limita a quello che serve per poter esprimere su di una lavagna o un foglio di carta il design, e i pattern presentati sono utili per avere soluzioni ripetibili.

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development

A livello di codice il libro è Java-based, ma i principi si possono applicare a qualsiasi linguaggio (io li ho applicati in Python, per esempio).

Pensando invece al fatto di dover modificare e riusare il codice esistente, in modo da non dover buttare via tutto e ricominciare da capo, ti consiglierei di dare un'occhiata al libro di Martin Fowler sul Refactoring (= migliorare la qualità del codice senza cambiarne il comportamento osservabile).

Refactoring: Improving the Design of Existing Code


message 6: by Paolo (new)

Paolo Bizzarri | 12 comments Mod
Ciao Lorenzo,

io suggerisco per incominciare questi quattro libri:

- Design Patterns: Elements of Reusable Object-Oriented Software Oltre a essere un classico, identifica bene il problema di come organizzare il codice in modo generale. Gli esempi sono in C++ e Smalltalk, ma i principi sono comunque validi.

- Refactoring: Improving the Design of Existing Code Molto utile per capire come far diventare il codice migliore - nel senso di più espressivo, meno ridondante, più facile da modificare.

- Refactoring to Patterns Libro che mette insieme i due principi precedenti, mostrando come muoversi verso design del codice che esprimano con maggiore chiarezza gli intenti del developer.

Andando poi verso aspetti più avanzati suggerisco sicuramente Test-Driven Development: By Example. Dover scriver il proprio codice guidato dai test aiuta moltissimo ad avere un design più pulito e meno ridondante.

Infine in termini di architettura software propriamente detta un libro abbastanza buono è Clean Architecture. Qualche volta risulta un po' troppo discorsivo, ma i principi che presenta sono quelli importanti.


message 7: by Lorenzo (new)

Lorenzo Stipani | 5 comments Grazie mille! "Design patterns" sarebbe una buona occasione per imparare il C++, e sicuramente mi procurerò uno dei consigliati sul refactoring.

Lavoro da anni solo con Matlab e Python.


message 8: by Ferruccio (new)

Ferruccio Alessandria | 5 comments Ma l'erba degli informatici in erba quanto è alta? :)


message 9: by Ferruccio (new)

Ferruccio Alessandria | 5 comments Forse meglio un fork
- erba (bassa)
- foresta

:)


message 10: by Marco (new)

Marco Bizzarri | 3 comments Lorenzo wrote: "Grazie mille! "Design patterns" sarebbe una buona occasione per imparare il C++, e sicuramente mi procurerò uno dei consigliati sul refactoring.

Lavoro da anni solo con Matlab e Python."


Come dice Paolo, gli esempi sono validi a prescindere dal linguaggio. Alcune cose vanno adattate, ma questo è un altro discorso. http://www.aleax.it/goo_pydp.pdf questo è anche buono (presentazione di Alex Martelli su DP in Python)


back to top