技術」カテゴリーアーカイブ

なーんだ

前にちょろっと、LuaをスタティックなLibにするにはどうしたら~みたいな事を書いたけど、公式Luaには普通にstaticフォルダにスタティックなLibが入ってるし、LuaJITはmsvcbuild.batの引数に”static”って書けばいいだけだったんだね。

相変わらずSeleneで落ちる原因はわかってない。

SeleneとLuaJIT

今週ちょっと暇になったから、久しぶりにSeleneでゲーム作りの続きでもしようと思ったら、なぜか動かなかった。

Luaの標準ライブラリ読込みのタイミングでプログラムが強制終了してしまう。

先月あたりまでは普通に動いてたのに。

このとき使ってたLuaはLuaJIT-2.0.0-beta3だったんだけど、試しに公式Lua5.1でビルドし直したら問題なく動いた。

Seleneを1.22kにしたのがまずかったかな・・・と思って、1.21dに戻して再ビルドしたけどやっぱりダメ。

なんとなくArtemisで試したら、元気に動いた。試してないけど多分DXライブラリでも動くんだろうなぁ。

うーん、どうしちゃったんだろう。

Selene公式で質問しようにも、公式LuaならともかくLuaJITだしなぁ。

いずれまた動くことを期待して、今は放置しておこう。
LuaJIT2.0もまだβだし。

ゲーム用ライブラリ2というか続き

去年9月に書いたエントリーの続きになりますかね。

DXライブラリの3D対応と、Selene作者の2Dゲームライブラリ Artemisを触ってみました。
といっても、実際に触って試したのは2月頃のことだったりします。
書こうと思ったのが今ってだけです。
続きを読む

LuaとLuaJITとXtal

Win版Luaは通常、本体であるDLLにLib経由でアクセスする形になってますが、DLLじゃなくLibのみでビルドして使うにはどうしたらいいんじゃろ?
と、色々探してたんですが(コンパイルとかビルドには詳しくないのです)

その途中でXtalっていうLuaっぽい感じのスクリプト言語を見つけた。

主にゲーム作成用途を目的として作成されたってことで、wktkしながら早速ビルドして使ってみた。
うん。面白い言語だと思う。

XtalはDLLじゃなくてLibのみでリンクするのがいいね。
あとLuaで色々煩わしいスタックの問題から開放されるらしい。
Luaみたくメタテーブル使って無理やりクラスっぽいもの作るんじゃなく、ちゃんとクラスが使えるのも好きな感じ。
コルーチンもある上に、ネイティブスレッドもあるのか。すげぇ。
そして日本人が作ってるってのがまたいいね。

ベンチマーク用にXtalスクリプトとluaスクリプトも用意されてたので、早速速度比較してみた。
色々あるので全部試してみよう。

・・・と、思ったんだけど・・・

Script Xtal Lua5.2 LuaJIT2.0β3
fib 2.150 0.851 0.140

あー、うん。もうこれ以上測らなくていいかも。

バージョンは1.0以上になってるけど、まだ発展途上ってことでいいのかな。今後に期待大な。
Libのサイズが10M超えてたり、どんなに小さいexeでも4M超えたりするのも、Luaと比べちゃうとちょっと不利かな。
せめて速度がLuaに追いつかないと、Luaから乗り換えられないので、頑張って欲しいです。

プログラマ歴10年以上の入門者

プログラマーの力量を見極める–面接官になったら尋ねるべき質問実例集 – IT業界を生き抜く秘密10箇条 – ZDNet Japan

まず最初の4問

  • 「等値」と「等価」の違いを説明してください。
  • 「値渡し」と「参照渡し」の違いは何ですか?オブジェクト指向システムや手続き型システムにおいて、これらにはどのような違いが存在するのかを説明してください。
  • 「ポリモーフィズム」とは何かを説明してください。
  • 「悲観的ロック」と「楽観的ロック」を比較し、違いを明確に述べてください。

1番目が判りませんでした。プログラマになって10年以上経つけど、入門レベルらしい。
 

「等値」は判るよ。字の通り「値が等しいこと」。2つの値aとbが同じ値だということ。a == b が真ということ。
 

「等価」というのは、調べたら、「対象よりも大きくも小さくもないということ」。 !(a < b) && !( b < a) が真な条件を満たすもののこと。だそうな。

ソートしたときに前後どちらでも構わない、ということなので、プログラマ的にはクラスや構造体のソートを思い浮かべると良さそう。

複数のメンバを持ったクラスで、比較に使うのは一部のメンバだった場合、比較の結果同じと判断されても、比較に使われなかったメンバの値は違うかもしれない。その状態を等価っていうんじゃないかな。
 

バカテスで例えるなら、

「吉井明久と島田美波は古典のテストで二人とも30点だった時、明久と美波は別の人なので等値ではないけど、古典の順位としては二人とも最下位なので等価である。」

みたいな…合ってるのか?この喩え。

つか、面接でバカテスを例に出したらアウトだろ。
 

その他の問題も、判らなくはないけど、面接官を頷かせるような回答ができるかどうか自信ないわ。
 

再就職とかできないわー。