Windows 7 で IronPython そのに

一般的な互換性問題 – Windows 7 対応アプリケーションの互換性

Windows 7 で最初からブロックされないようにする方法はそんなに難しくは無いわけだ。
しかし個人オンラインソフトごときにこんな大げさななことをするか…minipoli とかに。
少なくとも私はそんなことまでして公開なんかしたくないよ。

「こんなのを作ったので気に入ったら使ってくれい!」
なんて文化が Windows にはあったのが懐かしい、もうユーザーのほうが求めていない?

MS はエクセルとワードとパワポを利用するためだけの OS にしたいらしい。
でもやっぱり Windows しか使えない人ばかりなのでみんな疑うことなく Windows を選ぶ。

Ubuntu のほうがいいよ、けどこれ Windows じゃないから。
ということで書名が必要な拡張子をよくみてよ。

拡張子 .exe、.dll、.ocx、.sys、.cpl、.drv および .scr のついたファイルが対象

C# で作ると *.exe になるね。

*.py は無いじゃん。

Windows 7 で .NET Framework は IronPython の時代になる!

かもしれない。

しかし IronPython で奇妙なことに気がついた。
騙されたと思ってコレを実効してみよう。

#-*- coding:utf-8 -*-

s = "あいうえお"
i = 12345

print dir(s)
print dir(i)
print "\n"
import System

print dir(s)
print dir(i)

dir

s や i は当然 str や int という Python の型になる。
しかし System をインポートした時点で System.String や System.Int32 としても使える。
恐ろしいのはどっちでもいいということである、動的言語の凄さを見た。
面倒な型変換は不要だし両方のメソッドが利用できるということである。

C++/CLI のマーシャリングっていったい何? IronPython なら全自動じゃん。
以前書いたように P/Invoke なんて不要になる、 ctypes モジュールが使えるようになる。
ライバルになりそうなナントカビーは他人が読みにくいコードを書くのに命を掛けるだろう。
元々「 C# で var 使っているの?ププッ」な言語でもある。
VB …何それ知らないんだけど?

ということで IronPython の時代がやってくる、はず…