Domanda

Ho sentito Microsoft ha sviluppato un linguaggio di programmazione chiamato M.

Qualcuno può spiegare l'uso di M e come un programmatore C # può benifit da M.

È stato utile?

Soluzione

UPDATE 2:

Nel mese di luglio 2015, Microsoft ha rilasciato una versione pesantemente modificata del M chiamato Potenza Query . E 'descritto come un "linguaggio delle formule", e non più sulla modellazione di per sé.


UPDATE 1:

Sono passati quasi quattro anni da quando ho scritto questo, e la mia ipotesi (che "non è molto utile") scopre di essere stato condiviso da un sacco di gente. M è da tempo defunta e non è mai uscito. MS commutato sforzi per OData invece .


Per capire il punto dietro M, dovete capire alcune breve storia:

  • A metà degli anni 1990 e primi anni 2000, ci fu una sorta di mini-movimento in ingegneria del software per incoraggiare gente d'affari a scrivere e sviluppare software. Questo è stato visto come un tentativo di ridurre la complessità dei grandi progetti software, tagliando fuori gli intermediari di sviluppatori di software per la modellazione di grandi applicazioni aziendali. Molti team di gestione amato l'idea, dal momento che ora gli uomini d'affari potrebbero contribuire direttamente allo sviluppo del software.

  • Ci sono stati un sacco di strategie che chi è abituato a cercare di aumentare il coinvolgimento business analyst. Uno dei più popolari è stato modello di architettura orientata . Nell'ambito di questo regime, gli uomini d'affari potrebbero specificare modelli direttamente utilizzando una sorta di linguaggio visivo (ad esempio UML), che sarebbe poi generato in codice. Questo sarebbe non dissimile da avere un qualche tipo di visual designer che ha creato colonne di database generate automaticamente e le tabelle così come C # classi associate contrassegnati con i giusti tag NHibernate.

  • perché è scomodo per imparare un nuovo linguaggio di programmazione solo per il gusto di modellare alcuni concetti, la maggior parte delle gente d'affari potrebbe non capire il loro codice generato. In effetti, la maggior parte delle persone volevano solo a portata di mano una pila di codice modellato per gli sviluppatori e dire "qui, correre con questo". In generale, il livello di qualità del codice generato è stato basso.

  • In ultima analisi, il movimento è morto una volta è emerso che avere gente d'affari, che non riusciva a capire il software che avevano appena scritta è stata problematica. Gli strumenti sono stati in parte la colpa, anche: scatole-e-frecce chiazza di petrolio diagrammi grande in presentazioni di PowerPoint, ma hanno rappresentazioni ambigue nel software. Le differenze di intenti tra le possibili implementazioni erano spesso troppo sottile per la cattura di uno strumento.

E 'qui che entra in gioco M. Microsoft sta scommettendo che gli strumenti sono migliorate al punto in cui è ora possibile le cose modello più direttamente. Hanno ovviamente imparato dagli errori degli altri, dal momento che M è un linguaggio testuale (piuttosto che il linguaggio della chiazza di petrolio scatole-e-frecce di strumenti di modellazione in precedenza visivi). Pensate a M come un'altra versione di UML, ma con un sacco di cruft strappato via, e messo a fuoco più o meno esclusivamente sulla modellazione di oggetti (piuttosto che sequenze di eventi, attori, ecc, e tutte le altre cose UML possono essere utilizzati per modello).

IMO, non è molto utile in questo momento perché non c'è abbastanza di un Mindshare per fare lavorare con esso efficace. Parte del programma di utilità di un linguaggio sono gli strumenti con cui lavora, e in questo momento ci sono molto pochi di quelli (in realtà, in questo momento non riesco a pensare ad un singolo strumento di terze parti che ti aiuta con M).

Barra laterale: qualcuno ha bisogno di dare la gente di Microsoft alcuni SEO Marketing 101 classi. Zero dei risultati top ten per "m DSL" sono anche vicino a parlare di DSL: uno dei risultati è per softball league a Detroit; uno è su linee telefoniche abbonati digitali mobili; eccetera. Non chiamare il vostro nuovo strumento, dopo una lettera dell'alfabeto!

Altri suggerimenti

Una citazione dal linguaggio M di Microsoft specifica :

  

Il nome in codice Microsoft "M" Modeling Language, di seguito denominato M, è un linguaggio per la modellazione di domini utilizzando il testo. Un dominio è un qualsiasi insieme di concetti o oggetti correlati. Modellazione dominio consiste nel selezionare alcune caratteristiche da includere nel modello e implicitamente escludendo altri considerate irrilevanti. Modellazione utilizzando testo presenta alcuni vantaggi e svantaggi rispetto modellazione utilizzando altri mezzi come diagrammi o argilla. Un obiettivo del linguaggio M è di sfruttare questi vantaggi e mitigare gli svantaggi.

M sta per le query mashup, e viene utilizzato in PowerQuery e PowerBI Desktop. E 'stato rinominato in potenza Query Language Formula. E ' informalmente conosciuto come "M" .

https://msdn.microsoft.com/en-us/library/ mt270235.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top