• ベストアンサー

応用プログラミングとシステムプログラミングの違い

応用プログラミングとシステムプログラミングの相違点ってなんですか? 一つ一つの意味は分かっても、相違点っていわれると難しくて; システムプログラミングは「OSの機能を直接使ったプログラム作成」だと思うんですけど、 応用プログラミングはこれと何が違うのでしょうか? よろしくお願いします

noname#46996
noname#46996

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

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.2

> システムプログラミングは「OSの機能を直接使ったプログラム作成」だと思う これは違うでしょう。アプリケーションがOS機能を直接使う場合もありますし。 応用プログラミングは利用者が直接使うアプリケーションの作成ですね。 システムプログラミングはそのアプリケーションが基盤として利用するプログラムの作成です。デバイスドライバとか、組込み系ではOSを含むこともあります。

noname#46996
質問者

お礼

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

その他の回答 (1)

  • chirubou
  • ベストアンサー率37% (189/502)
回答No.1

両方ともプログラムという点は同じですが、バグの影響はずいぶんと違います。 応用プログラムでは、バグがあってもそのプログラムがコケるだけですし、デバッグのためのプリント文を入れたりデバッガの助けを借りる事もできます。 しかしシステムプログラムでは、そのような便利な機能がなく、デバッグが大変難しくなっています。特に Linux 等の本格的な OS では、コーディングに沢山の約束事があって、それをちゃんと守らないと、後々おかしくなる場合があります。アドレスも論理アドレスだけでなく物理アドレスもありますので、ごっちゃにするとあらぬアドレスを参照してしまったりします。基本的にマルチスレッド動作なので排他制御もちゃんとしないと、動いたり動かなくなったりしますし、lock を間違えるとデッドロックしたり(だんまり状態)します。 変なバグをいれるとそこを通った瞬間にOSが停止しますので、デバッグのためのプリント文も役にたたなかったりします。最悪ファイルシステムを壊してしまったりもします。もちろんデバッガを使ってデバッグすることは(ほとんど)できません。 ということで、システムプログラミングではより「慎重」で「安全」なプログラミングが必要になります。

noname#46996
質問者

お礼

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

