- ベストアンサー
MFC と CLIどちらを学ぶべきか。
今後の将来性と処理速度を考慮して、MFCとCLIでどちらを学習しようか悩んでいます。 作りたいソフトはいろいろありますが、画像閲覧ソフトやデスクトップユーティリティ、株価のデータ収集ソフト・簡単なゲーム等を作りたいです。 MFCについては入門書を一通り読み終えており、簡単なソフト(ホント、お粗末なものです。)くらいは作れます。CLIについては、flameworkを使う事は知っていますが、具体的にはまだ理解していません。 入門書等はCLIの内容が多いと聞いたのですが、将来的に考えてCLIを学んだほうが良いでしょうか?個人的には、処理速度が速い?MFCを使いたいとは思っていますが、今後MFCが枯れてゆく技術であればCLIにしたいとも思っています。また、学習の難易度は問いません。 ご意見をお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
MFC自体のバージョンアップなどはVS2008でも行われているようです VB.NETやC#などと連携するようなものを開発するのであればCLIを中心に据えたほうがいいかもしれません これとは逆に C/C++のみまたはこちらがMainなら MFCかと思います ただMFCはWindowsのメッセージシステムをある程度理解しないととっつきにくい感があります
その他の回答 (3)
- equinox2
- ベストアンサー率48% (321/660)
>CLIのほうは処理速度はどの程度のものなのかご存知でしたら教えてください。 5年以上前ですが、.NET Framework1.0で簡単な評価をした際の値で、数値演算の繰り返しという.NETに有利?な条件の一例です。 ●円周率20000桁の演算(マーチンの式) release deug Native 91s 33s CLI 81s 78s #これをどう見るかは使い方しだいですが・・
お礼
お返事ありがとうございます。 回答いただいて考えたのですが、 簡単なことしかできませんが、自分でいろいろ実験してみるのも価値がありそうですね。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> ヘッダファイルに実行コードを書くスタイルになじめないもので… そんな縛りはありません。IDEが吐くひな形が"たまたま"そうなってるだけ。 > あとはC++テンプレート機能がCLIではジェネリック型として組み込まれていることかな … そんな縛りはありません。C++/CLIではtemplate/genericの両方使えます。 > CLIの場合はFormが基本になります そんな縛りはありません。C++/CLIでDoc/Viewに従うのはいとも簡単です。
お礼
お返事ありがとうございます。 う~ん。自分の力で詳しくは調べてみます。
- redfox63
- ベストアンサー率71% (1325/1856)
現行のパソコンであればCLIでもMFCでもさほど変わらないと思います P4シングルコアの1GHz未満だとCLIのほうが遅いかも 実行コードベースで考えればCLIの方が実行量は多くなるでしょう 個人的にはコードの保守性などを考えるとCLIよりMFCかなと思います ヘッダファイルに実行コードを書くスタイルになじめないもので… あとはC++テンプレート機能がCLIではジェネリック型として組み込まれていることかな … 厳密には違いますがイメージとして 同じ機能を持ったアプリをCLI/MFCで書いてみれば違いなどもはっきりしてくると思います CLIの方が標準ライブラリが充実しているかなと思います ですが、自分にとって物足りな部分は結局継承などを使ってコーディングってことになります MFCの場合はDoc/Viewモデルが基本になります CLIの場合はFormが基本になります MFCでもダイアログベースで開発すれば CLIのFormと同じようなことはできます
お礼
お返事ありがとうございます。 CLIは標準ライブラリが充実しているというのが魅力的ですね。 処理速度がどちらもさほど変わらないということなので、もう少しCLIの概要を学んだ上で決めたいと思います。
お礼
お返事ありがとうございます。 プログラムのメインはC++のみで考えています。今後C#も学ぶかも知れませんが...。CLIのほうは処理速度はどの程度のものなのかご存知でしたら教えてください。 >ただMFCはWindowsのメッセージシステムをある程度理解しないととっつきにくい感があります メッセージの処理等はMFCを使用しないで、APIを直接操作するプログラミングを覚える際にどういう流れで処理されているか学んだので基礎はできていると思います。