アプリ版:「スタンプのみでお礼する」機能のリリースについて

初めまして。
c++の基礎の学習が終わり(といってもまだ不安なところがありますが)、
ぼちぼち、Windowsプログラミングをやってみたいと考えています.

最初はwin32apiでやろうと考えていたのですが、調べていると.NET言語の
方がいいと書いてありました.
そうなると使う言語はC++/CLIにするべきなのかなあと思ったのですが、

   ・C++と書き方が結構違う
   ・かなり難しい
   ・そもそもC++/CLIはC#からC++で書かれたものを使いたいときに
    使もので、単体で使うものではない

という意見がありました。ここはいっそうのことC#を学ぶべきでしょうか?

まとめると、
1 .NET言語でやるべきかどうか
2 .NET言語でやるのならば、使うべきはC++/CLIかC#か

以上二つ、よろしくお願いします。

質問者からの補足コメント

  • ー補足ー
    プログラミング歴 4カ月ほど(趣味の一環として)
    今後進みたい方向 最終的には画像処理関係ができればと考えています
    c++を選んだ理由 画像処理のライブラリでOpenCVを使いたいと考えたため

    今のところ、処理速度・開発効率に関して求めることはありません。

      補足日時:2016/03/28 19:59

A 回答 (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習得もある程度は時間がかかるとは思いますが、
基本的なところを抑えれば、挙動に癖がないと個人的に思います。
    • good
    • 0
この回答へのお礼

助かりました

返信遅れてしまいすみません。回答ありがとうございます。
OpenCvSharpとても参考になりました。ベストアンサーとさせていただきます。
やはりC#でしばらくは行こうと思います。(WIN32APIも触ってみましたが結構きつかったです…)
ですが、速度なりを求めるときにきっとC++は役立つ(はず)と思うのでこれからもC++は続けていこうと思います。
いろいろありがとうございました!

お礼日時:2016/03/31 21:36

>C++からJAVAに移るよりはC#にした方が早く進むでしょうか?


犬差ないですね。どちらもC++をベースに作られたので。
C#はMS版Javaだと揶揄されることも多いです。

OpenCVは Java、C#の両方で使えます。但しJavaは公式対応
.NETは非公式対応です。
    • good
    • 0

まず今時適当なフレームワーク無しに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をおすすめします。
#このカテでこういう発言すると怒られそうですが・・・
    • good
    • 0
この回答へのお礼

助かりました

回答ありがとうございます。

学び始めなのでここはじっくり方向を見極めるべきなのでしょうが、やはりこれ
から、一から(必ずしも一からではありませんが)やるとなるとやはりどうして
も早く覚えられるものを選びたいと考えてしまいます。
愚問かもしれませんが、C++からJAVAに移るよりはC#にした方が早く進むでしょうか?

お礼日時:2016/03/28 20:19

なにを優先するかによって回答が変わってくると思います。


以下の情報を追加してみてはどうでしょうか?

・求める処理速度
・求める開発効率
・今後進みたい方向
・プログラミング歴
・初めにC++を選択した理由
    • good
    • 0
この回答へのお礼

ありがとう

アドバイスありがとうございます。
補足しておきました。

右も左もわからない状態で画像処理関係のことがしたいと始めたのですが、
OpenCVの参考書を立ち読みしたらC++/CLIで書かれていたので、この先
どれを覚えればいいのかわからなくなったこともあり、質問させていただ
きました。言葉足らずで申し訳ありません。

お礼日時:2016/03/28 20:06

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