2016年の発売直後から大きな話題を呼び、中国・ドイツ・韓国・ブラジル・ロシア・ベトナムなど世界各国にも広がった「学び直し本」の圧倒的ロングセラーシリーズ「Big Fat Notebook」の日本版が刊行された。藤原和博氏(朝礼だけの学校 校長)「プログラミングは新しい言語の獲得だ」、野田クリスタル氏(お笑い芸人・マヂカルラブリー)「プログラミングがやりたくなる! まるでゲームの攻略本みたい!」、尾原和啓氏(元グーグル・IT評論家)「プログラミングを通して、ビジネスにも応用できる考え方が見えてくる!」と絶賛されている。本記事では、全世界700万人が感動した同シリーズのプログラミング編『アメリカの中学生が学んでいる 14歳からのプログラミング』より、本文の一部を抜粋・掲載します。
世の中には数百種類のプログラミング言語があって、プログラマは、しようとしている作業の種類に応じて、プログラミング言語を使い分けている。
たとえば、JavaScript、PHP、Pythonといった言語は、ウェブページを作成するのに使われる。ウェブページとは、ウェブブラウザ(Google Chrome、Safari、Firefoxなど)に表示できる文書のこと。ウェブページを集めたものをウェブサイトという。
それから、モバイルアプリケーションは、Swift、Java、Cといったプログラミング言語でつくられることが多い。
プログラミング言語を使う
それぞれのプログラミング言語には、別々の強みがある(たとえば、サクサク動く言語、書きやすい言語、きれいなグラフィックスを表示できる言語、というふうに)。
だから、巨大なプロジェクトになると、何種類かのプログラミング言語を使い分けることもあるのだ。たとえば、こんな感じだ。
3つのウェブサイトとも、共通してJavaScriptが使われている。
それは、JavaScriptが(HTMLやCSSと並んで)、主にフロントエンドの言語として使われるからなのだ。
つまり、ウェブサイトのうち、画面上で実際に見える部分をつくるのに使われる言語、ということだ。
一方で、Facebook、YouTube、Twitterのようなウェブサイトは、大量の情報(投稿、コメント、プロフィール写真、動画など)を保存している。
だから、大量の情報を整理して、フロントエンドと結びつけるためのプログラミング言語、つまりバックエンドの言語が必要になる。
目的によって、使われるバックエンドの言語も変わる。
たとえば、C++は、ほかのプログラミング言語と比べて、すばやく実行される(つまり命令をこなす)けれど、書くのが難しい。
だから、企業は、製品をまずPythonみたいな簡単な言語で書き、あとで部分部分をC++に置き換えて、情報の処理速度を高めたりするのだ。
世界中の言語を話せる人がいないのと同じで、すべてのプログラミング言語がわかるプログラマなんて、もちろんいない。
それでも、いくつかのプログラミング言語を知っておくと便利だ。
たとえば、グラフィックスに優れた言語と大量のコードの処理に優れた言語を組み合わせる、なんてことができるようになるからだ。しかも、ほとんどのプログラミング言語は構造が似ている。