Sono Don Box e Davide Langworty a parlare e del linguaggio M di Oslo. M è un linguaggio che serve a descrivere value type, cioè i dati di una applicazione. La definizione che mi è piaciuta di più è che M sta al linguaggio SQL come il C sta all'assembler. In pratica un linguaggio che provvede ad una astrazione dei dati che permette di definire dei type, la loro strutturazione, la loro relazione e il modo in cui devono essere persistiti.
Per la sessione gli speaker mostrano il repository SQL ma questo è solo uno dei tanti possibili.


M non è un linguaggio object oriented, non è l'ennesima tecnologia di accesso ai dati, non rimpiazza T-SQL. Nella demo viene mostrato quanto sia semplice generare statement SQL man mano che si scrivono le definizioni usando M.


L'idea che mi sono fatto è che un livello di astrazione sui dati è una manna dal cielo perché uno dei problemi fondamentali dell'informatica è quello di conciliare le differenze di type system. M produce metadati a sufficienza per colmare queste differenze e potrebbe essere una svolta chiave. Chi mi conosce sa bene che ho stressato più volte sul fatto che il linguaggio SQL è di fatto un assembler: è a basso livello, è incompatibile da DB a DB, è performante, è prono a brutti errori. Io ho scritto assembler x86 per tanti anni, ma poi sono evoluto ;-)