È possibile un'architettura basata su modelli nella programmazione orientata alla lingua (MPS) in questo momento

3

Come progetto parallelo sto sviluppando una sorta di DSL in cui descrivo un modello di dati e generi da esso i file di codice desiderati. Credo che questo sia chiamato Model Driven Architecture . La mia implementazione esistente parziale utilizza C #, CodeDOM, XML e XSLT per farlo manualmente.

Ho scoperto che esistono già ambienti migliori per farlo. Quello che mi ha affascinato di più è chiamato MPS , che segue il paradigma Programmazione orientata alla lingua . Questo articolo , scritto da un cofondatore di JetBrains è stato per me un vero colpo d'occhio. Credo fermamente che LOP abbia ottime possibilità di diventare il prossimo grande paradigma di programmazione una volta che avrà un supporto più ampio. Dalla mia breve esperienza con MPS, ho notato che è ancora principalmente orientato a Java.

La mia domanda è: quanto è fattibile generare file di codice per altre (multiple) lingue invece di solo Java. Non ho bisogno del supporto completo del linguaggio sin dall'inizio, quindi preferibilmente, devo essere in grado di implementare una lingua in modo agile. Per esempio. prima supporta solo un tipo, aggiungi i modificatori di accesso, ...

Forse qualche altro ambiente (gratuito) fornisce già questo fuori dalla scatola.

P.S .: Trovo importante avere un grande controllo sulle convenzioni di denominazione e su quelle del codice generato. Questo è uno dei motivi per cui ho iniziato la mia implementazione.

UPDATE:

A giudicare dalle risposte sembra che la gente pensi che io sia interessato solo alle soluzioni .NET. Questo non è il caso, ogni altro suggerimento è molto apprezzato!

    
posta Steven Jeuris 07.02.2011 - 11:56
fonte

2 risposte

1

Penso anche che la programmazione orientata alla lingua mostri una grande promessa, le possibilità sembrano ottime e quando segui link o leggi il suo blog link puoi vedere che è piuttosto attivo.

Per quello che ho visto finora non è ancora matura la produzione, anche per lo sviluppo Java, la parte C # è ancora meno evoluta. link e link

I progetti C # mostrano che è fattibile, non penso che sarà facile. L'integrazione con Visual Studio sarà un problema.

Come alternative da esaminare:

Fine O Sì, ci può essere una certa confusione sulla terminologia:

MDA è uno standard OMG per MDD. Vedi qui per una bella spiegazione

    
risposta data 07.02.2011 - 15:28
fonte
1

Qualsiasi implementazione Lisp decente ti fornirà tutti gli strumenti LOP fuori dagli schemi. Lingue come Nemerle faranno bene anche il lavoro. E ci sono strutture specializzate per la costruzione di DSL come mbase o link che può gestire varie piattaforme di destinazione.

    
risposta data 18.02.2011 - 11:48
fonte

Leggi altre domande sui tag