- ベストアンサー
Windowsアプリケーションのお勧め開発言語について
vectorなどで公開できるような、Windowsアプリケーションを開発したいと考えています。 皆様のお勧めの開発言語・開発環境を教えて頂けますでしょうか。 条件は、ランタイムが不要なことです。(なのでVB.Netなどは対象外です。) はじめは、TurboDelphiを考えていたんですが、今はフリー版が配布されていないようなので、 VC++のATL/WTLを使うのが良いのかなと思っています。 (正直、またWin32、MFC、ATL、WTLの違いも理解できていませんが、、、) 何かお勧めがありましたら御教授ください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
>VC++のATL/WTLを使うのが良いのかなと思っています。 海外サイトの情報でも問題ないならATL/WTLで良いと思います。 完成度は有料のMFCに勝てないと思いますが。 ATL/WTL、MFCもラッパーで実体はWin32APIを呼び出します。 Win32APIならC言語の知識で使えますが、ATL/WTL、MFCはC++を使いこなせる知識が必須です。 いっそのことQtと言う選択肢も考えてみた方が良いんじゃないでしょうか? http://ja.wikipedia.org/wiki/Qt http://www.sra.co.jp/qt/ LGPL版ならライセンス上問題も少ないですし無料で使えます。 あとWideStudioと言うのもあります。 http://www.widestudio.org/ja/index.html
その他の回答 (6)
- zwi
- ベストアンサー率56% (730/1282)
>正直Win32APIベースのライブラリ(Win32、MFC、ATL、WTL)で、 >表(グリッド)を作り込むのは大変だろうなとも思っていますが、、 なにか勘違いなさっていないでしょうか。 .NET FRAMEWORKと言えど、実際中で使っているのはWin32APIです。 それに、表のグリッド処理に負荷がかかるのではC++を使う意味がありませんが? まぁ、実際コードを書くのは.NET FRAMEWORKの方がラッパーが優秀なので楽ですけどね。 とにかくC#で実験するのは簡単だと思うので、まず試してみてはどうでしょうか? データは適当にループで生成するとして、サンプルコードなら簡単に見つかると思いますよ。
補足
>なにか勘違いなさっていないでしょうか。 >.NET FRAMEWORKと言えど、実際中で使っているのはWin32APIです。 >それに、表のグリッド処理に負荷がかかるのではC++を使う意味がありませんが? Win32APIベースのライブラリという表現が不適切でした。 もちろん全部Win32APIベースですよね。 すみませんでした。 >それに、表のグリッド処理に負荷がかかるのではC++を使う意味がありませんが? 表のグリッド表示処理に要する時間は、基本的には C# >> C++(MFC、ATL、WTL) > C++(Win32) になると考えていました。 なのでC++ベースの方がC#より早いのかなと。 zwiさんのおっしゃるとおり、 一旦検証してみてから判断したいと思います!! 丁寧にアドバイスして頂き、本当にありがとうございました。
- zwi
- ベストアンサー率56% (730/1282)
C++/CLI自体は、C#やVBと同じ.NET FRAMEWORKランタイムが必要なマネージドコードです。 ただ、ネイティブ(アンマネージ)コードをリンクして使うことができるので、C++コードと混在させることは可能です。 処理速度の必要なところはC++で書いて、GUIはC++/CLIと言った感じでしょうか。 ただ、そこまで速度が必要なプログラムコードを書くんでしょうか?そこまで面倒なことするならC#だけで良いんじゃないって気がしますが。
お礼
アドバイスありがとうございます! >ただ、ネイティブ(アンマネージ)コードをリンクして使うことができるので、C++コードと混在させることは可能です。 >処理速度の必要なところはC++で書いて、GUIはC++/CLIと言った感じでしょうか。 なるほど!混在が可能であれば速度とGUIの両方のメリットを 活かせるかもしれません。 正直、ランタイムの要否はあまり気にならなくなったので、 その点は問題無いと考えてます! >ただ、そこまで速度が必要なプログラムコードを書くんでしょうか?そこまで面倒なことするならC#だけで良いんじゃないって気がしますが。 今作ろうと考えているソフトで、 ファイルから読み込んだ数万件のデータを元に 表(グリッド)を作成したいと思っています。 なので、C#とWin32APIに近いものとでは表示までにかなり差が出てしまうのではないかなーと思っています。 (すみません、あくまでイメージですので、実際はどうなんでしょうか。。。) 正直Win32APIベースのライブラリ(Win32、MFC、ATL、WTL)で、 表(グリッド)を作り込むのは大変だろうなとも思っていますが、、、
- rinkun
- ベストアンサー率44% (706/1571)
Vista以降は.Net frameworkを標準搭載しています。 XP以前は別途ランタイム導入が必要ですが、今後は追加ランタイムなしに使えるようになっていくでしょう。 # Vistaは3.0、7は3.5.1
お礼
おっしゃるとおりVistaでは標準搭載されるので、 やっぱりランタイムはそれほど気にする必要はないようですね。 アドバイスありがとうございました。
- reset_cat
- ベストアンサー率68% (94/138)
C++/CLIを使うとか・・・ .Netの豊富な機能が使えて、処理スピードが必要なところはネイティブコードで書けば両方のメリットが受けられます。 プログラム難度は跳ね上がりますがw
お礼
アドバイスありがとうございます。 C++/CLIについては知りませんでした…。 >.Netの豊富な機能が使えて、処理スピードが必要なところはネイティブコードで書けば両方のメリットが受けられます。 ネイティブコードと.Netの機能が両方使えるということで、 一番興味をそそられます! やはり.Netの機能を使った場合は.NetFrameworkのランタイムが 必要になってくるんでしょうか。 とりあえず調べてみたいと思います!
- zwi
- ベストアンサー率56% (730/1282)
>MFCは有料なんですか!?知らなかったです。 MFCはVisualStudioのStandardEdtion以上じゃないと使えません。 無料のExpressEdtionでは搭載されていないのです。
お礼
情報ありがとうございました。
- D-Matsu
- ベストアンサー率45% (1080/2394)
標準外のランタイムライブラリが駄目という時点で色々と終わってます。 とりあえず挙げられているものはWin32API以外全てアウトですから。 個人的にはC#がお手軽だと思ってるんですが、.NET Framework要りますしねぇ。 Windows Updateで入れられるものですしこれくらいは許容範囲じゃないかと思うんですが……
お礼
アドバイスありがとうございます! >標準外のランタイムライブラリが駄目という時点で色々と終わってます。 >とりあえず挙げられているものはWin32API以外全てアウトですから。 Win32、MFC、ATL、WTLはWin32APIを使用しているので 実行時のランタイムは不要だと思っていました。 もう少し調べてみたいと思います。 > 個人的にはC#がお手軽だと思ってるんですが、.NET Framework要りますしねぇ。 > Windows Updateで入れられるものですしこれくらいは許容範囲じゃないかと思うんですが…… 私も初めはVC#で考えてました。 ただ、.NetFrameworkを使った場合はどうしてもWin32より 遅くなるを気にしていまして。。むしろランタイムの導入より 実行時のパフォーマンスを重視したいと思っています! でもやはり、VC#は簡単に豊富なGUIを実現できるので迷います…。
お礼
アドバイスありがとうございます! >海外サイトの情報でも問題ないならATL/WTLで良いと思います。 >完成度は有料のMFCに勝てないと思いますが。 やっぱりATL/WTLは海外サイトにしかあまり情報がないので、 ちょっと気にしている点です。 MFCは有料なんですか!?知らなかったです。 ちなみにMFCの方がATL/WTLよりも優れているんですか? むしろ逆なのかと思ってました。 >いっそのことQtと言う選択肢も考えてみた方が良いんじゃないでしょうか? >あとWideStudioと言うのもあります。 QtとWideStdioは初めて知りました。 教えて頂いたページで調べてみて、選択肢で考えてみたいと思います! ありがとうございました。