VB→Pythonコンバータ 16
ストーリー by yourCat
VB開発者さんいらっしゃーい 部門より
VB開発者さんいらっしゃーい 部門より
ababincho曰く、"Visual Basic (VB) のソースを Python のソースに変換するプロジェクト『vb2py』が動きだした。これは、VB のコードモジュール、クラス、フォーム、プロジェクトまでも Python および PythonCard へ変換してしまおうというもの。9日にリリースされたバージョン0.1 では PythonCard への単純なレイアウト変換などのみが実装されている。
ちなみに PythonCard はWindows、Mac OS X、X Window Systemで動作するクロスプラットフォームGUIツールキットで、Apple の HyperCard の操作性を実現しようというものだ。HyperCard、VB、Python、…なかなか興味深い組み合わせだ。"
クロスプラットフォームGUIツールキット? (スコア:2, 参考になる)
「クラス」プラットフォームって何だろう?と悩みつつ調べてみました。
PythonCardはバックエンドのGUIツールキットにwxPython [wxpython.org]を使ってて、wxPythonがさらにバックエンドにwxWindows [wxwindows.org]を使ってて、このwxWindowsがクロスプラットフォームというカラクリになっているんですね。ラッパを2重にかぶせてあるというのが何とも言えません。遅くならないのか?
あと、wxWindowsを使っている時点でJython [jython.org]での動作は絶望的ですよね。
個人的には「どのプラットフォームでどのツールキットを使っても同じように動く」ことを目指しているanygui [sourceforge.net]の方が面白そうに感じました…がanyguiは開発が現在ストップしてるんだよなぁ。
Re:クロスプラットフォームGUIツールキット? (スコア:1, 参考になる)
Re:クロスプラットフォームGUIツールキット? (スコア:1)
>wxWindowsには Java bindings [wx4j.org]もありますが。
そういうものがあったんですか。調査不足でした。「絶望的」というのは撤回します。
訂正報告 (Re:クロスプラットフォームGUIツールキット (スコア:1)
○ クロスプラットフォーム
お詫びして訂正いたします。
Re:クロスプラットフォームGUIツールキット? (スコア:0)
実際にPenIIのマシンでやってみましたがPyQtと大して変わりませんでした。
ちょっとした疑問 (スコア:0)
Re:ちょっとした疑問 (スコア:1)
変換するだけで、ダメなソースをマトモな記述に直してくれはしないんだろうなぁ。
「こうやる方が処理が早い」とか言って、for文使わずにgotoで回したり、繰り返し回数分同じ処理をいくつも書いたり(仕様変更したらどうするつもりだ?)するのを自慢げに話していた友人がいた・・・。
奴は今も何処かでプログラムを書いている・・・。
Re:ちょっとした疑問 (スコア:1)
って昔のアセンブラとかの知識ですか?
今時のCPUにはそのテクは効かないんですよね?
Re:ちょっとした疑問 (スコア:1)
>って昔のアセンブラとかの知識ですか?
VB(VisualBasic)の話です。
VB2(VB4もかな?)の頃は繰り返し処理がえげつなく遅かったのです。
だから「繰り返し回数分同じ処理」なんですよ。
Re:ちょっとした疑問 (スコア:0)
最適化は大抵してくれるので、高速化テクを注ぎ込むよりも、
簡潔で読みやすいコードを書く方が絶対に良いです。
コンパイラは構文さえ合っていればオブジェクトを吐きますが、
ソースをいじるのは人間ですからねぇ…
Re:ちょっとした疑問 (スコア:0)
俺のとなりにいるやつかな。。。。(T_T)
Re:ちょっとした疑問 (スコア:0)
素朴な疑問 (スコア:0)
このツールでは、参照されている部品(COMとか)はどうなるんですか?
OpenOffice.orgと組み合わせてみては? (スコア:0)
pythonからOpenOffice.orgが操作できるようになったとさ。
ってことは、これを使うと既存のマクロをpythonに変換して利用できちゃうのかな?
# VB と VBAじゃあ全然違うのかな?
それだと便利そうだけど、マクロウィルスに感染しそうで怖そう…
Re:OpenOffice.orgと組み合わせてみては? (スコア:1, 興味深い)
MS-Officeでいうと単独の VBAコードから Excel起動してシートを操作して... という感じ。
Word や Excel でよくある、ドキュメントの一部としてマクロや VBAコードを記述して
ボタンを配置してクリック実行...という感じではなかったように思います。
# 詳しい人からフォローいただけるとありがたいです