![]() |
Show Changes |
![]() |
|
![]() |
Recent Changes |
![]() |
Subscriptions |
![]() |
Lost and Found |
![]() |
Find References |
![]() |
Rename |
![]() |
Administration Page |
![]() |
Topic Locks |
| Search |
History
| 3/8/2008 9:29:26 AM |
| -83.226.134.179 |
| 3/8/2008 9:26:43 AM |
| -83.226.134.179 |
| 1/19/2008 4:51:51 PM |
| bvanevery-70.1.71.81 |
| 11/12/2007 11:37:51 PM |
| -192.118.76.130 |
| 10/4/2007 6:20:15 PM |
| -82.148.98.34 |
![]() |
List all versions |
eltracladr
1. The Squirrel syntax is closer to C/C++/C# than Lua (IMO the Lua syntax provides no significant benefit)(IMO the C syntax provides no significant benefit either...).
2. Classes/instances are built into Squirrel (simulated with tables in Lua).
3. Squirrel has (fast) arrays. (So is Lua, since 5.0)
4. Squirrel was developed by an experienced commercial game developer for use in creating commercial games (after taking what worked well with Lua and changing/leaving out elements that did not). While the table and some string code are from Lua, the language is otherwise completely new.
5. Many developers prefer simple template binding: while LuaPlus is excellent for Lua, it does not provide easy solutions for class/instance support. While luabind is very powerful, with excellent support for classes/instances, it is also more complicated to set up/compile, can slow compile times, and can cause (extreme) symbol table bloat for debug builds. Such complex support is required for some applications, but may not be needed or desired for games. Squirrel has DxSquirrel (simple macro binding system), Squadd (boost-based, similar power/issues with luabind), and SqPlus (provides everything I need for commercial game development, including simple/clean class/func/var/constant binding, calling script functions from C/C++, etc., and the template code is very lightweight).
6. Squirrel has a decent, syntax highlighted, portable remote debugger (uses the Eclipse environment).
7. I believe Alberto (Squirrel's author) commented that incremental GC won't solve the problems he encountered with Lua while developing scripting for FarCry. (Lua 5.1 has been released and also supports incremental GC now.) Also I prefer the Squirrel language/syntax over Lua's (I started using Lua at 4.x, circa y2k: I promoted Lua back then as an excellent scripting language for games (I used LucasArts as an example early adopter for commercial game applications)).
8. It's not possible to accidentally create a new variable using assignment : "clinet = 1" generates an error if "clinet" (mistyped "client") does not exist. "client <- 1" is required to create the new variable and assign it a value.
9. SqPlus w/Squirrel has VS.NET 2003 (VS8 compatible) projects and solutions: can be downloaded, unzipped, compiled and run in less than 5 minutes.