加载中...
Squirrel 是一种轻量级的高级脚本语言,语法类似 C,专为嵌入到应用程序(尤其是游戏)中而设计。它体积小、性能好,曾被广泛用于游戏和物联网设备的脚本层。

| 设计者 | 阿尔贝托·德米凯利 |
| 诞生年份 | 2003年 |
| 范式 | 面向对象、命令式、函数式 |
| 类型系统 | 动态、弱类型 |
| 典型用途 | 游戏脚本、嵌入式 |
Squirrel 是一种轻量级、面向对象的高级脚本语言,由阿尔贝托·德米凯利(Alberto Demichelis)设计并于2003年前后发布。它的定位与 Lua 相似,专为嵌入到宿主程序中充当脚本层而生,语法采用类似 C 与 JavaScript 的花括号风格,对熟悉主流语言的开发者更友好。
Squirrel 诞生的动机是为游戏开发提供一门比 Lua 语法更贴近 C 风格、同时保持小巧高效的脚本语言。它拥有清晰的类语法、可选的委托机制、自动内存管理(引用计数加可选垃圾回收),并且整个解释器可以轻松编译进宿主应用。语言支持类、继承、闭包、协程、异常处理和弱引用等现代特性,却把运行时占用控制得很小,便于在内存受限的环境中运行。
Squirrel 最著名的用武之地是游戏行业,例如《马克思佩恩》系列等商业游戏曾用它编写游戏逻辑脚本,Valve 的起源引擎也集成了 Squirrel。此外,由于体积小、可移植性强,它也被用于物联网固件、嵌入式设备和一些应用软件的插件系统。它常被拿来与 Lua 比较,选择往往取决于团队对语法风格和特性集的偏好。
问:Squirrel 和 Lua 有什么区别?答:两者都是轻量嵌入式脚本语言,但 Squirrel 采用类 C 的花括号语法并原生支持类和引用计数,而 Lua 语法更简洁、基于表结构,生态更大。
问:为什么游戏喜欢用嵌入式脚本语言?答:把游戏逻辑写在脚本里,可以让策划和程序员在不重新编译引擎的情况下快速修改行为,提高迭代效率并方便热更新。

| 设计者 | 阿尔贝托·德米凯利 |
| 诞生年份 | 2003年 |
| 范式 | 面向对象、命令式、函数式 |
| 类型系统 | 动态、弱类型 |
| 典型用途 | 游戏脚本、嵌入式 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