Succede periodicamente dopo tutte le PDC (che, lo ricordo, è una conferenza Microsoft caratterizzata dal fatto che viene fatta solo "quando ci sono tante belle cose nuove da annunciare") che nel gruppo di quelli che seguono le tecnologie MS ci si divida in due, quelli che "ma che belle cose, le uso da domani in un progetto mission critical anche se sono in fase beta -1" e quelli che "ma che tecnologia e tecnologia nuova, faccio le stesse cose da 24 mesi a modo mio e va benissimo".
E' successo quando hanno presentato .Net (oddio!!!!! linguaggi managed e non compilati, mavalà, io continuo a sviluppare in C++!), quando hanno presentato COM ed ADO (mavalà, a me bastano RDO e DDE, cavolo me ne faccio di uno strato di RPC!!!), sicuramente quando hanno fatto vedere Windows (ma non ci penso neanche a rifare la mia applicazione con la sua interfaccia a caratteri e farla andare sotto Windows, ai miei utenti va bene così!!!!) e magari potrei anche andare più indietro.
Il risultato è sempre quello, che coloro che sostenevano quanto scritto tra le parentesi dopo un po o erano tutti a scrivere in C#, con COM+ o sotto Windows oppure se ne erano usciti dal mercato.
Qui sta succedendo la stessa cosa, tanta gente che sostiene che Atlas, Linq (o qualunque altra tecnologia presentata alla PDC) sia sostanzialemente un gran casino, che non va nulla, che è uno strato di indirezione inutile, in sostanza a sostenere che queste soluzioni siano un "accrocchio" appoggiato su uno strato complicato.
Ma perchè, Ado.Net non è un accrocchio? O un controllo Asp.Net che si memorizza lo stato in una variabile dentro la pagina e fa un postback alla pagina mediante script non è un accrocchio? Eppure non mi pare che con questi accrocchi si lavori poi così male. E poi diciamocelo, il codice che scriviamo noi siamo così certi che NON sia un accrocchio? Che tutti scriviamo solo codice elegante, puro e bello? Io non ci credo.
Il concetto di fondo è che tutto quello che facciamo è un accrocchio, poi lo glorifichiamo con la parola "pattern" e da un accrocchio diventa una cosa sana, un po come l'acqua purificata o come il falso in bilancio.
Quello che ha presentato MS alla PDC non mi pare sia nulla di "nuovo", ma solo il portare ancora di più dentro la piattaforma tutto uno strato di complessità che (lasciatemelo dire) se me lo fa Microsoft con un gruppo di 100 sviluppatori e non lo fa fare a me è solo un bene. Così finisce che io mi posso concentrare ancora di più sul core "business" della mia applicazione. E d'altronde l'evoluzione è così, qualche anno fa se mi serviva una collezione tipizzata e particolare me la dovevo scrivere da zero, adesso uso i Generics e mi vogliono 10 righe di codice e ci faccio quello che voglio. Adesso se voglio mappare uno strato di database dentro C# devo scrivere tante righe di codice o usare un OR mapper, tra 18 mesi uso Linq.
Atlas è la stessa cosa, mi ricordo che uno dei miei primi stagisti come progetto mi aveva realizzato una pagina Html che leggeva dell'Xml da una pagina Asp mediante XmltHttp, il tutto (direi) circa 5 anni fa. Adesso ho uno strato di sistema che mi consente di fare la stessa cosa, così invece di perdere tempo a farmi una griglia e capire come funziona tutto lo strato di trasporto mi posso concentrare su COSA far vedere dentro la mia griglia, in modo semplice e veloce.
A me tutto questo sembra solo un vantaggio, perchè mi consente di concentrare le attività su quello che veramente da valore al mio cliente (ovvero il dominio del mio business) e non disperdermi su codice che serve solo a dare un'infrastruttura alla mie conoscenze. Poi capisco che se il sogno di qualcuno era fare il programmatore hardcore forse non sia il massimo della vita, ma credo che sia un destino inevitabile dell'evoluzione dell'informatica.
Poi possiamo avere tanti dubbi sulla implementazione delle cose, ma fare la PDC, dare in giro le beta e sentire dei feedback credo serva proprio a questo, a fare sì che l'implementazione reale che vedremo nelle versioni rilasciate si avvicini a quello che realmente serve alla massa degli sviluppatori. E se così non fosse... evviva i service pack!!!