• ベストアンサー

Windowsアプリケーションのお勧め開発言語について

vectorなどで公開できるような、Windowsアプリケーションを開発したいと考えています。 皆様のお勧めの開発言語・開発環境を教えて頂けますでしょうか。 条件は、ランタイムが不要なことです。(なのでVB.Netなどは対象外です。) はじめは、TurboDelphiを考えていたんですが、今はフリー版が配布されていないようなので、 VC++のATL/WTLを使うのが良いのかなと思っています。 (正直、またWin32、MFC、ATL、WTLの違いも理解できていませんが、、、) 何かお勧めがありましたら御教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

>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

algernon55
質問者

お礼

アドバイスありがとうございます! >海外サイトの情報でも問題ないならATL/WTLで良いと思います。 >完成度は有料のMFCに勝てないと思いますが。 やっぱりATL/WTLは海外サイトにしかあまり情報がないので、 ちょっと気にしている点です。 MFCは有料なんですか!?知らなかったです。 ちなみにMFCの方がATL/WTLよりも優れているんですか? むしろ逆なのかと思ってました。 >いっそのことQtと言う選択肢も考えてみた方が良いんじゃないでしょうか? >あとWideStudioと言うのもあります。 QtとWideStdioは初めて知りました。 教えて頂いたページで調べてみて、選択肢で考えてみたいと思います! ありがとうございました。

その他の回答 (6)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.7

>正直Win32APIベースのライブラリ(Win32、MFC、ATL、WTL)で、 >表(グリッド)を作り込むのは大変だろうなとも思っていますが、、 なにか勘違いなさっていないでしょうか。 .NET FRAMEWORKと言えど、実際中で使っているのはWin32APIです。 それに、表のグリッド処理に負荷がかかるのではC++を使う意味がありませんが? まぁ、実際コードを書くのは.NET FRAMEWORKの方がラッパーが優秀なので楽ですけどね。 とにかくC#で実験するのは簡単だと思うので、まず試してみてはどうでしょうか? データは適当にループで生成するとして、サンプルコードなら簡単に見つかると思いますよ。

algernon55
質問者

補足

>なにか勘違いなさっていないでしょうか。 >.NET FRAMEWORKと言えど、実際中で使っているのはWin32APIです。 >それに、表のグリッド処理に負荷がかかるのではC++を使う意味がありませんが? Win32APIベースのライブラリという表現が不適切でした。 もちろん全部Win32APIベースですよね。 すみませんでした。 >それに、表のグリッド処理に負荷がかかるのではC++を使う意味がありませんが? 表のグリッド表示処理に要する時間は、基本的には C# >> C++(MFC、ATL、WTL) > C++(Win32) になると考えていました。 なのでC++ベースの方がC#より早いのかなと。 zwiさんのおっしゃるとおり、 一旦検証してみてから判断したいと思います!! 丁寧にアドバイスして頂き、本当にありがとうございました。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.6

C++/CLI自体は、C#やVBと同じ.NET FRAMEWORKランタイムが必要なマネージドコードです。 ただ、ネイティブ(アンマネージ)コードをリンクして使うことができるので、C++コードと混在させることは可能です。 処理速度の必要なところはC++で書いて、GUIはC++/CLIと言った感じでしょうか。 ただ、そこまで速度が必要なプログラムコードを書くんでしょうか?そこまで面倒なことするならC#だけで良いんじゃないって気がしますが。

algernon55
質問者

お礼

アドバイスありがとうございます! >ただ、ネイティブ(アンマネージ)コードをリンクして使うことができるので、C++コードと混在させることは可能です。 >処理速度の必要なところはC++で書いて、GUIはC++/CLIと言った感じでしょうか。 なるほど!混在が可能であれば速度とGUIの両方のメリットを 活かせるかもしれません。 正直、ランタイムの要否はあまり気にならなくなったので、 その点は問題無いと考えてます! >ただ、そこまで速度が必要なプログラムコードを書くんでしょうか?そこまで面倒なことするならC#だけで良いんじゃないって気がしますが。 今作ろうと考えているソフトで、 ファイルから読み込んだ数万件のデータを元に 表(グリッド)を作成したいと思っています。 なので、C#とWin32APIに近いものとでは表示までにかなり差が出てしまうのではないかなーと思っています。 (すみません、あくまでイメージですので、実際はどうなんでしょうか。。。) 正直Win32APIベースのライブラリ(Win32、MFC、ATL、WTL)で、 表(グリッド)を作り込むのは大変だろうなとも思っていますが、、、

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.5

Vista以降は.Net frameworkを標準搭載しています。 XP以前は別途ランタイム導入が必要ですが、今後は追加ランタイムなしに使えるようになっていくでしょう。 # Vistaは3.0、7は3.5.1

algernon55
質問者

お礼

おっしゃるとおりVistaでは標準搭載されるので、 やっぱりランタイムはそれほど気にする必要はないようですね。 アドバイスありがとうございました。

  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.4

C++/CLIを使うとか・・・ .Netの豊富な機能が使えて、処理スピードが必要なところはネイティブコードで書けば両方のメリットが受けられます。 プログラム難度は跳ね上がりますがw

algernon55
質問者

お礼

アドバイスありがとうございます。 C++/CLIについては知りませんでした…。 >.Netの豊富な機能が使えて、処理スピードが必要なところはネイティブコードで書けば両方のメリットが受けられます。 ネイティブコードと.Netの機能が両方使えるということで、 一番興味をそそられます! やはり.Netの機能を使った場合は.NetFrameworkのランタイムが 必要になってくるんでしょうか。 とりあえず調べてみたいと思います!

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

>MFCは有料なんですか!?知らなかったです。 MFCはVisualStudioのStandardEdtion以上じゃないと使えません。 無料のExpressEdtionでは搭載されていないのです。

algernon55
質問者

お礼

情報ありがとうございました。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

標準外のランタイムライブラリが駄目という時点で色々と終わってます。 とりあえず挙げられているものはWin32API以外全てアウトですから。 個人的にはC#がお手軽だと思ってるんですが、.NET Framework要りますしねぇ。 Windows Updateで入れられるものですしこれくらいは許容範囲じゃないかと思うんですが……

algernon55
質問者

お礼

アドバイスありがとうございます! >標準外のランタイムライブラリが駄目という時点で色々と終わってます。 >とりあえず挙げられているものはWin32API以外全てアウトですから。 Win32、MFC、ATL、WTLはWin32APIを使用しているので 実行時のランタイムは不要だと思っていました。 もう少し調べてみたいと思います。 > 個人的にはC#がお手軽だと思ってるんですが、.NET Framework要りますしねぇ。 > Windows Updateで入れられるものですしこれくらいは許容範囲じゃないかと思うんですが…… 私も初めはVC#で考えてました。 ただ、.NetFrameworkを使った場合はどうしてもWin32より 遅くなるを気にしていまして。。むしろランタイムの導入より 実行時のパフォーマンスを重視したいと思っています! でもやはり、VC#は簡単に豊富なGUIを実現できるので迷います…。