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.

Foi útil?

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:

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

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.

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top