2001年の発行以来「10年後も通用する基本を身につけよう」のキャッチフレーズのもと読み継がれてきた書籍「なぜ」シリーズ。この先の10年に向けて、何をいま知っておくことが重要なのかを著者の皆さんに語ってもらいます。(編集部)

 プログラミング言語には、様々な種類があります。オープン系システムを中心に幅広く使われているJavaやC#、メインフレームでは現役バリバリのCOBOL、制御系システムで一般的なC言語、Webサイト開発に特化したPHPあたりが現在主流の言語でしょうか。またiPhoneアプリ開発で使うObjective-C、Windowsアプリ開発に特化したVisual Basic、日本が世界に誇るRubyも人気があります。さらに元祖オブジェクト指向言語のSmalltalk、関数もデータもカッコで記述するLisp、世界最古の高級言語のFORTRANもありますね。この記事を読んでいる方の中には、分散並行処理に強いScalaやErlangに注目している方もいることでしょう。私たちIT技術者が仕事をするうえでは、これらのプログラミング言語を理解して使いこなす必要がありますから、なかなか大変です。

 しかし、プログラミング言語によって何もかも違うわけではありません。文法や細かい仕組みが違っていても、「パラダイム」(=基本的な枠組み)と呼ぶ、共通な考え方があります。プログラミングの代表的なパラダイムには、構造化プログラミング、オブジェクト指向プログラミング、関数プログラミングの3つがあり、現在普及しているプログラミング言語はどれも、これらのパラダイムの1つあるいは複数をサポートしています。

 知らないプログラミング言語を新たに習得するのは大変ですが、この3つを把握していれば、個々の文法や仕組みの複雑さに惑わされず、ツボを押さえやすくなります。今後10年間を見通しても、この3つが主役になるはずですから、この記事では10年後も通用する“基本”として、この3つのプログラミングのパラダイムを紹介しましょう。

 ところで、人が何かを説明したり、たたえたりするときには、代表的な3つを挙げるのが定番のやり方です。具体例としては、国民の三大義務(勤労、納税、教育)、日本三名園(兼六園、後楽園、偕楽園)、維新の三傑(木戸孝允、西郷隆盛、大久保利通)、三大ギタリスト(エリック・クラプトン、ジェフ・ベック、ジミー・ペイジ)など、実にたくさんあります。そこでこの記事でも、3つのパラダイムそれぞれに対して、特徴を3つずつ紹介していくことにしましょう。