- ベストアンサー
制御系とアプリ系
現在、プログラマーとして制御系に進むべきかアプリケーション系に進むべきか迷っています。 どちらも未経験の職種なので詳しい方にアドバイスを頂ければと思います。 それぞれの良い点と悪い点をお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
どちらもやってます。 どちらも楽しいですよ! 技術的なことは方向が違うだけなので、ここでは割愛しますね。 制御系とアプリ系で私が感じる異なる点は、体を動かすか?椅子に座りっぱなしか?って事ですね。 制御系の場合は、計測器をつないで見たり、半田付けしてみたり、接続したり切断したり・・・と、デバッグに入ると体を動かします。 アプリ系の場合は、ずっと座りっぱなしですね。 服装も、違いますね。 制御系は静電気を嫌うので、帯電防止の作業着が一般的です。 アプリ系は、私服だったりネクタイだったり・・・。 私の場合、ネクタイが嫌いなのでアプリ組む時も作業着着てます。 こんなんでいいのかな?
その他の回答 (2)
- terra5
- ベストアンサー率34% (574/1662)
おそらくアプリケーション系は普段目にしている物と考えればいいと思いますし、その気になれば普通のパソコンで簡単に試すことはできます。というか、おそらく普段目にするプログラミング関係の内容はほとんどアプリケーション系に相当すると思います。 制御系は趣味、学習レベルだと自分でなんらかのハードウェア(キットなどを含む)自作するようなことをしないと、体験すらできないように思います。 私は基本的にアプリケーション系のプログラマですので、制御系はあやしいですが(^^; vxWorks,pSos等のリアルタイムOSでの経験も少しはありますので参考になれば。 アプリケーション系 だいたいが純粋にソフトウェアの範囲で対応で、システムコール、API、ライブラリといった物が使えれば対応できる。 多彩な環境での動作が要求されることが多い。 制御系 ハードウェアに密接に関係してあることが多く、リアルタイム性が要求されることが多い。 (アプリケーションレベルだと人間の応対がまたされないレベルで済むことが多いが、制御系だとmsec,μsecでの応答が要求されることもある。) コンピュータ資源が制限されることが多い。(メモリサイズ、CPU、クロック等) 特定のハードウェアでの実行が前提となるのが普通で、 たいてい開発単位で環境が大幅に異なる。 OSを使う場合でもハードウェアの制御がからむことが多いため、システムコール等の内部の動きや、その結果何がおきるか、何をさせたいかが更に意味を持つようなことが多い。 よりコンピュータ内部に関する興味がある人が制御系に向いていると思います。
制御系というのは、機械やOSなどを直接操作するようなロジックのことです。 制御系ロジックは、一般には「OS制御ルーチン」の塊で、そのままでは単体でアプリケーションとしては動作しないのが普通です。 アプリ系というのは(一般には業務系って言い方の方が多いですが)、顧客が望む物をそのままプログラム化したものです。 顧客が「このデータとこのデータを比較して出力してくれ」という注文をつけてきたとします。 すると、「データを読む」「データを読む」「比較」「出力」という一連の流れが業務系ロジックになります。 一般にアプリケーションは、制御系ロジックの上に業務系ロジックが乗っかるような構造になっているのが普通です。 制御系ロジックは「OSの構造を理解する力」、業務系ロジックは「顧客の要望に答える力」が必要であるといわれているようです。 新人のころはどっちか片方しかできないのが普通のようですが、しかし、最終的にはどっちもできるようにならなければいけません。