2016年の発売直後から大きな話題を呼び、中国・ドイツ・韓国・ブラジル・ロシア・ベトナムなど世界各国にも広がった「学び直し本」の圧倒的ロングセラーシリーズ「Big Fat Notebook」の日本版が刊行された。藤原和博氏(朝礼だけの学校 校長)「プログラミングは新しい言語の獲得だ」、野田クリスタル氏(お笑い芸人・マヂカルラブリー)「プログラミングがやりたくなる! まるでゲームの攻略本みたい!」、尾原和啓氏(元グーグル・IT評論家)「プログラミングを通して、ビジネスにも応用できる考え方が見えてくる!」と絶賛されている。本記事では、全世界700万人が感動した同シリーズのプログラミング編『アメリカの中学生が学んでいる 14歳からのプログラミング』より、本文の一部を抜粋・掲載します。

コンピュータの構成
コンピュータは、ハードウェアとソフトウェアのふたつの部分からなる。
ハードウェア
コンピュータの物理的な部分のこと。
たとえば、キーボード、マウス、画面など。ハードウェアの見わけ方は超簡単。目に見えるものがハードウェアだ。

ソフトウェア
コンピュータに「こうしてください」と指示する一連のプログラム(命令)のこと。たとえば、スマートフォンのアプリ、編集プログラム、エンターテイメントサービスなど。ソフトウェアといっても、いろんな種類がある。たとえば、ゲーム機向けのソフト、電子レンジを動かすプログラム、携帯電話のウェブブラウザ、どれもそう。ソフトウェアは、ハードディスク、フラッシュメモリ、CDのような記憶装置(ハードウェア)に保存される。


ハードウェアの中身を見てみよう
ハードウェアは、いくつかのカテゴリーに分類できる。
◆入力装置
コンピュータへと情報を送信するために使われる装置のこと。
たとえば、キーボード、マウス、ゲームコントローラー、ウェブカメラなど。
◆記憶装置(ストレージ)
コンピュータが情報を保存するために使う装置のこと。
たとえば、ハードディスク、USBフラッシュメモリ、CD、RAMなど。

◆処理装置
コンピュータのなかで、プログラムを実行し、入力情報を解釈して、出力を返す装置のこと。
たとえば、CPU(中央処理装置)やGPU(画像処理装置)など。
・CPU(中央処理装置)
一言でいうと、「コンピュータの頭脳」。ほかのハードウェアやソフトウェアから、入力情報を受け取って、命令を実行するのがCPUだ。
主記憶装置、制御装置、算術論理演算装置で構成される。
・GPU(画像処理装置)
コンピュータのなかで、グラフィックスに特化した部分のこと。
グラフィックスとは、いろんな種類の画像(写真、アニメーション、動画など)のことだ。
画像、アニメーション、動画を、コンピュータ画面上で見られるようにするのが、GPUの役目だ。
きみの大好きなコンピュータゲームの画質をなるべく高めたいなら、グラフィックスを向上させる高価なGPUを使うといい。

◆出力装置
コンピュータがユーザーに情報を返すのに使う装置のこと。
たとえば、プロジェクタ、モニタ、プリンタ、スピーカー、ヘッドホンなど。

こうしたハードウェアの構成部品が、力を合わせて仕事をするのだ。
ユーザー(人間またはコンピュータ)が入力したデータ(情報)は、入力装置を通って、処理装置へと送られる。
すると、データが記憶装置へと保存されたり、記憶装置から読み出されて、ユーザーに返されたりするというわけだ。
食べ物の消化のプロセスとよく似ている。動物も、食べ物を取り入れて、処理して、体内にたくわえて、出すでしょう?

ソフトウェアの中身を見てみよう
◆アプリケーションソフトウェア(アプリ)
ユーザーがいろんな作業を実行できるようにするプログラムのこと。

ワープロソフト、インターネットブラウザ、ゲーム。どれも、アプリケーションソフトウェアの例だ。
スマートフォンのアプリストアにあるアプリも同じ。
アプリケーションソフトウェアにはいろいろな種類があって、プログラマごとに専門とする分野がちがうのだ。

◆システムソフトウェア
一つひとつのハードウェアデバイスが、ほかのプログラムと連携して、きちんと動くようにするためのプログラムのこと。
パソコンのWindowsや、iPhoneのiOS(モバイルオペレーティングシステム)のようなオペレーティングシステム(OS)は、システムソフトウェアの一例といえる。
オペレーティングシステムは、バックグラウンド(裏側)で動くから、画面上で動きが見えたりはしない。

それでも、ゲームやソーシャルメディアなどのアプリをスマートフォンにインストールできるのは、オペレーティングシステムのおかげなのだ。
つまり、アプリケーションは、システムソフトウェアなしでは機能しない、というわけだ。

ハードウェアとソフトウェアは、片方だけじゃほとんど何もできない。
ハードウェアとソフトウェアが協力して、ひとつのシステムになってこそ、やっと力を発揮できるのだ。
例
