初めまして。
c++の基礎の学習が終わり(といってもまだ不安なところがありますが)、
ぼちぼち、Windowsプログラミングをやってみたいと考えています.
最初はwin32apiでやろうと考えていたのですが、調べていると.NET言語の
方がいいと書いてありました.
そうなると使う言語はC++/CLIにするべきなのかなあと思ったのですが、
・C++と書き方が結構違う
・かなり難しい
・そもそもC++/CLIはC#からC++で書かれたものを使いたいときに
使もので、単体で使うものではない
という意見がありました。ここはいっそうのことC#を学ぶべきでしょうか?
まとめると、
1 .NET言語でやるべきかどうか
2 .NET言語でやるのならば、使うべきはC++/CLIかC#か
以上二つ、よろしくお願いします。
No.4ベストアンサー
- 回答日時:
あまりこの領域に経験がないのであくまで参考程度に読んでください。
手始めとしてはVisual C#で、Windowsアプリケーションを
作るのがよいのではないでしょうか?パソコン雑誌でもそんな
特集が多い気がします。
・言語:C#
C++基礎知識があり、習得が容易である。
一から全部覚えなくても、C++とかぶっていない個所をさらっと
学習や、必要になったところで必要なだけの情報収集で間に合う
気もします。
・開発環境:Visual Studio Community 2015
無料。高機能なIDE。ある程度大きなプログラムを
作成するようになった時、IDEは必要になる。
登録すればずっと使える模様。
GUIはドラッグ&ドロップで作成可能。
・ライブラリ:OpenCvSharp
日本人の作者曰く、ラップしている関数が多い。
導入が楽。
詳細な利点・欠点は以下を参照。
http://schima.hatenablog.com/entry/20090616/1245 …
ライブラリの層がそれほど厚くないので、抽象度の高い
書き方はできないけども、opencvを直接使う感覚に近い
書き方ができるので、既存のopencv解説サイト・書籍を
有効活用可能と思います。
Visual Studioインストール済みの自分のPCで、
以下サイトを参考に試しに導入してみましたが、適当な画像を
使って、動作させるところまで楽でした。
(NuGetではOpenCvSharp-AnyCPUを選択した(Opencvも
インストールしてくれる模様)。
プラットフォーム設定はAnyCPUしか選択できなかった)
http://schima.hatenablog.com/entry/2013/12/15/11 …
参考サイト
http://schima.hatenablog.com/entry/2014/01/30/10 …
--
Javaを選択した場合、opencvとの連携のための環境設定、
IDEであるEclipseの習得に難があるのではと感じます。
Visual Studio習得もある程度は時間がかかるとは思いますが、
基本的なところを抑えれば、挙動に癖がないと個人的に思います。
返信遅れてしまいすみません。回答ありがとうございます。
OpenCvSharpとても参考になりました。ベストアンサーとさせていただきます。
やはりC#でしばらくは行こうと思います。(WIN32APIも触ってみましたが結構きつかったです…)
ですが、速度なりを求めるときにきっとC++は役立つ(はず)と思うのでこれからもC++は続けていこうと思います。
いろいろありがとうございました!
No.3
- 回答日時:
>C++からJAVAに移るよりはC#にした方が早く進むでしょうか?
犬差ないですね。どちらもC++をベースに作られたので。
C#はMS版Javaだと揶揄されることも多いです。
OpenCVは Java、C#の両方で使えます。但しJavaは公式対応
.NETは非公式対応です。
No.2
- 回答日時:
まず今時適当なフレームワーク無しにWin32APIを直に使っての
プログラミングをする人はまずいません。冒険がお好きなら
止めませんが、かなり大変なのは保証します。
Windowsの基本部分を直接さわることになるので
大変ためになりますが、まとまったアプリケーションを
作るのはプロでも困難です。
c++なら、WindowsAPIにクラスの薄皮を被せた
MFCを使うと、APIを直に使うよりだいぶ楽になります。
それでもかなり大変です。もう使う人もいなくなってきたので
資料も減ってきてますね。MFCはVSに付属してます。
c++/cliで.Netは充分使えます。C#やVBに比べ多少
煩雑になりますが、大きな問題はありません。
サンプルコードが少なかったり、知っている人が少ないのが難かな。
C++/cli は nativeとmanagedの世界を同時に扱える特殊な
C++なので、普通のC++とはかなり違います。
王道はC#かVBで.netでしょう。と~っても楽です。
C++わかるなら、そこからc++/cliへ行くより、C#へ
ゆく方が楽でしょう。C++よりシンプルです。
私の最近のお勧めは JavaFXです。
C++はすっかりマイナーになってしまったので、
C++わかっていて、GUIを作りたいなら
Javaをおすすめします。
#このカテでこういう発言すると怒られそうですが・・・
回答ありがとうございます。
学び始めなのでここはじっくり方向を見極めるべきなのでしょうが、やはりこれ
から、一から(必ずしも一からではありませんが)やるとなるとやはりどうして
も早く覚えられるものを選びたいと考えてしまいます。
愚問かもしれませんが、C++からJAVAに移るよりはC#にした方が早く進むでしょうか?
No.1
- 回答日時:
なにを優先するかによって回答が変わってくると思います。
以下の情報を追加してみてはどうでしょうか?
・求める処理速度
・求める開発効率
・今後進みたい方向
・プログラミング歴
・初めにC++を選択した理由
アドバイスありがとうございます。
補足しておきました。
右も左もわからない状態で画像処理関係のことがしたいと始めたのですが、
OpenCVの参考書を立ち読みしたらC++/CLIで書かれていたので、この先
どれを覚えればいいのかわからなくなったこともあり、質問させていただ
きました。言葉足らずで申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
パスカルケースの由来。
-
vbaとc言語の関連性について
-
VBSとWSHは読み方が違うだけで...
-
UNITY Float型の接尾辞fって
-
Transitional/ENとは
-
C++における継続行
-
新しいプログラムには、何故COB...
-
COBOLでのNOT = の AND条件
-
プログラム言語について c言語...
-
ホームページを作成する際に良...
-
C言語の使い道
-
VRMLってなんですか??
-
クオンツに必要なプログラミン...
-
昔、MZ-2000やX1でBASICを書い...
-
プログラミング言語について
-
緑色の箱の「Visual Studio 200...
-
Javaの勉強をしているんですがJ...
-
ゲームってC++でしか作れないの...
-
何をすればいいのかわかりません!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
今ってプログラミング言語は何...
-
C言語、C+、C++、C#の違い
-
プログラミング言語について
-
COBOLでのNOT = の AND条件
-
近年誕生したプログラミング言語
-
UNITY Float型の接尾辞fって
-
C言語とhtmlの違いを どな...
-
vbaとc言語の関連性について
-
C++における継続行
-
プログラムに書かれる"%"記号の...
-
COBOLで文字タイプを数字...
-
VBSでDim、Private、Publicの違い
-
TO_CHARで小数点以下がある場合...
-
VBSとWSHは読み方が違うだけで...
-
Excel VBAで文字化けする (英語...
-
VCとVC++
-
HTMLとC++で、どんなホームペー...
-
C++ ってなんて読む?
-
UWSCはどのプログラミング言語?
-
会計システムをつくるために必...
おすすめ情報
ー補足ー
プログラミング歴 4カ月ほど(趣味の一環として)
今後進みたい方向 最終的には画像処理関係ができればと考えています
c++を選んだ理由 画像処理のライブラリでOpenCVを使いたいと考えたため
今のところ、処理速度・開発効率に関して求めることはありません。