Squirrel についての良い読書をお勧めします [終了]
-
20-09-2019 - |
質問
この言語の魅力を最大限に学べるこの言語に関するお気に入りのリンクを共有してください。
また、Lua などの他の言語と異なるこの言語の最も重要な特徴を短い言葉で説明してください。
なぜ別の Lua/Python などを再発明する必要があるのか理解できません。もしかしたら何かを見逃しただけかもしれません...
でも、私はパフォーマンス + 脚本という考え方が好きなので、それを理解する必要があります。
解決
Squirrel 言語に関する最良の (そしてほぼ唯一の) リソースは、その公式 Web サイトとフォーラムです。 http://squirrel-lang.org
他のよく開発された言語と比較すると、Squirrel はまだ初期段階にあり、コミュニティは非常に小さいですが、他の最新のスクリプト言語の中でも特定の点で非常に有望です。
Lua からインスピレーションを受けており、テーブル、Lua スタックなどの通常の概念を備えていますが、よりクリーンな構文と C API を備えています。
補助的なガベージ コレクターによる参照カウント。ランタイムの設計では、ガベージ コレクション (速度が遅い、または非決定的である可能性がある) に完全に依存するのではなく、循環参照を削除することがユーザーに推奨されています。ユーザーは、ガベージ コレクターを無効にしてランタイムを再コンパイルすることもできます。
C/C++ のような構文を持つ言語です。それは一種の好みですが、私が Lua よりも Squirrel を好む主な理由です。
クラスの組み込みサポート。Lua ではクラスをシミュレートするために何らかの魔法を実行する必要があります。
C# のような属性をサポートしているため、クラスやプロパティにメタデータを提供できます。この機能を使用して、スクリプト オブジェクトを .net プロパティ グリッドに公開します。
未定義の変数は、Lua のように新しい null 値をサイレントに作成するのではなく、例外を引き起こします。
ラムダ関数、ジェネレーター、コルーチンなどの他の機能はすべて、約 6000 行のコードから作られたこの小さいながらも強力なスクリプト言語に組み込まれています。
C++
コード。
結論として、Squirrel 言語は、パフォーマンスが重要なアプリケーション (つまり、ゲーム エンジン)、それは間違いなくより優れた Lua として機能します。一方、Python のような言語は汎用的な、日常的に便利な問題解決言語に向いています。