Linguagem de script para embutir em C # /. NET? [fechadas]
Pergunta
[A única questão semelhante posso encontrar foi respondida há muito tempo e contém uma referência para a maioria IronPython. I considerar outras opções também]
Nós temos um aplicativo de análise de dados complexos escrito em C #. A aplicação deve fornecer aos usuários uma sofisticados meios de personalizar suas tarefas de análise de dados. Atualmente, usamos uma mistura de arquivos de configuração e tabelas do Excel para especificar isso, mas fica complicado, por isso estamos à procura de uma linguagem de script para incorporação.
Qual é a melhor linguagem de script simples para C # /. Incorporação NET? É possível VBA de alguma forma incorporar de forma semelhante ao Excel / Word? Ou talvez seja JavaScript / Lua são usados?
É desnecessário dizer que ele deve ser fácil para expor alguns API e objetos a partir da aplicação principal para os scripts incorporados.
Solução
Eu sei que as outras referências pergunta IronPython , mas eu ainda sinto que deveria estar aqui porque eu acho é uma das melhores opções.
Outra ótima opção seria IronRuby . A principal diferença que vejo seria se seus desenvolvedores / usuários teve alguma experiência com Python ou Ruby que poderia ser transferível.
Realmente, no final a sua melhor opção vai ser uma linguagem que é mais facilmente adaptado para pelos usuários. A menos que eles aceitá-lo e são capazes de ser mais produtivos do que eram com o método antigo não vale a pena o esforço.
Outras dicas
Boo talvez?
Lua é ótimo! Lua jogar muito agradável com .NET. Eu escrevi um post sobre como começar a incorporar Lua e C #, pode valer a pena verificar para fora:
Gostaria de olhar para o XAML somente para Windows Workflow. Você pode rehost o designer, e proporcionar atividades personalizadas que podem ser arrastados para fora e usados ??para manipular os dados em qualquer maneira que eles gostam. MUITO visual. Atualmente estou usando isso em uma das minhas aplicações, e os usuários parecem amá-lo. Enquanto há uma pequena curva de aprendizado para ele, é muito menos do que uma linguagem de script típico, e as pessoas parecem ser capazes de compreendê-lo rapidamente, especialmente aqueles com experiência no uso de fluxogramas e Visio.
Eu sei que você pediu uma tecnologia de script, mas a necessidade subjacente é o controle de código para não-programadores. Estamos usando Regras ILOG para .Net para atender a essa necessidade.
Umm, como sobre C #? Não há nenhuma razão para que você não pode deixar o write usuário C #, em seguida, carregá-lo com segurança em outro AppDomain com todas as restrições e salvaguardas corretas.
E sobre JScript.NET ou PowerShell
Acho que usando C # via CodeDom é solução muito poderoso
Boo e IronPython foram mencionados, mas não se esqueça IronScheme , F # , ou qualquer um dos outras línguas que foram portados para a máquina virtual CIL e têm tempo de execução compiliation / interpretação.
IronRuby está procurando melhor a cada dia.
Há muitos, muitos, muitos . Qual é o melhor para você depende do que você está tentando fazer.
Você deve analisar as tarefas que seus usuários precisam fazer, a notação eles já estão familiarizados com, e escolher uma linguagem de script existente que jogos eles. Você não deve escolher uma linguagem de script popular, então forçar sua aplicação e usuários para caber dentro dele.
Eu também iria colocar em um voto para usando C # para escrever suas extensões. A menos que tenha uma razão convincente, como uma base de usuários existente já está familiarizado com Python, Ruby, ou vaia, trazendo em outro idioma apenas adiciona complexidade e formação de custos.