Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scripting language for embedding into C#/.NET applications? [closed]

[The only similar question I can find was answered long ago and contains a reference to mostly IronPython. I want to consider other options as well]

We have a complex data analysis application written in C#. The application should provide users with a sophisticated means of customizing their data analysis tasks. Currently, we use a mixture of configuration files and Excel tables to specify this, but it gets unwieldy, so we're looking for a scripting language to embed.

What's the best simple scripting language for C#/.NET embedding? Is it possible to somehow embed VBA similarly to Excel/Word? Or is perhaps JavaScript/Lua are used?

Needless to say, it should be easy to expose some API and objects from the main application into the embedded scripts.

like image 502
Eli Bendersky Avatar asked Jan 20 '09 17:01

Eli Bendersky


People also ask

What is embedded scripting language?

An embedded scripting language would be a scripting language (or more specifically an interpreter for such a language) that can be embedded into applications. Thus, the interpreter has an API that can be used to integrate it into the application, allowing scripts to control all or parts of the application.

What is scripting language in C?

A scripting language is a programming language that employs a high-level construct to interpret and execute one command at a time. In general, scripting languages are easier to learn and faster to code in than more structured and compiled languages such as C and C++.

Can you use C for scripting?

C/C++ can be used for maximal performance and complicated systems programming tasks. Scripting languages can be used for rapid prototyping, interactive debugging, scripting, and access to high-level data structures such associative arrays.

Is Python embedded scripting language?

The main scripting languages, Perl, Python and Ruby can all function as an embedded scripting language, and TCL was designed for just such a role.


1 Answers

I know the other question references IronPython, but I still feel like it should be here because I think it's one of the best options.

Another great option would be IronRuby. The main difference I see would be if your developers/users had any experience with either Python or Ruby that could be transferable.

Really, in the end your best option is going to be a language that is most easily adapted to by the users. Unless they accept it and are able to be more productive than they were with the old method it isn't worth the effort.

like image 81
chills42 Avatar answered Sep 21 '22 08:09

chills42