I am evaluating options for a scripting language to embed at my company.
We mostly make indie games, and we use managed frameworks (Unity and XNA). This means that we need a solution that works with both Mono and .Net, and we'd rather avoid stuff that is too slow.
The possibilities we are considering are the following:
- python
- lua
- F#
The features we require are:
- continuations/coroutines
- decent performance
- integration with Mono and .Net (compatible type systems)
- [optional]. ease of extensibility to add new combinators such as multithreaded coroutines
- [optional]. easy bindings
I know for certain that I can achieve all requirements in F# with a custom-built monad (I h开发者_开发知识库ave several working prototypes which are ending in a few products) but I would gladly jump to another solution if it is proven to be better!
As you're using .net anyway, any of the .net languages might allow you the easiest implementations. From a learning perspective etc. I'd prefer Lua any time due to it's rather simple basic constructs and syntax rules.
I have a weird-er suggestion for you. How about using C# or VB.NET?
You can dynamically compile scripts and save the assemblies. This way you get minimum loading time.
You can also register them in the GAC and have no worry!
精彩评论