アプリケーションとソフトウェアの違いとは何か?
アプリケーションはソフトウェアの一部

ITシステムを導入しようとして情報を集めていると、「アプリケーション開発します!」「ソフトウェア開発はお任せください!」という売り文句の広告をよく目にします。
感覚的にパソコンでは「ソフトウェアをダウンロードしますか?」という表現を、iPhoneなどのスマートフォンでは「アプリケーション(アプリ)をダウンロードしますか?」という表現をすることが多いように感じるので、機器の違いのようにも受け取られるかもしれません。
しかし、実際にはアプリケーションもソフトウェアの一部です。
今回はアプリケーションとソフトウェアの内容に注目し、ITシステムの構造を解説していきます。
ソフトウェアとは何か?
ハードウェアとソフトウェアの違い
アプリケーションもソフトウェアの一部ということをお話ししましたが、それではソフトウェアというものは何なのでしょうか?
「ソフトウェアとは何か?」を説明するためには、ソフトではない「ハードウェア」にも触れていかなければなりません。ここからはソフトウェアとハードウェアの違いについて簡単にまとめていきます。
ハードウェアとは、実際に人が手に取れる機器のことを指します。例えばパソコンで言うところのキーボードであったり、モニターであったり、パソコンを解体したらでてくる電子部品だったりします。
一方、ソフトウェアは手に取ってみることはできません。パソコンなどとつながったモニターに映し出された画面でしか人間は確認することができません。
ソフトウェアの仕事は広範囲です。例えば、キーボードの「A」をタイプして、それがパソコンの画面に映し出されるのもソフトウェアのおかげですし、テキスト編集できるのもソフトウェアのおかげです。
つまり、ヒトとつながるのがハードウェア、ハードウェアから仕事をもらったり、便利な機能を提供するのがソフトウェアの役割といえます。
システムソフトウェアとアプリケーションソフトウェア
ハードウェアから仕事をもらったり、便利な機能を提供するのがソフトウェアだとお話ししましたが、この2つの役割によって、ソフトウェアもそれぞれ名称がつけられています。
ハードウェアと連携するためのソフトウェアを「システムソフトウェア」、それとは別にMicrosoft社のWordのように、文章を書く機能だったり、ゲームだったり、何か特定の作業をするためのソフトウェアを「アプリケーションソフトウェア」と呼びます。
両者の違いを表にまとめると、以下のようになります。
システムソフトウェア | アプリケーションソフトウェア | |
---|---|---|
用途 | ハードウェアの操作に使用される。 | ユーザーが特定のタスクを実行するために使用される。 |
開発言語 | 一般的にCやC++など、実行時のオーバーヘッドが小さく、リソース消費の少ない高水準言語で開発される。 | 開発には高水準言語が使用される。 |
インストール | オペレーティングシステムをインストールすると、 自動的にコンピュータにインストールされる。 | ユーザーの要件に従ってインストールされます。 |
操作 | ユーザー側で操作することはほとんどない。 | ユーザーインターフェースを見ながら操作する。 |
依存関係 | 独立して実行でき、アプリケーションソフトウェアを実行するためのプラットフォームを提供する。 | システムソフトウェアなしでは実行できない。 |
例 | WindowsOSやmacOSなどのオペレーティングシステムやコンパイラやドライバなど。 | Webブラウザ、メディアプレーヤーなど。 |
いろいろと専門用語が並んでいますが、システムソフトウェアとアプリケーションソフトウェアの用途の違いだけをしっかりと押さえておけば、まずはよしとしましょう。
ここからは、もう少し詳しくシステムソフトウェアとアプリケーションソフトウェアの違いを知りたい方のために、用途以外の違いを解説していきます。
開発言語
一般的にシステムソフトウェアはCやC++で、アプリケーションソフトウェアは高水準言語で開発されます。
高水準言語とは、CやJava、Pythonのような言語で、人間が分かりやすいプログラミング言語を指します。
例えば、近年人気のPythonでは「Hello」という文字を表示させたい場合は、「print (“Hello")」と記述します。
こうしたコードは、プログラミングを知らない人でも何をするのかが予想できるのですが、これが高水準言語の特徴です。
一方、低水準言語とは機械語やアセンブリ言語等のことを指します。例えば機械語は「100010101」などの数字だけで書かれた、CPUがそのまま解釈・実行できるようなプログラミング言語です。
しかしながら現在では一部の組み込み系を除き、このような低水準言語が使用される機会はずいぶん減ってきているようです。
インストール
システムソフトウェアとアプリケーションソフトウェアでは、インストールされるタイミングが異なります。
システムソフトウェアがインストールされるイメージはつきにくいかもしれません。なぜならMicrosoft社のWindowsパソコンを買っても、Apple社のMacを買っても、あらかじめシステムソフトウェアはインストールされている状態です。
ですので、イメージしていただく他ないのですが、もし何もインストールされていないパソコンを手に入れた場合、Microsoftのオペレーティングシステム・Microsoft Windowsをインストールすると、他のシステムソフトウェアも自動的にインストールされていきます。
一方で、アプリケーションソフトウェアをインストールするかどうかは、パソコンを使っているユーザーの判断で決められます。
ちょうど、スマホアプリをインストールするかどうか選ぶ感覚です。
操作
ユーザーが操作するか否かといえば、システムソフトウェアはほとんどユーザーが操作することはありません。
一方で、アプリケーションソフトウェアではユーザーがアプリケーション特有の画面(ユーザーインターフェース)を見ながら操作していきます。
依存関係
依存関係を比較すると、システムソフトウェアはアプリケーションソフトウェアがなくとも動きますが、アプリケーションソフトウェアはシステムソフトウェアがなければ動きません。
例えばMicrosoft社のアプリケーションソフトウェアであるWordで文章を書こうとしても、キーボードで入力した文字を認識するシステムソフトウェアが動いていなければ、Wordを動かすことはできません。
さいごに
今回は「アプリケーション」と「ソフトウェア」の違いを紹介していきました。
アプリケーションもソフトウェアの一部であり、日ごろ私たちが使っているソフトウェアのほとんどがアプリケーションソフトウェアです。
同様に、「ソフトウェア開発します」と広告をうっている業者も、システムソフトウェアを開発するということはほとんどなく、アプリケーションソフトウェアの開発を指していることが多いです。
多くの場合アプリケーションとソフトウェアは同じものを指していますが、ひょんなことからこうしたITリテラシーは試されるものですので、両者の違いを覚えておきましょう。