Wartbed:Architecture/Scripting

From Dark Omen Wiki

< Wartbed:Architecture
Revision as of 11:17, 17 February 2010 by Rob (Talk | contribs)
Jump to: navigation, search

As of yet, there is no need for scripting.

Options for script languages include

Script language Notes Maturity Embeddability Ease of using from C++ Language complexity Script parsing/execution Platforms Licence
LUA Designed for C for maximum portability. Some hoops (local wrappers) must be hopped for C++ integrations. Well done High Easy Medium. Sparse semantics. Procedural and OO paradigms. Vanilla but not particularly aesthetic syntax. Fast Most
AngelScript No notes yet Medium rare High  ???  ??? Fast?  ???
Ruby No notes yet Well done Cumbersome? Lowest Higher. Single-paradigm, extreme OO design. CLosures, lambda, mix-ins. Very appealing and human-readable semantics and syntax. Slower All?
Python No notes yet Well done  ??? Low High. The German of script languages: extremely well equipped libraries, has everything you'll ever need, but can be butt ugly. Slow All
Minimal Git download location Rare  ???  ???  ???  ???  ???
Falcon Programming Language Designed for maximum speed using C++. Medium rare High  ??? High: Multi-paradigm: supports procedural, object oriented, prototype oriented, tabular, functional and message oriented programming models. Coroutines, multithreading, compile-time metaprogramming, reflection. Virtual file system. Small standard library. Mostly strict and clean style, functional code slightly messy. Fast Win,Linux, OSX Dual: Either FPLL (similar to LGPL/MIT), or GPL
ChaiScript Designed for C++ integration. Very easy to integrate into application - ca. three lines! Dynamically type scripting language inspired by Ruby and Scala. Type-safe inside C++. Medium rare Very high. Easy High: lambda, everything-is-an-object, closures; OO, functional, procedural and message paradigms.Very appealing syntax. Library is an exposure of C++ methods and STL types.  ??? Source for Win, Linux, OSX. Liberal and permissive home-cooked licence.

Current favourites=

1st place ChaiScript
1st runner up logo.png
2nd runner up Angelscript
3rd runner up LUA

Dream language: Ruby, if it would be fast enough interpreted and embedded

Community Comments

Seems to me that there would be little point implementing some of these scripting languages, since they aren't really a lot simpler than C++.

If the idea is to facilitate third party editing, then something that is approachable for those with little programming experience would be preferable.

If however, it's merely to avoid recompiling then some of the options above start to make more sense, although you'd be adding runtime overhead and code complexity. Rob

Personal tools
communication