dポイントプレゼントキャンペーン実施中!

今後の将来性と処理速度を考慮して、MFCとCLIでどちらを学習しようか悩んでいます。

作りたいソフトはいろいろありますが、画像閲覧ソフトやデスクトップユーティリティ、株価のデータ収集ソフト・簡単なゲーム等を作りたいです。

MFCについては入門書を一通り読み終えており、簡単なソフト(ホント、お粗末なものです。)くらいは作れます。CLIについては、flameworkを使う事は知っていますが、具体的にはまだ理解していません。

入門書等はCLIの内容が多いと聞いたのですが、将来的に考えてCLIを学んだほうが良いでしょうか?個人的には、処理速度が速い?MFCを使いたいとは思っていますが、今後MFCが枯れてゆく技術であればCLIにしたいとも思っています。また、学習の難易度は問いません。

ご意見をお願い致します。

A 回答 (4件)

MFC自体のバージョンアップなどはVS2008でも行われているようです


VB.NETやC#などと連携するようなものを開発するのであればCLIを中心に据えたほうがいいかもしれません
これとは逆に C/C++のみまたはこちらがMainなら MFCかと思います
ただMFCはWindowsのメッセージシステムをある程度理解しないととっつきにくい感があります
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
プログラムのメインはC++のみで考えています。今後C#も学ぶかも知れませんが...。CLIのほうは処理速度はどの程度のものなのかご存知でしたら教えてください。

>ただMFCはWindowsのメッセージシステムをある程度理解しないととっつきにくい感があります

メッセージの処理等はMFCを使用しないで、APIを直接操作するプログラミングを覚える際にどういう流れで処理されているか学んだので基礎はできていると思います。

お礼日時:2008/07/14 20:23

>CLIのほうは処理速度はどの程度のものなのかご存知でしたら教えてください。



5年以上前ですが、.NET Framework1.0で簡単な評価をした際の値で、数値演算の繰り返しという.NETに有利?な条件の一例です。

●円周率20000桁の演算(マーチンの式)
      release  deug
Native    91s   33s
CLI      81s   78s

#これをどう見るかは使い方しだいですが・・
   
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

回答いただいて考えたのですが、
簡単なことしかできませんが、自分でいろいろ実験してみるのも価値がありそうですね。

お礼日時:2008/07/16 20:18

> ヘッダファイルに実行コードを書くスタイルになじめないもので…



そんな縛りはありません。IDEが吐くひな形が"たまたま"そうなってるだけ。

> あとはC++テンプレート機能がCLIではジェネリック型として組み込まれていることかな …

そんな縛りはありません。C++/CLIではtemplate/genericの両方使えます。

> CLIの場合はFormが基本になります

そんな縛りはありません。C++/CLIでDoc/Viewに従うのはいとも簡単です。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

う~ん。自分の力で詳しくは調べてみます。

お礼日時:2008/07/16 20:12

現行のパソコンであればCLIでもMFCでもさほど変わらないと思います


P4シングルコアの1GHz未満だとCLIのほうが遅いかも
実行コードベースで考えればCLIの方が実行量は多くなるでしょう

個人的にはコードの保守性などを考えるとCLIよりMFCかなと思います
ヘッダファイルに実行コードを書くスタイルになじめないもので…
あとはC++テンプレート機能がCLIではジェネリック型として組み込まれていることかな … 厳密には違いますがイメージとして

同じ機能を持ったアプリをCLI/MFCで書いてみれば違いなどもはっきりしてくると思います
CLIの方が標準ライブラリが充実しているかなと思います
ですが、自分にとって物足りな部分は結局継承などを使ってコーディングってことになります

MFCの場合はDoc/Viewモデルが基本になります
CLIの場合はFormが基本になります

MFCでもダイアログベースで開発すれば CLIのFormと同じようなことはできます
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

CLIは標準ライブラリが充実しているというのが魅力的ですね。
処理速度がどちらもさほど変わらないということなので、もう少しCLIの概要を学んだ上で決めたいと思います。

お礼日時:2008/07/16 19:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!