質問: GUIを作れるようになりたいと思って今勉強しようとおもっています。 しかしシミュレーション用のGUIを作りたいと思っているので、なるべく処理が早く数学的な加工が得意な言語でやりたいです。 もともと数学から入ってきたので一応基本的なpython3.5は使えます。しかしpython3.xを使ってGUIを作ったとしてもどの環境でも実行可能なファイルを作るのが難しいのとGUI用のライブラリの多くはpython2.xまでしか対応していないので悩ましいところです。(普段pythonでGUIを作るときはwxpythonというライブラリで作っている。)そこでGUI等も作れることで有名なJavaに乗り換えようかなとも思ってしまいます。 このまま数値処理が得意なpythonで頑張って作っていくのがいいのか、GUI作成可能とどこでも動くが利点のJavaに切り替えていくのがいいのか、あるいは両方を一つのプロジェクトで使えるようにしてみる方がいいのか教えてください。 一応自分がしたいことをまとめると ・処理速度が速いGUIソフトを作りたい ・数学的な計算を頻繁にするような処理をするプログラムを作りたい ・言語をパソコンに入れていない人でも実行可能なファイルを作りたい ・使う言語はPython3.5かJava 将来にも生かしたいのでどうかお願いします。
回答: 最終的には、GUIはプラットフォーム(OS)に依存するので、ソースの変更なしにどこでも動くようなものをということであればJavaぐらいしか選択肢がないかと思いますが、VMは速度面でかなり足かせになると思います。 具体的に何をしたいか分かりませんが、数値計算ということであれば、一般的にはパラメータを設定したり、処理結果でグラフを表示したり程度だと思うので、GUIレベルで処理速度が必要なのかは疑問です。 pythonでWebアプリでもいいんじゃないか?とも思います。 本当に3Dゲーム並みに描画などが早くないとダメということであれば、OpenGLなどのライブラリを使うことになるかと思います。となると、C++/C#が良いのではと思います。たいていものもはC++には対応していると思いますし、OpenGL対応しているプラットフォームであれば移植も何とかなるのではと思います。