Programmazione a oggetti, sicuri che sia una sicurezza?

Come è possibile mettere in discussione il paradigma a oggetti? Le richieste di lavoro sono lì, tutte le grosse aziende utilizzano questo paradigma: banche, ospedali e quasi tutta la PA.


Java e .NET, per citare i due player più importanti, sono stabili. 
È possibile utilizzare molti design pattern (Abstract factory, Singleton, Dependency injection, per citarne alcuni) per ottenere la migliore progettazione possibile, ci sono framework ottimi come Spring e tante altre librerie pronte all’uso che funzionano bene e sono in produzione da anni.


Le scuole e le università hanno preparato un sacco di programmatori orientati a questo approccio, che sanno già come prendere un problema reale e astrarlo in ogni piccolo dettaglio, in ogni singolo attributo o metodo, in astrazioni delle astrazioni.


Ma siamo sicuri questo sia il metodo giusto per risolvere i problemi?


Guardando nel mio piccolo, quando strutturo un progetto, voglio che funzioni bene, che non abbia bug, che vada veloce, che in caso di modifiche possa farle velocemente, quindi avere un codice chiaro ma in particolare che risolva il problema reale che mi viene posto.


Il panettiere smart che deve tenere traccia della farina usata con una bilancia connessa per stimare il costo del pane e fare un previsionale accurato, non è interessato minimamente al come, ma solo al risultato concreto che porta nella sua attività.


L’obbiettivo è risolvere problemi, non astrarre, non schematizzare, non sovra “ingegnerizzare“.


Quindi perchè utilizzare classi e oggetti?


Perchè trasformare il codice in un mostro di migliaia di righe di codice, complicato da capire, che nella maggior parte dei casi più il progetto si amplia più le cose iniziano a rompersi ed è difficile implementare cose nuove.


La programmazione orientata agli oggetti ha fallito nella sua missione
, rende complicato risolvere un problema, nasconde le soluzioni (molti la chiamano astrazione o corretta progettazione) e per me questo è intollerabile.


Capisco le aziende che hanno personale a basso costo e trovabile ogni dove, ma siete sicuri di fare un giusto investimento? Siete veramente sicuri di voler continuare a sviluppare software con codice di bassa qualità, difficile da mantenere, difficile da testare, con grosse implicazioni progettuali quando c’è un cambio di funzionalità?


Io non credo che questo sia il futuro; e come non lo credo io, non lo credono neanche le più grandi aziende al mondo (Facebook, Twitter, Amazon, Paypal) che già da anni utilizzano un paradigma differente più legato alla natura stessa dell’informatica.


Jacopo Bonomi, CTO di Slum Design


Scopri tutti i nostri progetti!

istanbul escortistanbul escortistanbul escortistanbul escortistanbul escortistanbul escort
istanbul escortistanbul escortistanbul escortistanbul escortistanbul escortistanbul escort
istanbul escortistanbul escortistanbul escortistanbul escortistanbul escortistanbul escort
porno izleporno izleporno izleporno izleporno izleporno izleporno izleporno izleporno izleporno izleporno izleporno izle