请推荐关于松鼠的好读物

avp*_*avp 9 scripting-language squirrel

请分享您喜欢的语言链接,以便学习最好的语言.
而且,请用几句话来描述这种语言最重要的特征,它与其他语言如Lua不同.

我只是无法理解为什么重新发明另一个Lua/Python /等.也许我只是错过了一些东西......
但是我喜欢性能+脚本的想法,所以我必须理解它!

Ric*_*ung 9

有关Squirrel语言的最佳(也几乎是唯一)资源是它的官方网站和论坛:http://squirrel-lang.org

与其他发展良好的语言相比,Squirrel仍然处于一个非常小的社区的早期阶段,但在某些方面它在其他现代脚本语言中非常有前景:

  • 灵感来自Lua,具有表格的常用概念,Lua堆栈等,但具有更清晰的语法和C API.

  • 用辅助垃圾收集器引用计数.运行时的设计鼓励用户删除循环引用,而不是完全依赖于垃圾收集(可以是慢速或非确定性的).用户甚至可以在禁用垃圾收集器的情况下重新编译运行时.

  • 它是一种具有C/C++语法的语言.这是一种品味,但这是我为什么喜欢松鼠而不是Lua的主要原因.

  • 类的内置支持,在Lua中你需要做一些魔术来模拟它.

  • 支持C#like属性,因此您可以为您的类和属性提供元数据.我使用此功能将我的脚本对象公开给.net属性网格.

  • 未定义的变量会导致异常,而不是像Lua一样静默创建一个新的空值.

  • lambda函数,生成器和协同例程等其他功能都内置在这个小而强大的脚本语言中,该语言仅由~6000行C++代码构成.

总而言之,Squirrel语言适用于与性能关键应用程序(即游戏引擎)中的低级模块接口,它绝对可以作为更好的Lua.像python这样的语言更倾向于通用,日常方便解决问题的语言.

  • 但是,它非常缺乏文档.官方文档几乎不是初学者友好的,几乎没有例子,而且大多只是词汇定义. (4认同)
  • 文档就在那里,但是在示例和教程中非常缺乏.即使安装松鼠也没有解释!如果您正在学习新知识,LUA的文档记录要好得多,并且需要学习大量示例. (2认同)