ソフトウェアとアプリケーションは違う?
ソフトウェアやアプリケーションという言葉はよく聞くけど、いまいちどのように違うのかはっきりわからないという方も多いのではないでしょうか?
今回の記事では、ソフトウェアとアプリケーションの違いや特徴、さまざまな種類のソフトウェアとアプリケーションをご紹介します。
ソフトウェアとは?
コンピューターの世界における「ソフトウェア」は、さまざまな役割・目的を持ったコンピューター・プログラムの総称です。
ソフトウェアにはOSやファームウェアなどさまざまな種類があり、アプリケーションもソフトウェアの種類の一つです。
ソフトウェアは、CPUやHDDといった「ハードウェア」の対義語でもあります。コンピューターは、物理的な装置であるハードウェアと、論理的な装置であるソフトウェアの2つで構成されているのです。
ソフトウェア(プログラム)は、パソコンの補助記憶装置(HDDやSSD、USBメモリーなど)に記憶されています。使用時に主記憶装置(メモリー)に一時的に呼び出され、CPUでプログラムに記述された手順に基づいて演算・処理が実行されます。
ソフトウェアの特徴として、ハードウェアと違って永遠に故障しないということがあります。誰かが変更・修正を加えない限り、作られた当時と全く同じ動作を永遠に繰り返すことができるのです。(例えると、聖書が何世紀にも渡って同じ教えを伝え続けていることと一緒です)
コンピューターのハードウェアは、1と0で構成される機械語しか理解できません。しかし、人間にとって機械語を操るのは非常に困難です。そこで人間が扱いやすいプログラミング言語(英語ベース)でプログラムを記述し、機械語に翻訳するツール(コンパイラ)を使って機械語を生成しています。
さまざまな種類のソフトウェアを紹介
ソフトウェアはいくつかの種類に分類することができます。今回は代表的な6種類のソフトウェアの特徴などをご紹介します。
OS
OS(Operating System、基本ソフト)は、ハードウェアとアプリケーションの間に位置し、実行されるさまざまな処理の橋渡しをしています。
OSはコンピューター(パソコンやスマートフォン)の電源を入れると自動的に起動(ブート)し、電源が切られるまで常に動作しています。CPUやメモリといったハードウェアリソースの割り当て管理や、キーボードやディスプレイ、ユーザーインターフェイスなど入出力装置の制御を行っています。
パソコン用の代表的なOSとしては、Microsoftの「Windows」とAppleの「macOS」が挙げられます。その他にもオープンソースの「Unix」系や「Linux」系、Googleの「Chrome OS」などたくさんのOSが存在しています。スマートフォン・タブレット用の「iOS」や「Android」もOSです。
アプリケーション
アプリケーション・ソフトウェアは日本語では「応用ソフト」と呼ばれ、さまざまな業務を実行するために無限とも言えるほどたくさんのアプリケーションが存在しています。
アプリケーションについては次項で詳しくご紹介するので、ここでは「アプリケーションはソフトウェアの1種である」という説明だけに留めておきます。
デジタルコンテンツ
DVDやブルーレイディスクに収録された映画やドラマ、CDに収録された音楽、動画ストリーミングサービスで配信されている動画といったデジタルコンテンツもソフトウェアの1種です。
写真・動画・音楽といった種類に関係なく、デジタルコンテンツは全て1又は0のデジタルデータとして記録されています。
プログラム言語
アプリケーションを作成するためのプログラム言語やプログラミングツールもソフトウェアの1種です。
歴史の長い「C言語」や汎用性の高い「Java」、Webアプリ開発用の「Python」や「PHP」など、プラットフォームや目的に合わせたさまざまなプログラム言語が存在しています。
iOS用のアプリは「objective-C」や「Swift」で、Android用のアプリは「Java」や「C++」で開発されています。
BIOS
BIOS(Basic Input/Output System)は、主にハードウェアの初期化とOSの起動を担う小さなソフトウェアで、HDDやSSDとは違う特別なメモリに格納されています。パソコンを起動する際、OSが立ち上がる前に一瞬表示されるロゴがBIOSの動作を示しています。
メーカーが販売する完成品パソコンを使うユーザーは、BIOSの存在を意識する必要はありません。パソコンを自作する方はCPUのオーバークロックやCPUファンのコントロール、RAID構成などを設定することができます。
ファームウェア
パソコン以外でもさまざまな電子機器にソフトウェアは搭載されています。電子レンジやデジタルカメラなどの家電や自動車など、あらゆる電子機器でソフトウェアが動きセンサーやモーターといったハードウェアの制御や演算を行っているのです。
パソコンの周辺機器では、プリンターやモデム、ルーターなどでもファームウェアが搭載され各装置の制御や演算を行っています。
以前のファームウェアは出荷時に固定されて書き換えされることはありませんでしたが、最近のファームウェアはインターネット経由でアップデートされるケースも増えています。
アプリケーションとは?
ソフトウェアの1種であるアプリケーションは応用ソフトとも呼ばれ、汎用性が高いコンピューター(ハードウェア)に特定の専門的な処理を実行させるためのプログラムです。
コンピューターの黎明期は、利用者(ユーザー)が特定の目的のために自らプログラミングすることが一般的でした。コンピューターを利用するためにはプログラミングを覚える必要があったのです。
パソコンが普及するにつれてワープロや表計算といったアプリケーションが開発されるようになり、ライトユーザーでも手軽にコンピューターの恩恵を受けられるようになったのです。
かつてはパソコン用のアプリケーションは「ワープロソフト」といったように”ソフト”と呼ばれていました。しかしこの10年ほどで爆発的に普及したスマートフォンの世界では、「SNSアプリ」というように”アプリ”と呼ぶのが一般的です。どちらも同じアプリケーションソフトウェアのことを指しますが、近年ではパソコン用でも”アプリ”と呼ぶようにシフトしてきています。
さまざまな種類のアプリケーションを紹介
現在の形のコンピューターが発明されてまだ75年ほどしかたっていませんが、世の中には数え切れないほどのアプリケーション・ソフトウェアが存在しています。今回は代表的なアプリケーションを5種類ご紹介します。
オフィス系
ワープロや表計算、プレゼンテーションなど、ビジネスシーンでの事務処理に欠かせないのがオフィス系アプリケーションです。
代表的なオフィス系アプリケーションとしてMicrosoftの「Office」シリーズ(Word、Excel、PowerPoint、Outlookなど)や無料で使える「Apache Open Office」シリーズが挙げられます。
近年では「Googleドキュメント」のようにWebアプリ型のサービスも増えています。また、「Mirosoft Office 365」のようにサブスクリプションサービスとして提供されることも一般的になってきました。
クリエイター系
画像編集や動画編集、音楽制作などクリエイター系のアプリケーションも充実しています。
画像編集アプリケーションではAdobeの「Photoshop CC」が圧倒的なシェアを誇っています。動画編集アプリケーションでもAdobeの「Premiere Pro CC」が世界中のクリエイターから支持されています。
音楽制作(DTM)アプリケーションとしては、AVIDの「Pro Tools」がレコーディング・スタジオのデファクト・スタンダードとなっています。
一昔前はこういったクリエイター系ソフトを動かすためにはプロフェッショナルスペックの非常に高価なコンピューターが必要でした。しかし現在では普及機のスペックが向上し、アマチュアでもプロレベルの編集を手軽に楽しめるようになっています。
業務系
企業内部で顧客管理や会計、予約管理などに使われる業務系ソフトもアプリケーションです。汎用的な製品を購入してカスタマイズするケースから、ゼロから専用アプリケーションを開発するケースまでさまざまです。
ゲーム系
『黒い砂漠』などのパソコン用オンラインゲームや、「Play Station 4」などゲーム専用機のソフトもアプリケーションの1種です。
アプリケーションはプラットフォームの仕様に合わせて作成されるので、例えば同じ『バイオハザード 7』でもパソコン用とPlay Station 4用では異なるコード(プログラム)で記述されているのです。
ゲームは美しいグラフィックスを実現するため、ハードウェアリソース、特にGPUに大きな負荷がかかります。そのため、「ゲーミングPC」と呼ばれる専用機が必要になります。
しかし、Googleが2019年11月から開始するゲームストリーミングサービス「Stadia」のように、サーバー側で処理を行うクラウド型ゲームが今後は普及していく見込みです。そうなると、高速インターネット回線さえあればエントリーモデルのパソコンやタブレットなどでも3Dゲームなどが楽しめるようになります。
Web系
Webブラウザの「Google Chrome」や「Safari」もアプリケーションの1つです。また、Webブラウザ上で動作する「YouTube」などのWebアプリもアプリケーションの一つです。
まとめ
アプリケーションは応用ソフトと呼ばれるように基本ソフト(OS)の上位層で動作するソフトウェアです。ハードウェアと違って目には見えませんが、パソコンの中ではさまざまな役割を持ったソフトウェアが動いていると想像してみると、より一層コンピューティングへの理解が深まるのではないでしょうか。