関連するQ&A

  • システムコールとOSマクロ

    同じような質問を続けてしまって申し訳ないのですが・・ 今度はシステムコールとOSマクロの相違点が分かりません。 それぞれの意味ではなく、違う部分を調べるのが難しくて・・ できれば簡潔にまとめていただけるとうれしいです。 分かる方、お願いします。

  • ウインドウズのシステムにおけるプログラミングについて

    ウインドウズのシステム情報はどこで聞いていますか? 例えば メモリークリナーというフリーソフトの場合OSのリソースをクリーニングする機能がありますが そのクリーニングするファイル情報(リソースを設定しているファイル)はどこで調べたのか是非おしえていただきたいと思います。(他の常駐ソフトでもよろしいです)この機能は、ウインドウズ内のプログラムがどのように動きどのファイルを参照しているか 理解していなければ出来ないことだと思っているのですが、私の周りに詳しい方がみえないので 皆様の知識を提供していただきたいです。お願いいたします。

  • システム作成上、MACのIEとWINDOWSのIEの違いについて知りたいです

    WEB上のシステムを作成していますが、 MAC上のIEとWINDOWS上のIEの違いについて、 注意しなければいけないこと、相違点について簡単に知りたいです。 なにか良い情報サイトは御座いますでしょうか? 宜しくお願い致します

    • ベストアンサー
    • Mac
  • プログラミングにおける思考ってどのようなものでしょうか?

    プログラミングを学んでいるものです。 目標のプログラムを作成に至るまでの手順がまるで理解できません。 仮にプログラムが完成したとしても、マグレでしかなく何故そのような プログラムになったのか説明が出来ないのです。 現在、プログラミングをしているのですが、全く思い浮かびません。 ひどい時には、24時間以上かけても始めでつまずいたままです。 これではただの時間の無駄で、その度に我儘にも自分の労力の無意味さと能力にショックを受けます。 暗記と違い時間をかけても得るものが何もないのは理系?関係では良くあることでしょうが、このまま不毛な真似をするのは駄目だと思いました。 プログラミング文法を知っているかではなく、プログラムの組み立てについて、どのような思考で行えばよいのでしょうか? ご意見お願いします。

  • Webプログラミングと他のプログラミングのちがい。

    お尋ねしますが、ParlやCGI、PHPなどを用いたWeb用のプログラミングと、Javaや、Cを使ってアプリケーションなどを作る本格的なプログミラングとは、用いる言語の違い以外で何か異なることはあるのでしょうか。 たとえば難易度は、はるかにJavaやCのほうが難しく、Webプログラミングはそれに比べればずっと簡易的であるとかなどです。 それと、Web関連の業界についてですが、「Webデザイナー」と「Webプログラミング」の職種とは全然、畑違いの分野なのですよね。 前者は画面の意匠を担当するのでしょうし、後者はパソコン・ユーザーからの何かのイベントに対して、何らかの反応をするシステムをプログラムで組み立てることと考えてよろしいのでしょうか。

    • ベストアンサー
    • Perl
  • Cプログラミングの問題です

    Cプログラミングの問題です。 N人の学生が受験したM回の試験から、最高点と最低点を検出するプログラムを作成せよ。

  • プログラミング

    インターネットやメールを使いこなせるようになったので、何か変わった事に挑戦したい(ゲーム作成)と思い、プログラミングにトライすることにしました。 エクセルのVBAを使ってプログラミングをしているのですが、逆にこのような動作をするのならマウスで動かしたり、いつも知っている通りした方がが速いんじゃないか?と疑問を抱きはじめました。  プログラムするに当たって色々な言語(C言語やJava etc)の存在がある事をしりました。  一体、何の言語がプログラム初心者にとって学びやすいのですか? またお勧めサイトがあれば紹介してください。 私の参考にしているサイトは(http://www.happy2-island.com/)です。 ちなみにOSはWinME メモリは128 Office2000を使用しています。

  • プログラミングに関して

    プログラミングの勉強をしているのですが、一通り基礎的な本は読破しましたが、長いソースプログラムを白紙の状態から自分で書くことなど出来そうにありません。オープンソースなどの長いソースコードは全て誰かが白紙の状態からあれ程までの長いソースコードを書いているのでしょうか?それとも何かを応用したりどこかの関数を引用したりして書かれているのでしょうか?

  • 応用的なプログラミングのために(音楽情報処理など)

    今、VBやCなどの入門書に載っているような基本的なプログラミングは出来るのですが、もっと実用的なプログラムが作りたいと思います。 音楽関係の、音楽情報処理などに興味があります。 そのようなことをやるときには、どの言語がよいでしょうか?CやJAVAなどが候補なんですが。それから、CやJAVAでそのような応用的なプログラムを作るのにはどのような本やWEBページを見たらよいか教えてくださるとうれしいです。今はCだと、黒い画面に白い文字が出る基本的な物しか出来ないです。VBだとVB中学校初級(http://homepage1.nifty.com/rucio/main/dotnet/shokyu/index_sta.htm)の7割ぐらい理解できるレベルです。 よろしくお願いします。

  • プログラミングの勉強について教えてください。

    現在自分は学校でC言語を学んでいます。 もちろん学校で学ぶことなのでテストもあり先日行いました。 授業では毎回資料が送られ、それについての課題(レポート)を作成しなければいけません。 そこで行う課題では自分はいつも早めに終わらせることができるのですが、 テストとなると全くできません。 テストはいつも筆記でプログラムを手書きで書く、プログラムから読み取る、プログラムの意味を書くなどがあります。 パソコンではかけても手書きで書くことができないのです。 先生にはいつも、「それは理解してないだけでしょ」と言われます。 しかし、正直プログラミングの勉強法と言うものがわかりません。 頭の中ではある程度理解していても実際書けなかったり、 先生の言うとおり意味がよくわからないので型を間違っていたりすることが多いです。 実際プログラミングはどのように勉強すればいいのでしょうか?