Before Next Index
ソフトウェアは知の媒体

 日本はソフトウェアに関する基礎教育を学校教育として行うべきだと私は考えています。現在の情報に関する学校教育は情報技術を使う能力(情報リテラシー)に重点がおかれていますが、ソフトウェアの基礎ともいうべき教育、即ち情報とアルゴリズムについて国語や数学と同じレベルで学ぶことが将来の人材育成にとって必要であると思います。知の媒体として1960年代に新しく登場したソフトウェアはそれまで表現できなかったある種の知を表現できるようにしました。本稿ではソフトウェアによって表現可能となった知とその重要性について概観し、情報とアルゴリズムについての教育の必要性について述べたいと思います。

 それに先立ち、知の種類をほぐすことから始めなければなりません。知の中のソフトウェアの位置づけを明らかにするためです。表1は私が考える知の分類です。あまり整理されていませんが、本項の説明には使えるレベルです。ソフトウェアの特徴はアルゴリズムというそれまであまり表に出てこなかった概念にあります。表1を見る限りソフトウェアは知のほんの一部しか扱っていないように見えます。しかし、ソフトウェアは他の媒体を包含するばかりでなく、動的な表現ができるという特徴を持っています。その結果、大きな広がりのある知の媒体となりました。このことがソフトウェアの基礎教育を重視すべきだという理由です。

表1 知の分類
知の分類
形式知 自然言語(日本語、英語、・・・)や数・数式・図表などによる文書、楽譜、絵画、造形物、写真、情報(データ)、ソフトウェアなど
暗黙知 意識知 外部的 体験・思考で獲得した方法・論理・情報(データ)など
内部的 興味、意欲、感動、嫌悪、予感、確信、不安、安堵、喜怒哀楽、洞察、こだわり、信念など
無意識知 行動や精神活動を支配する潜在意識など

 形式知は暗黙知の外部的意識知を表出したものです。形式知の表現手段のなかで自然言語や数式、図表は大きな位置を占めています。これらには数千年の歴史があります。楽譜、写真は19世紀までに現れました。これらの形式知は従来から教育機関で扱われ、人材育成に役だっています。

 ソフトウェアについてはどうでしょうか。自然言語や数学などでは表現できなかった知の媒体となっているのですが、学校教育ではあまり重視されていないようです。ソフトウェアを構成するものは情報とアルゴリズムです。情報とアルゴリズムをプログラミング言語で表現したソフトウェアがコンピュータ上で動作すれば静的な知が動的になります。ここに大きな可能性が生まれます。アルゴリズムは単純なものから巧妙なものまでいくらでもあります。まだ発見・発明されていないアルゴリズムが無限にあります。数学の計算アルゴリズム、コンピュータ科学で使われるアルゴリズム、企業システムを表現するアルゴリズム、自治体サービスを表現するアルゴリズム、音符から音を出すアルゴリズム、心臓の鼓動の波形を読んで診断するアルゴリズム、機械を制御するアルゴリズム、書物を読んで読み聞かせするアルゴリズム、各種シミュレーションアルゴリズム、・・・。

 暗黙知は意識できる知と無意識の知に分かれます。さらに意識知は外部的と内部的に分かれます。外部的知には体験や思考で獲得した方法・論理・情報(データ)などがあります。興味、意欲、こだわり、信念などの内部的知は知というよりも情と言うべきかもしれませんが、外部的知を生み出す原動力になっていますので知の分類に入れておきます。

 無意識知は潜在意識を指します。これは情よりもさらに奥にある精神活動ですが、意識知に影響を与えていますのでこれも知の分類に入れておきます。

 社会や自然との関わりの中で人がソフトウェアを活用するようになったのは1960年代からで、それまではソフトウェア以外の形式知と暗黙知を利用していました。ソフトウェアが登場すると暗黙知の中の外部的意識知の一部はソフトウェアという形式知に表出され、社会活動・現象や自然活動・現象と知との関わりの中に追加されました。その結果、図1「社会・自然と知の関係サイクル」に示すように、ソフトウェアが装置に組込まれて社会や自然に働きかけ(図1の“行動(装置)”の部分)、社会や自然の状況を観察(図1の“観察(装置)”の部分)できるようになりました。装置による観察の場合、人による観察と異なり、結果を暗黙知としてとらえることができないという違いがあります。各種センサーの発達により、この差は幾分縮小すると考えられます。五感や経験などによる観察力は完全に装置で置き換えることはないでしょうが、ソフトウェアの登場により人々の生活は変貌を遂げています。ここでは明らかに人しか持ち得なかったシステムがソフトウェアという“もの”として扱えるようになりました。その結果、新しいタイプの製品が現れました。

図1 社会・自然と知の関係サイクル

 情報システム(企業、行政など)は既に社会に浸透しています。組込みソフトウェアは装置の機能やサービスの実現手段がメカからソフトウェアに移行し、機能の高度化、多様化、製造コストの削減などに役立っています。ソフトウェアが使われる領域は年々拡大し、社会インフラの中核を担っています。ソフトウェアという形式知は社会環境や自然環境と深く関係して今後も発展を続けて行くことは間違いありません。

 知価社会にあっては図1に示した「社会・自然と知の関係サイクル」を通して知が創造され、磨かれ、ソフトウェアとして商品価値を持つようにもなります。

 先に述べましたが、日本の学校教育におけるソフトウェアに関する教育は情報リテラシーや数学の計算アルゴリズムを教えるレベルに留まっています。真に必要なソフトウェア教育は情報の収集・蓄積・分析と目的達成のためのアルゴリズム創造の能力を身につけることです。情報に関しては種類、発生源、タイミング、流れ(どこからどこへ)、加工・変換、蓄積、分析などについて学習することが必要です。情報についてこれらの観点から十分に調べがついていればアルゴリズム創造は容易です。情報はアルゴリズムの対象であり、情報の性質が明らかになればどのようなアルゴリズムが必要となるかが分かります。

 せめてこの程度のことはソフトウェアの基礎教育として学校で扱って欲しいものです。高等学校までにこのようなソフトウェアの基礎教育を受けていれば、専門分野の教育を選択したときに戸惑うことはないはずです。

 ソフトウェアが知の媒体としての重要性が増している今日、どの分野の人であれ、ソフトウェアから逃れることはできません。“もの”からサービス、そして知価へと変貌する経済にあって日本が世界をリードして行くにはソフトウェア教育は非常に重要です。