Qualche settimana fa questo:
Poi Davide questo:
Andate a leggere il post linkato da Davide (http://gaiustech.wordpress.com/2013/04/13/mongodb-days/), poi fate un esercizio e togliete la parola MongoDB da tutto il post e sostituitela con qualsiasi tecnologia, meglio se di grido e nuova, vi venga in mente, il discorso (mediamente) fila lo stesso.
Ha senso anche spezzare una lancia a favore della conferenza che del resto si chiama “MongoDB Days” e quindi è sensato aspettarsi che si parli solo di quanto sia bello quello e che ci siano anche un sacco di invasati, del post infatti condivido la linea generale ma non la critica in se alla conferenza/argomento.
Inoltre non condivido questo punto:
“Another speaker claimed that it was far better for each application to have its own database, and expose all its data through web services. Sounds good, except you now needanother technology, a directory to find all these things, since they aren’t just table names or stored procedure names in the one place, and manage access control and auditing. And if you need to touch data across several of them then you’ll need something to coordinate that… We could call it a transaction processing facility, since that’s what IBM called it in 1960. He handwaved over both of those. There were many similar examples.”
Io sono decisamente a favore del “i dati sono i miei e ci faccio quello che dico io se li vuoi vieni da me e non vai a prenderteli da solo”, ma è un discorso lunghissimo che esula dal mero discorso tecnologico e tecnico e che deve essere calato in un contesto perché abbia senso che venga affrontato, inoltre non ha nulla a che spartire con la tecnologia; ma è non oggetto di questo post e anzi potrebbe essere spunto per incontrarsi nuovamente… :-)
Tecnologia, maledetta tecnologia
Il problema è la tecnologia e la nostra incapacità di usarla, di metterla al nostro servizio piuttosto che di piegarci noi al suo servizio. Ma non solo, il grosso problema è che semplicemente noi sta maledetta tecnologia non la conosciamo e nonostante non la conosciamo, ergo ci manca esperienza diretta, ci muoviamo da soli senza pensare che ha molto più senso:
- alzare la testolina e chiedere a qualcuno che riteniamo ne sappia più di noi;
- calare quel qualcuno nel contesto;
- e infine aprire un dibattito sulle scelte;
Mi sembra il minimo sindacale prima di prendere una decisione da cui è difficile tornare indietro.
Tecnica, non tecnologia
Su questa falsa riga è importante comprendere a fondo che la tecnologia è uno strumento, un mezzo per portarci da qualche parte, la tecnologia in quanto tale passa, diventa obsoleta e viene sostituita da altra tecnologia, migliore o peggiore poco importa.
E’ importantissimo non dipendere dalla tecnologia, è quindi importante essere dei “tennici” e non dei “tennologi” (liberamente mutuato da un’espressione idiomatica di Andrea), è vitale che se domani mattina il vostro ORM preferito non è più disponibile non cadiate nel buio più assoluto perché sapete perfettamente che cosa è un’ORM, che cosa significa IdentityMap e cosa significa UnitOfWork e di conseguenza potete iniziare ad usare PetaPoco in tempo zero.
Sulla stessa falsa riga se ad un certo punto vi chiedono di sviluppare una Single Page Application, basata su HTML e JavaScript e voi siete dei long-time WPF addicted, è importante che il problema sia solo il linguaggio, quindi qualcosa che deve essere pedissequamente imparato, perché conoscete alla perfezione “Model View ViewModel” e quindi passare ad AngularJS, o Durandal, è pressoché indolore; mentre se siete dei guro del toolkit di turno ma non avete la più pallida idea dei concetti che lo guidano allora avete un grosso problema.
Se ne potrebbe quindi dedurre che la tecnologia sia un problema, la mia esperienza dice che la tecnologia da sola, senza tecnica e contesto tende a fare più danni dei benefici che porta con se.
.m