質問: windowsアプリケーション開発でc#とc++ こんにちは。 普段、c言語でマイコンプログラムを部活などで書いている者です。 マイコンとpcはプログラム書き込みの際や、ターミナルソフトとの通信の際にシリアル通信を使用していますが、パソコン側で、それ専用のシリアル通信を行う自作のソフトを作ってみたいと思っています。 たとえば、画面のスライダーを動かすと、(ほぼ)リアルタイムにサーボがそのスライダにあわせて動く、といったようなものや、マイコンからのデータを受信して、逐次グラフに表していく、というものを作りたいです。 まず、windowsアプリケーションを書くには、c#かc++だと聞きました。 ネットで調べてみても、この二つの言語は大きく違うような印象を受け、 どちらの勉強を進めていいのかがよくわかりません。 javaはまだ特にやったことはないです マイコン通信用ソフトの作成などといった用途のアプリケーションを作りたいのですが、 どちらの言語を学習するのがよいでしょうか? 教えてください また、開発環境を整えるのに必要な費用等、教えていただけるとうれしいです。 当方、高校二年生で、c言語の簡単な入門書レベルはおおむねわかります。 ほかに、html、cssもわかりますが、それ以外はよくわかりません。 どうぞよろしくお願いします。
回答: 画面から操作を行うプログラムということですので、 c#の方が時間がそれほどかからないので良いのではないでしょうか。 c++の方が高速な部分はありますが、.net frameworkを使用するのであれば、 どちらも大差ないと考えます。 質問者さんは高校生ということですので、これから色々勉強していかれるのだと思います。 言語を習得することも大事ですが、効率の良いプログラムの設計方法も同時に学んでいく必要があります。 私が個人的にお勧めするのは、まずはc#で一通り作ってみて、 ウィンドウプログラミングがどのようなものか学び、 動くものができたら、制御の核になる部分をc++に置き換えて .net frameworkを使用しないネイティブプログラミングで高速化を図るというものです。 きちんとプログラムの設計ができていないと、後でc++に置き換えるのは難しいので オブジェクト指向、クラスの設計の勉強にもなります。 おそらく最初はプログラムを作っては壊すようになるでしょう。 ちなみにvisualstudio expressは無料で使用できますので、お金はかかりません。 頑張ってください。