• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Windowsアプリケーション開発でC#とC++)

Windowsアプリケーション開発でC#とC++

このQ&Aのポイント
  • C#とC++でWindowsアプリケーション開発をしましょう。
  • マイコン通信用の自作ソフトを作るためには、C#かC++を学ぶ必要があります。
  • 開発環境の費用や勉強の進め方についても教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

>>マイコン通信用ソフトの作成などといった用途のアプリケーションを作りたいのですが、 どちらの言語を学習するのがよいでしょうか? PC側で動作するプログラムとしてC++も使うことは可能ですけど、ネットで参考になるサイトのサンプルは、C#あるいはVBが多いので、どっちを選ぶかとなるとC#のほうがいいと思います。 C#は、.NetFrameworkと共に、MSが割と自由に(大胆に?)仕様変更して、開発効率をアップしているように思います。 (たぶん、C++は、MSが勝手に仕様変更するのは難しいのではないでしょうか?) >>また、開発環境を整えるのに必要な費用等、教えていただけるとうれしいです。 一部の制限はありますが、C#、C++の開発環境は、無償で入手可能です。 なお、Visual Studio Express 2010までは、XPで動作しますが、2012以降は、Win7以降が動作環境となっています。

elecpigeon
質問者

お礼

お礼が遅くなってしまい大変申し訳ありません。 回答ありがとうございました

その他の回答 (2)

回答No.3

画面から操作を行うプログラムということですので、 C#の方が時間がそれほどかからないので良いのではないでしょうか。 C++の方が高速な部分はありますが、.NET Frameworkを使用するのであれば、 どちらも大差ないと考えます。 質問者さんは高校生ということですので、これから色々勉強していかれるのだと思います。 言語を習得することも大事ですが、効率の良いプログラムの設計方法も同時に学んでいく必要があります。 私が個人的にお勧めするのは、まずはC#で一通り作ってみて、 ウィンドウプログラミングがどのようなものか学び、 動くものができたら、制御の核になる部分をC++に置き換えて .NET Frameworkを使用しないネイティブプログラミングで高速化を図るというものです。 きちんとプログラムの設計ができていないと、後でC++に置き換えるのは難しいので オブジェクト指向、クラスの設計の勉強にもなります。 おそらく最初はプログラムを作っては壊すようになるでしょう。 ちなみにVisualStudio Expressは無料で使用できますので、お金はかかりません。 頑張ってください。

elecpigeon
質問者

お礼

回答ありがとうございます。 いろいろトライしながら、進めて生きたいと思います。

  • goo_f6
  • ベストアンサー率0% (0/1)
回答No.2

私個人としては、C++の方が処理が速く、 リアルタイムを望むなら、こちらの方がいいと思います。 C#は、用意されている便利な関数や参考になるサイトが数多くあり、 メモリ関係も勝手に処理してくれるので、あまり気にせずに書くことができ、 初心者には便利な言語です。 フォームアプリケーションは、javaも含め、簡単に作成することができ、 ボタンからリッチテキストボックスやリストビューなど、 便利なコントロールが数多く用意されています。 とりあえず簡単に作ってみたい場合はこちらの方がいいと思います。 対してC++は、C言語に近くやや古い印象です。 フォームアプリケーションを実装しようとすると、 コードが膨大になり、ソース管理し難い印象です。 また、用意されている関数はことごとくポインタを要求するで、 ポインタを理解していないと、値渡しや参照渡しや実データで混乱すると思います。 しかし、ポインタやメモリアクセスは慣れると便利で、 マイコンプログラムや原始的なアセンブラに近い感覚や速度を実感すると思います。 どちらでもフォームアプリケーションやリアルタイムプログラミングは、 実装は可能だと思いますが、今後マイコン通信等の職に就くのであれば、 大変かと思いますが、C++でポインタに慣れていた方が良いと思います。

elecpigeon
質問者

お礼

回答ありがとうございます。 C++のほうが処理が早いとのことですが、マイコンとの通信で気になるレベルなのでしょうか? 私は独学初心者ですので、やはり参考資料が多いというのは助かります。 ポインタは入門書レベルならだいたいわかると思いますが、あまり得意ではありません… まずは、C#を勉強してみようかなという気持ちに傾いてきました笑

関連するQ&A