初めまして。
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミング言語「C#」の難易度ってどれくらいですか? 4 2022/05/12 19:15
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
- IT・エンジニアリング c言語とjavaの需要について 3 2022/06/23 22:59
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- 数学 C言語と将来性 7 2022/10/13 16:49
- C言語・C++・C# gettimeofday() と localtime_r() を使って現在の日時をマイクロ秒単位で表 2 2022/10/26 21:15
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- C言語・C++・C# 画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう 3 2022/10/30 01:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
楽しくて最高のプログラミング...
-
C言語、C+、C++、C#の違い
-
C++ ってなんて読む?
-
プログラムからアイコンファイ...
-
COBOLで文字タイプを数字...
-
UWSCはどのプログラミング言語?
-
Int('1234') で、strをかんたん...
-
プログラムに書かれる"%"記号の...
-
質問失礼します。 プログラム言...
-
C++における継続行
-
Excel VBAで文字化けする (英語...
-
rpa化する言語としてら何があり...
-
VBScriptで引数を省略したい場合
-
パスカルケースの由来。
-
プログラミング言語の制作方法...
-
Pythonって何を意識した言語な...
-
UNITY Float型の接尾辞fって
-
TO_CHARで小数点以下がある場合...
-
最新のプログラム言語を学ぶに...
-
C言語とhtmlの違いを どな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
質問失礼します。 プログラム言...
-
最新のプログラム言語を学ぶに...
-
COBOLでのNOT = の AND条件
-
C言語って古いですか?
-
rpa化する言語としてら何があり...
-
UNITY Float型の接尾辞fって
-
TO_CHARで小数点以下がある場合...
-
プログラミング言語の制作方法...
-
COBOLで文字タイプを数字...
-
プログラムに書かれる"%"記号の...
-
C言語とhtmlの違いを どな...
-
Int('1234') で、strをかんたん...
-
C++ ってなんて読む?
-
Excel VBAで文字化けする (英語...
-
C言語 解答について。
-
VBSでDim、Private、Publicの違い
-
Excelの開発言語ってなんですか?
-
C# でソフト開発をした事のある...
-
C#とC++のざっくりとした違いを...
おすすめ情報
ー補足ー
プログラミング歴 4カ月ほど(趣味の一環として)
今後進みたい方向 最終的には画像処理関係ができればと考えています
c++を選んだ理由 画像処理のライブラリでOpenCVを使いたいと考えたため
今のところ、処理速度・開発効率に関して求めることはありません。