Wartbed:Architecture/Scripting
From Dark Omen Wiki
(Difference between revisions)
(→Current favourites=) |
|||
Line 2: | Line 2: | ||
Options for script languages include | Options for script languages include | ||
- | {| class="wikitable" | + | <div style="font-size:tiny;"> |
+ | {| class="wikitable" style="font-size:6pt;" | ||
! Script language | ! Script language | ||
! Notes | ! Notes | ||
Line 14: | Line 15: | ||
|- | |- | ||
| LUA | | LUA | ||
- | | | + | | Designed for C for maximum portability. Some hoops (local wrappers) must be hopped for C++ integrations. |
| Well done | | Well done | ||
| High | | High | ||
| Easy | | Easy | ||
- | | Medium | + | | Medium. Sparse semantics. Procedural and OO paradigms. Vanilla but not particularly aesthetic syntax. |
| Fast | | Fast | ||
| Most | | Most | ||
Line 36: | Line 37: | ||
| Cumbersome? | | Cumbersome? | ||
| Lowest | | Lowest | ||
- | | Higher | + | | Higher. Single-paradigm, extreme OO design. CLosures, lambda, mix-ins. Very appealing and human-readable semantics and syntax. |
| Slower | | Slower | ||
| All? | | All? | ||
Line 45: | Line 46: | ||
| ??? | | ??? | ||
| Low | | Low | ||
- | | High | + | | High. The German of script languages: extremely well equipped libraries, has everything you'll ever need, but can be butt ugly. |
| Slow | | Slow | ||
| All | | All | ||
|- | |- | ||
| [http://realm.badsectoracula.com/minimal/ Minimal] | | [http://realm.badsectoracula.com/minimal/ Minimal] | ||
- | | [http://git.runtimeterror.com/?p=minimal.git;a=summary] | + | | [http://git.runtimeterror.com/?p=minimal.git;a=summary Git download location] |
| Rare | | Rare | ||
| ??? | | ??? | ||
Line 69: | Line 70: | ||
|- | |- | ||
| [http://www.chaiscript.com/ ChaiScript] | | [http://www.chaiscript.com/ 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 | | Medium rare | ||
- | | | + | | Very high |
| Easy | | Easy | ||
- | | High | + | | High: lambda, everything-is-an-object, closures; OO, functional, procedural and message paradigms.Very appealing syntax. |
| ??? | | ??? | ||
| ??? | | ??? | ||
| ??? | | ??? | ||
|} | |} | ||
+ | </div> | ||
==Current favourites=== | ==Current favourites=== | ||
- | 1st place | + | {| |
- | + | |1st place || ChaiScript | |
- | + | |- | |
- | + | |1st runner up || http://www.falconpl.org/images/logo.png <br /> | |
- | + | |- | |
- | Dream language: Ruby, if it would be fast enough | + | |2nd runner up || Angelscript <br /> |
+ | |- | ||
+ | |3rd runner up || LUA <br /> | ||
+ | |} | ||
+ | |||
+ | Dream language: Ruby, if it would be fast enough interpreted and embedded |
Revision as of 00:21, 15 February 2010
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 | No notes yet | Medium rare | High | ??? | 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. | ??? | ??? | ??? |
Current favourites=
1st place | ChaiScript |
1st runner up | |
2nd runner up | Angelscript |
3rd runner up | LUA |
Dream language: Ruby, if it would be fast enough interpreted and embedded