Wartbed:Architecture/Scripting

From Dark Omen Wiki

(Difference between revisions)
Jump to: navigation, search
(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
-
| ''No notes yet''
+
| 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]
-
| ''No notes yet''
+
| 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: http://www.falconpl.org/images/logo.png <br />
+
{|
-
1t place (shared): ChaiScript
+
|1st place || ChaiScript
-
1st runner up: Angelscript <br />
+
|-
-
2nd runner up: LUA <br />
+
|1st runner up || http://www.falconpl.org/images/logo.png <br />
-
<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 logo.png
2nd runner up Angelscript
3rd runner up LUA

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

Personal tools
communication