La massima aspirazione di un programmatore è ridurre la complessità del proprio software in modo da renderlo facile da modificare e comprensibile a chiunque lo legga.
La complessità è nemica della programmazione e astrazione significa rendere gestibili le cose più complicate.
Troppi moduli che interagiscono tra di loro possono far diventare il nostro software estremamente complesso e in questo caso non sarebbe possibile modificare singolarmente un modulo per le troppe interdipendenze dagli altri.
L’unica strategia per semplificare un software è, quindi, quella dell’astrazione per facilitarne la progettazione, manutenzione e la stessa comprensione.
Attenzione però, se un’astrazione non è necessaria e viene introdotta aumenta la complessità del codice. A volte, infatti, la mancanza di capacità progettuale crea più problemi che soluzioni.
Come essere un buon programmatore allora? E come è cambiato il ruolo del programmatore col passare del tempo?
Ne abbiamo parlato nella nostra live Astrazione o semplificazione con un caro amico nonché un programmatore davvero straordinario: Salvatore Sanfilippo, creatore di Redis.