Ormai diamo per scontata la loro presenza, il loro supporto e il loro impressionante numero. I framework hanno cambiato radicalmente l’approccio allo sviluppo del software, dando grandi poteri ai programmatori in ogni ambiente di lavoro e sostanzialmente con qualsivoglia tecnologia.
Ma anche in questo caso vale la mitica filosofia di Spiderman: “Da grandi poteri derivano grandi responsabilità â€.
Mi faceva notare un collega un pochetto più “datato†di me come ai suoi tempi tutto si faceva con il famoso olio di gomito: la sua idea è molto semplice. I programmatori “moderni†dispongono sicuramente di strumenti potenti e affidabili per svolgere il loro lavoro più velocemente e con una qualità che dovrebbe (è qui sta il punto) essere superiore a quella di qualche anno fa: ma non hanno la più pallida idea di cià che succede nei “bassifondi†del framework, ad esempio come realmente viene gestito un database, come vengono implementate politiche di catching, di risparmio di risorse e così via. In sostanza la maggior parte usa questi strumenti senza avere le giuste conoscenze, implementando sistemi che paradossalmente funzionano peggio di quelli implementati anni fa.
L’idea è sicuramente interessante, e forse in parte condivisibile. Ma io credo che la realtà sia diversa, e che la vera distinzione debba essere fatta tra professionisti e non-professionisti. àˆ vero, noi disponiamo di framework che spesso ci permettono di lavorare ad un livello di astrazione più alto potendo così tralasciare i dettagli sul funzionamento di ogni singolo elemento, con un conseguente aumento di produttività e velocità . Ma un programmatore che non conosce ad esempio i design pattern, che non studia come adattare l’architettura della base di dati in base alle necessità del software che deve implementare, o ancora che non ha la più pallida idea del concetto di transazione, commit, rollback ecc. non potrà sfruttare appieno gli strumenti che ha a disposizione.
In poche parole: non serve a nulla avere grandi poteri se non si sa come utilizzarli. Non credo che il problema sia da attribuire alle tecnologie, ma al “come†le utilizziamo. àˆ vero, disponiamo di tantissimi strumenti potenti, ma in fondo la nostra situazione non è esattamente come quella che ha affrontano la generazione precedente?