Hello IronPython
身近な人には口うるさく宣伝するようになりましたが、最近IronPythonという奴を始めました。
モノとタイミングからいって結構微妙というか「おっくれてるー」とか思ったんですが、案外Needleらへんに馬鹿にされず「あれ、いんじゃね」とか言われたんで、案外良いセンなのかと思っていますはい。
仕事のツールから趣味の日曜プログラマまでHSPどっぷりだったのを、HSP本家BBSが厨だらけなのを期に(なんやそれ)そろそろCでも始めるかと思い立ちCを少しだけ書いてたんですが、GUI作るまでの面倒さやコンパイルの面倒さにちょっと辟易。
ToolkitでやってたんでIDEのウザさとかはあまり無かったんですが、cppとして中身はC言語だらけだったとか「なんかこれおかしい」と首をひねるばかり。
PSPでゲーム作るのに少しだけ使ってみたLuaが好感触で、ガベージコレクションやら連想配列やらがある言語をきちんと覚えてみたいな、と思ってそのへんの言語を幾つか調べてみたのですが、
Lua : 配列が1から始まるキメェ!(言いすぎ)
Xtal : 国産でゲーム向け、すげぇ楽しそうなのにToolkitでコンパイル通らない遺憾
Ruby : 国産ですげぇ人気あるんだけどやっぱコンパイルが面倒ry
ここまできてようやくPythonを調べるに至ったわけなんですが、いやーIronPythonすげぇ
・Microsoft謹製
・C#による.NET Framework上の実装であり、.NET Frameworkのクラスライブラリをダイレクトにガツンと叩ける
・IronPythonコンパイラサービスによって.NETアセンブリにコンパイル出来る
最後のが特にキモいと思うわけですよ。思うにスクリプト言語でかつコンパイルして利用出来る言語って初めて見た気がするナァ。
※HSPではコンパイルという単語が使われていますが別にアセンブリにしてるわけじゃないはず
開発環境もipy.exeとIronMath.dll/IronPython.dllと後はエディタだけあればOKみたいヤーハーすげー
Pythonて言語もなかなかキモいですね。
If文とかRepeat文とかクラスとかで、括弧が無いんですね。代替品がなんとインデント。
「機能美」とでも呼んであげたいですが、面白いのがこの特徴によって「誰が書いても同じような見た目のソースが出来上がる」とかなんとか。
「書式の押し付けだ!」とか憤慨される方もおられるそうですが俺はこれでいいなぁ。すぱげちぃする前に勝手にキレイになると思えば。インデントくらい普段からしてましたけど。
そんなわけで「ぼくはあいろんぱいそんちゃん!」とか言いながら(※アイアン)、IronPythonで出来る事をこつこつと細かいソースに書き始めています。
ゲームを作るにはちょっと至りませんが、コンソールアプリ(うんちゃらコンバータとか)や簡単なGUIのツールなんかは割とすぐに書けそうです。
ゲーム作るのに3Dをどうするかがちょっと悩ましくて、pyOpenGLなんてのが利用出来るみたいなんですが遅いという話を見かけたので、やっぱ自分でmanagedDirectX叩くのかなー。サンプル通り。正直ちょっとめどい。
とりあえず前述の通り細かいサンプルをこつこつ書いていて、それらを少しずつWinEF.pyに統合させていってます……えぇマジで。
今の調子だともうWinEFの開発がHSPに戻る事は無さそうです。最初からコーディングなのでちょっと時間はかかりますが、恐ろしく快適な新しいWinEF.NETが日の目を見る日も近くて遠いでしょう。よくわからんけど。
シスアド業でサラリーマンの傍ら作曲等を行うマルチタスクの申し子。