2009-11-18 33 views
9

請分享您最喜歡的以往此語言的鏈接,瞭解最好的語言。
此外,請用幾句話來描述這種語言最重要的特徵,它與Lua等其他語言不同。請推薦關於松鼠的好消息

我只是不明白爲什麼要重新發明另一個Lua/Python /等。也許我只是錯過了一些...
但我喜歡performance + scripting的想法,所以我必須理解它!

回答

9

最好的(幾乎只)關於松鼠語言資源是它的官方網站和論壇:http://squirrel-lang.org

相較於其它發達語言,松鼠仍然是在它的一個非常小的社區早期階段,但它是在其他現代腳本語言中的某些方面非常有前途的:

  • 從Lua的啓發,與表的通常概念,Lua中棧等,但有一個更清潔的語法和C API。

  • 帶補充垃圾回收器的引用計數。運行時的設計鼓勵用戶刪除循環引用,而不是完全依賴垃圾收集(可能很慢或不確定)。用戶甚至可以禁用垃圾回收器來重新編譯運行時。

  • 這是一種使用C/C++語法的語言。這有點味道,但這也是爲什麼我會將Squirrel放在Lua上的主要原因。

  • 內置支持類,在Lua中你需要做一些魔法來模擬它。

  • 支持C#like屬性,因此您可以爲您的類和屬性提供元數據。我使用此功能將我的腳本對象暴露給.net屬性網格。

  • 未定義的變量會導致異常,而不是靜靜地創建一個新的空值,如Lua。

  • 其他功能,如lambda函數,生成器和協程都內置在這個小而強大的腳本語言中,這些語言只是由〜6000行的C++代碼生成的。

總括而言,松鼠語言是適合於與在一個性能關鍵應用低電平模塊(即,遊戲引擎)的接口,它絕對可以作爲較好的Lua。像python這樣的語言更像是一種通用的日常方便的解決問題的語言。

+4

儘管文檔很糟糕。官方文檔幾乎沒有新手友好,幾乎沒有例子,而且大多隻是詞彙的定義。 – 2012-03-23 07:30:31

+0

這不是真的,作爲寫得很好的5k行文檔和API參考的一部分,你只需要看一下sqstd源代碼,如果你沒有意識到,那麼你應該考慮另一個愛好/職業。 – KukoBits 2013-11-16 03:56:06

+2

文檔就在那裏,但它很缺乏示例和教程。即使安裝松鼠也沒有解釋!如果你正在學習新東西,LUA的記錄要好得多,並有大量的例子可供學習。 – Kokodoko 2014-06-06 10:42:49

2

emo框架是一款基於Squirrel的iOS和Android免費的開源遊戲開發框架。其源代碼包含一些示例程序/演示,以及用Squirrel編寫的一些庫代碼。我認爲,閱讀它們的來源可能是教育。

我真誠地推薦你看看emo,任何想要學習松鼠語言的人都可以在iOS和Android上開發遊戲或其他應用。