「基礎から学ぶプログラムの原理 ~パラダイムシフトから読み解く技術と思想~」

ブラックボックス化が進むプログラムの世界

パソコンの普及と共にプログラミングは身近な存在として私達の生活を支えてきました。最近では、Pythonなどの言語に代表される充実したライブラリを活用するだけで容易にプログラムが可能な状態になりました。また、ChatGPTのような生成AIを使えば、やりたいことを伝えるだけでプログラムを生成してくれます。

便利になった反面プログラミングの世界でもブラックボックス化が進んでおり、これは人間の思考能力の低下や、AIが出す答えの正当性を判断する能力の低下を引き起こす可能性も秘めています。

プログラミングには不変の原理や原則が存在し、それらを基礎から学ぶことがプログラミングリテラシーとして非常に重要になります。また、プログラミング言語は、いくつかのパラダイムシフトを経て進化してきました。これらのパラダイムシフトの流れを理解することで、プログラミングに関する多様な概念を身につけることができます。一例として手続き型言語(Procedural Programming Language)のパラダイムシフトを駆け足で紹介します。

手続き型言語のパラダイム

手続き型言語(Procedural Programming Language)は、コンピュータプログラミングの歴史において基本的な位置を占めているパラダイムです図1⁠。初期のFORTRANから始まり、大衆向けに普及したBASIC、そして構造化プログラミングを導入したCやPascalへと進化しました。その後、オブジェクト指向プログラミングの導入によりC++が登場し、これに続いて、目的別にプログラミング言語が分化し、Windowsアプリケーション開発に特化したVisual BasicやVisual C++、ネットワーク対応型のJavaが登場しました。

さらに、軽量化と柔軟性を追求したPython、JavaScript、PHPなどのスクリプト言語が出現し、これらの言語は関数型プログラミングの影響も受けています。

このようにプログラミング言語は、構造化、オブジェクト指向、関数型、並行処理といっ た複数のパラダイムが共存する形で、多様化を続けて現在に至っています。このプログラミングの歴史的なパラダイムシフトを辿ることで、プログラムへの深い理解を生み出すことができます。

図1 手続き型言語におけるパラダイムシフト
図1

本書の紹介

現代社会において、プログラミングの重要性はますます高まっています。単なる技術スキルとしてだけでなく、物事を論理的に考え、問題を解決する手段としてのプログラミングの理解は、あらゆる分野で求められるようになりました。しかし、プログラミングの学びはコードを書くことにとどまらず、より深いレベルでコンピュータや情報の仕組みを理解することが重要となります。

そのため、本書基礎から学ぶ プログラムの原理では、単なるプログラムを作るための入門書にとどまらず、コンピュータリテラシーや情報科学の幅広い側面に焦点を当て、プログラミングを体系的に学べるような書籍となっています。