Leggendo la newsletter MSDN di questo mese, ho avuto modo di apprezzare l'editoriale di Pietro Brambati che pone l'attenzione su LINQ e su come sia finalmente possibile utilizzare anche nei linguaggi di programmazione come C# e VB.NET un approcio dichiarativo nella scrittura di una parte del codice.
Perchè lo sviluppo dichiarativo è così importante? Perchè ci permette di specificare cosa vogliamo ottenere e non come, lasciando questo fardello alla machina (compilatore, runtime o engine che sia) che sicuramente nella maggior parte dei casi può fare questo lavoro meglio di noi: può valutare diverse strategie di ottimizzazione scegliendo di volta in volta la migliore (ok, in .NET non è ancora cosi, ma la strada è aperta).
Tutto questo è molto ma molto simile a quello che accade con SQL ed i database relazionali. Nella scrittura di una query che non fa uso di cursori - di fatto - specifichiamo il risultato che vogliamo ottenere, lasciando all'optimizer del motore del database il compito di capire qual'è il modo più veloce ed efficiente per restituire il risultato che stiamo chiedendo.
Il fatto che ora l'approcio dichiarativo sia pubblicizzato come una grande conquista mi fa davvero piacere, soprattutto perchè molte persone che qualche anno fanno insistevano nel sostenere che "SQL è morto" ora si dovranno richiedere non poco...visto che il suo approcio ed una sintassi davvero molto simile d'ora in poi se la ritroveranno in tutte le applicazioni. Speriamo che la lezione serva.