プログラミング前の基礎知識

プログラミングの実践に入る前に、まずはコンピューター関係やプログラミングの手順についての基本的な知識を説明します。
既に知っている情報もあるかと思いますが、軽くでもいいので目を通しておいてください。

章の後半では、実際にプログラミングで使用するための開発ソフトのダウンロードとインストール、および使用できる状態にするまでの手順を解説します。

プログラムとは何なのか

漠然とプログラミングといってもそれは具体的に何をすることなのでしょうか?

今あなたの目の前にあるものは、パソコンやスマートフォンといったインターネットに接続できる「コンピューター」でしょう。
コンピューターというのはハードウェア(ハード)ソフトウェア(ソフト)とで成り立っています。

ハードウェア

ハードウェアはコンピューターの機械部分のことを指します。
実際に手で触れる部分、物理的に存在する部分と言い換えてもいいかもしれません。

パソコンならば「パソコン本体」「ディスプレイ」「キーボード」「ケーブル類」などがハードウェアに該当します。
ハードウェアの本体は金属やプラスチック等で覆われていますが、中を開ければメカメカしい部品が並んでいます。
(基板や配線など)

ハードウェアだけで動作する機械はありますが、パソコンの場合は本体だけでは何もすることができません。
電器屋等で買ってきたパソコンならば、何もしなくても使えるように最初からセットアップされた状態のものがほとんどですが、本当に「まっさら」の状態ではパソコンはただの箱です。

まっさらのパソコンは、電源を入れれば画面に何かしらの文字は表示されますが、この状態ではメールやネットなどは一切できません。
パソコンの内部のハードウェアには、パソコンとして動作させるための最低限のプログラム(BIOSという)が組み込まれているため、かろうじて画面に文字が表示されるだけです。

ソフトウェア

まっさらのパソコンにソフトウェアを組み込むことで、初めてパソコンはパソコンとして動くようになります。
例えば電卓の機能を持ったソフトウェアをパソコンに組み込めば、パソコンは電卓として使用することができるようになります。
ソフトウェアは、ハードウェアに特定の機能を与えるためのデータです。

プログラミングとは、この「ソフトウェア」を開発する作業を指します。
電卓機能を持ったソフトを作ればパソコンで電卓が使えるようになり、メール送受信機能を持ったソフトを作ればパソコンでメールの送受信ができるようになります。
もちろん、こういった誰もが欲しいであろうソフトウェアは既に誰かが作ってくれたものが存在するので、いちいち自分で開発して使うことはほとんどありません。

プログラム、アプリケーション

ソフトウェアはプログラムアプリケーションといった名称で呼ばれることがあります。

ソフトウェアはハードウェアに対して使われる言葉で、既に説明した通り「ハード部分でないもの」という意味です。

プログラムはプログラミングという言葉から分かる通り、「一定の処理を手順通り行うもの」といった意味です。
あらかじめ決められた手順通りに処理を進行するためのものです。

アプリケーションは英語の「application」、「apply」から来ている言葉で、「適用」「応用」するものといった意味があります。
特定の目的を実現するためのソフトウェアで、日本語では「応用ソフト」などと呼ばれます。
後述するOSと対比して使用される言葉です。
スマホの「アプリ」もこれです。

一般的にはこれらはほとんど区別されることなく使用されています。
アプリケーションはソフトウェアであり、プログラムもソフトウェアです。
しかしOSはプログラムでありソフトウェアですがアプリケーションとはいいません。

OS(オペレーティングシステム)

電卓は便利なソフトですが、電卓を使うため専用のパソコンやスマホをいちいち用意していたのでは非効率的です。
そのためなら市販の(ハードウェアの)電卓を買ってきた方が使い勝手がよく、安く済みます。
(細かいことを言えばハードウェアの電卓には専用の電卓ソフトが組み込まれている)

パソコンやスマホは、一台の中にたくさんのソフトウェアを組み込むことができます。
電卓で必要な計算をしながらメールを作成することだって簡単にできます。
このような機能を実現しているのがOSと呼ばれるソフトウェアです。

パソコンを起動すると、ハードウェアは真っ先にOSを起動します。
そのOS上に、さらに電卓やメールなどのソフトウェアを起動します。
それぞれのソフトを必要に応じて切り替えたり必要なくなれば終了させたり、といった当たり前のように行っている作業もOSがその機能を提供しているからできるのです。

OSは「オペレーティングシステム」の略で、日本語では基本ソフトと訳されます。
パソコンが一般化し始めたころは基本ソフトと呼ぶこともありましたが、今ではあまり聞かなくなった呼び方です。

OSにはいくつか種類があり、有名どころは「Windows」「Mac OS」「Linux」などです。
スマホ向けの「iOS(iPhoneに搭載)」「Android」もOSの一種です。
ガラケーも独自のOSを搭載しています。

OSは全てのソフトウェアの親玉みたいなもので、電卓ソフトやメールソフトなど、そのコンピューター上で動作するソフトウェアを全て制御する機能・役割があります。
OSの上にソフトウェアが乗っかっているイメージです。

■パソコンとOSのイメージ
パソコンとOSのイメージ

OSによってそれぞれ使い勝手は異なりますが、できること自体は基本的に同じです。
ただし、ひとつのソフトウェアは特定のOS上で動作するように作られているものがほとんどで、別のOS用に作られたソフトは動作しません。
例えばMac用に作られたソフトはWindowsでは動作しません。
(OSが変わっても使えるソフトは存在しますが例外的なものです)

OSもプログラミングで作れる?

OSも「ソフトウェア」の一種であることは間違いありません。
プログラミングとはソフトウェアを作成することです。

ということは、OSもプログラミングで作れるということです。

ただしそのためには相当な知識が必要で、当然ながら全く初心者向けではありません。
OSはユーザーが意識しない部分で細かくハードウェアを制御しています。
OS上で動くソフトウェアを開発するのと、OSそのものを開発するのとでは労力は段違いといえます。
OSがあるおかげで、ソフトウェア開発者はOSが制御しているややこしい部分の知識がなくてもソフトウェアを開発することができるのです。
(やりたければハードウェアを制御するプログラムも作れます)