ソフトウェアは大きく分けて2種類に分かれます。
アプリケーションと、オペレーティングシステム。
wikipediaの図が分かりやすいです。
一番上のUser(ユーザ)が、コンピュータの利用者。
一番下のHardware(ハードウェア)が、パソコンとかスマホとかタブレットとか。
プリンタとか、デジカメとか、いわゆる周辺機器もこのハードウェアに含めてもいいと思います。
上記の図の、Operating System(OS)とApplication(アプリ)がソフトウェアです。
ソフトウェアがないと、利用者がハードウェアを利用することはできません。厳密に言えば利用できるかもしれませんが、現実的ではありません。
プログラミングするというのは、つまりアプリかOS、あるいはその一部の部品を作ること。
この時大切なのは、そのプログラムは、そのプログラムの外部とどのような接点を持つかということ。
つまり、アプリをプログラミングするなら、ユーザとの接点や、OSとの接点が必要です。
ハードウェアとの接点は必要ありません。OSがよろしくやってくれます。
アプリとユーザとの接点は、ユーザインタフェース(UI)と呼ばれます。
アプリとOSの接点は、API(アプリケーションプログラムインターフェース)と呼ばれます。
インターフェースは「外部とくっつくところ」という意味です。
こういった用語はソフトウェア開発の現場では毎日見聞きします。
専門用語のようですが、実はたいして難しくありません。
簡単なのでちょっと勉強すればすぐに分かるようになります。
気を付けなければいけないのは、こういった用語を使いすぎる人は、なんだかうさんくさい印象を周囲に与えます。
ハッピーコンピューティングでは、正しい用語の意味を指導しますが
同時に、うさんくさい使い方をしないように、丁寧に指導していこうと思っています。