Domanda

[The solo una domanda simile posso trovare una risposta molto tempo fa e contiene un riferimento principalmente a IronPython. Voglio prendere in considerazione anche altre opzioni]

Abbiamo un'applicazione complessa di analisi dei dati scritta in C #. L'applicazione dovrebbe fornire agli utenti un mezzo sofisticato per personalizzare le loro attività di analisi dei dati. Attualmente, utilizziamo una combinazione di file di configurazione e tabelle Excel per specificarlo, ma diventa ingombrante, quindi stiamo cercando un linguaggio di scripting da incorporare.

Qual è il miglior linguaggio di scripting semplice per l'incorporamento C # /. NET? È possibile in qualche modo incorporare VBA in modo simile a Excel / Word? O forse vengono utilizzati JavaScript / Lua?

Inutile dire che dovrebbe essere facile esporre alcune API e oggetti dall'applicazione principale negli script incorporati.

È stato utile?

Soluzione

Conosco gli altri riferimenti alle domande IronPython , ma sento ancora che dovrebbe essere qui perché penso è una delle migliori opzioni.

Un'altra grande opzione sarebbe IronRuby . La differenza principale che vedo sarebbe se i tuoi sviluppatori / utenti avessero avuto esperienza con Python o Ruby che potesse essere trasferibile.

Davvero, alla fine la tua migliore opzione sarà una lingua che gli utenti potranno facilmente adattare. A meno che non lo accettino e siano in grado di essere più produttivi di quanto non fossero con il vecchio metodo, non vale la pena.

Altri suggerimenti

Boo forse?

Lua è fantastica! Lua gioca davvero bene con .NET. Ho scritto un post sul blog su come iniziare a incorporare Lua e C #, potrebbe valere la pena di dare un'occhiata:

http://blog.apterainc.com/software/embedding-lua -e-c /

Vorrei esaminare XAML solo Windows Workflow. È possibile ospitare nuovamente il progettista e fornire attività personalizzate che possono essere trascinate e utilizzate per manipolare i dati nel modo che preferiscono. MOLTO visivo. Attualmente lo sto usando in una delle mie applicazioni e gli utenti sembrano adorarlo. Sebbene vi sia una piccola curva di apprendimento, è molto meno di un tipico linguaggio di scripting e le persone sembrano essere in grado di afferrarlo abbastanza rapidamente, specialmente quelli con esperienza nell'uso dei diagrammi di flusso e Visio.

So che hai richiesto una tecnologia di scripting, ma la necessità di fondo è il controllo del codice per i non programmatori. Stiamo utilizzando Regole ILOG per .Net per soddisfare tale esigenza.

Umm, che ne dici di C #? Non c'è motivo per cui non si possa permettere all'utente di scrivere C #, quindi caricarlo in sicurezza in un altro AppDomain con tutte le restrizioni e le garanzie corrette.

Penso che usare C # tramite CodeDom sia una soluzione molto potente

Boo e IronPython sono stati menzionati, ma non dimenticare IronScheme , F # o uno qualsiasi dei altre lingue che sono state portate sulla macchina virtuale CIL e hanno compilazione / interpretazione di runtime.

IronRuby ha un aspetto migliore ogni giorno.

Ci sono molti, molti linguaggi di scripting . La cosa migliore per te dipende da cosa stai cercando di fare.

Dovresti analizzare le attività che i tuoi utenti devono fare, la notazione con cui hanno già familiarità e scegliere un linguaggio di scripting esistente che le corrisponda. Non dovresti scegliere un linguaggio di scripting popolare, quindi forzare l'applicazione e gli utenti a inserirsi in esso.

Vorrei anche votare per l'uso di C # per scrivere le tue estensioni. A meno che tu non abbia una ragione convincente come una base di utenti esistente che abbia già familiarità con Python, Ruby o Boo, portare un'altra lingua non fa che aggiungere complessità e costi di formazione.

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