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

応用プログラミングとシステムプログラミングの相違点ってなんですか?

一つ一つの意味は分かっても、相違点っていわれると難しくて;

システムプログラミングは「OSの機能を直接使ったプログラム作成」だと思うんですけど、
応用プログラミングはこれと何が違うのでしょうか?

よろしくお願いします

A 回答 (2件)

> システムプログラミングは「OSの機能を直接使ったプログラム作成」だと思う



これは違うでしょう。アプリケーションがOS機能を直接使う場合もありますし。

応用プログラミングは利用者が直接使うアプリケーションの作成ですね。
システムプログラミングはそのアプリケーションが基盤として利用するプログラムの作成です。デバイスドライバとか、組込み系ではOSを含むこともあります。
    • good
    • 0
この回答へのお礼

そうだったんですか。「OSの機能を直接使ったプログラム作成」をシステムプログラミングということもある。。ということだったんですね。
相違点も分かりやすかったです。
どうもありがとうございました。

お礼日時:2006/09/05 19:59

両方ともプログラムという点は同じですが、バグの影響はずいぶんと違います。



応用プログラムでは、バグがあってもそのプログラムがコケるだけですし、デバッグのためのプリント文を入れたりデバッガの助けを借りる事もできます。

しかしシステムプログラムでは、そのような便利な機能がなく、デバッグが大変難しくなっています。特に Linux 等の本格的な OS では、コーディングに沢山の約束事があって、それをちゃんと守らないと、後々おかしくなる場合があります。アドレスも論理アドレスだけでなく物理アドレスもありますので、ごっちゃにするとあらぬアドレスを参照してしまったりします。基本的にマルチスレッド動作なので排他制御もちゃんとしないと、動いたり動かなくなったりしますし、lock を間違えるとデッドロックしたり(だんまり状態)します。

変なバグをいれるとそこを通った瞬間にOSが停止しますので、デバッグのためのプリント文も役にたたなかったりします。最悪ファイルシステムを壊してしまったりもします。もちろんデバッガを使ってデバッグすることは(ほとんど)できません。

ということで、システムプログラミングではより「慎重」で「安全」なプログラミングが必要になります。
    • good
    • 0
この回答へのお礼

詳しい説明をありがとうございました。
すごく勉強になりました。

お礼日時:2006/09/05 20:00

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