スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--.--.-- | スポンサー広告

[Lua] Squirrel :Luaの後継者?

たしか2chのLuaスレで見つけたんだったと思いますが、最近squirrelがちょっと気になる存在です。

公式サイトはこちら。
http://www.squirrel-lang.org/

なぜ気になるかというと、LuaからDNAを受け継ぎつつ、ゲーム用の組み込みに関してLuaで問題のある点を綺麗にクリアしているためです。(もしくは、クリアしようとしている・・・かな)

squirrelの作者はFarCryでエンジンにLuaを組み込んだ人らしく、Luaについて良い点・悪い点を知り尽くしているということで、期待が持てます。

全体のつくりや言語の基本的な特徴はLuaに非常に類似したものですが、
以下の点でLuaよりいいかも・・・と思わせます。


・クラス
 squirrelではC++やjavaライクなクラスが作成できます。
 Luaではテーブルを使ってごそごそやればクラス的な動作をさせることができますが、これでは人それぞれ違う「作り」のクラスができてしまい、クラスを基本にした発展が難しくなっています。

 あとドキュメントをちらっと見てみるとクラスアトリビュートというのが面白そうです。

・浮動小数点と整数型が分かれている
 こういう仕様を見ると「わかっていらっしゃる」という感じですね。
 Luaでは全部浮動小数点なおかげで、浮動小数点に32bit精度が確保されていない場合は32bit整数値が渡せなくて苦労したりします。このあたりはまた別の記事でまとめる予定。

・continue
 Luaではパッチで実現可能ですが、やはり標準で用意してほしいものです。ループ時のネストが1段下がるメリットは大きい!

・ビット演算
 これもLuaの弱いところなので、標準でサポートしていると助かりますね。

・GC
 前回の記事のように、Luaではゴミがたまると1回のGCにどうしようもないくらいの時間がかかってしまうことがあります(※)。Lua5.1ではGCの実行を細分化できますが、いずれにしてもGCで「1周」する時間は同様にかかります。
 squirrelではリファレンスカウントとの併用ということです。効果のほどは計ってみないとわかりませんが、作者はGCが最大のネックと見ていたフシがあるので、きっと改善されているのでしょう。

 ※ 2008/2/23追記 多数の類似した長い文字列が多く生成される場合にこういったこと(やたら時間のかかるGC)が発生しますが、それ以外については高速な部類であることを追記しておきます。ただし、あまり高速でないプラットフォーム上のゲームで、毎フレーム多数のガーベージ(ゴミ)が生じるような場合にネックになりやすいということは実際あります。

・Eclipseベースの標準エディタ・デバッガ
 SQDEVというらしいです。使ってみてないのでわかりませんが、それでも標準で用意しようという熱意は買えます。
 LuaだとLuaEditがそこそこですが・・・あまりコレ!って言えるものがないんですよね。


そのほか微妙な点としては・・・
・CからコールされるAPIはスタックベース
 Luaとほとんど一緒なんですが、いまいち使いづらいところだけに、変えてほしかった気がします


もっとも、Luaに求めるのは「商用にも使われて、多様なプラットフォームでよくテストされている」という安心感であったりしますし、squirrelのGCやクラスがうまく働いているか、等はよく見ないといけないので、すぐに置き換わることもないとは思いますが、今後少なくともゲーム分野ではかなり期待の持てる言語といえますね。たまにをちすることにします。

スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

2006.03.10 | Comments(0) | Trackback(0) | Lua

新しい記事へ <<  | HOME |  >> 古い記事へ

広告:

カテゴリ展開メニュー

  • 未分類(13)
  • Lua(38)
  • プログラミング(11)
  • 食べ物(3)
  • SPAM(2)
  • ゲーム開発(4)
  • GIS/GPS/GoogleMaps(2)
  • スポーツ(1)
  • Skype API(1)
  • AR(1)

はてブ ランキング

ブログ全体: このWikiのはてなブックマーク数

プロフィール

はむ!

Author:はむ!
よく使う言語・環境:
C++,C,Lua,java,VBA,DB
たまにPHPとかjavascript
血液型:O型

メール: lua%ham.nifty.jp
(%を@に変えてください)
ついったー: @hammmm

Lua関連アンテナ

ブロとも申請フォーム

この人とブロともになる

全記事表示リンク

全ての記事を表示する

ブログ内検索


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。