プログラミングの歴史と発展、社会への影響とは
理学部数学科 教授 安田英典
プログラミング言語の歴史
20世紀中葉のコンピュータの誕生は、電子機器の誕生だけでなくプログラミング、あるは、プログラミング言語の誕生でもありました。そして、今まで数多くのプログラミング言語が生まれてきました。高等学校で必修となった情報の教科書に現れるプログラミング言語は、VBA、Javascript、Pythonです。それぞれ特徴はありますが、いずれも最初の方に反復と判断が出てきます。コンピュータは同じことを十万回、百万回、繰り返しても疲れません。繰り返しの中に判断が織り込まれると知性の匂いがします。
さて、コンピュータ黎明期のプログラミング言語の中には、”自然発生”言語といってもよいものが2つあります。数値計算のためのFORTRANと記号処理のためのLISPです。FORTRANやLISPは、論理そのものを記述する言語と言って良いでしょう。一方、この頃人気のあるPythonなどは、自然言語の雰囲気があるように思えます。新しい時代には、新しいプログラミング言語も生まれてきます。プログラミング言語の学習がだんだんと外国語(自然言語)の学習に近付いて行って、そのうち、まるで外国語学習のようなプログラミング授業も行われるかも知れません。こういう形の文理融合もあると思います。本大学でも、理系、文系の別を問わずにプログラミング教育が行われています。
平方根のアルゴリズム、オーパーツとは?
プログラムはアルゴリズムをソフトウェア(柔らかいもの)の形にしたものですが、紀元前1800-1600年頃の古代バビロニアでは、平方根を計算するアルゴリズムを粘土版に刻んでいました。この粘土板に刻まれた平方根のアルゴリズムはオーパーツと言ってよいものです。古代の数学では、このアルゴリズムが正しいことを証明することができません。計算した答えが正しいかどうかは二乗してみれば分かりますが、アルゴリズムが厳密に正しいことを証明するためには、17世紀にニュートンが微分を発見するまで待たねばなりませんでした。粘土板に刻まれているアルゴリズムは、現代でも使われているものです。人々はこのアルゴリズムを、数学的な証明がなくとも、粘土版の古代から紙とペンの時代を経てコンピュータの現代まで使い続けているわけです。
プログラミングはこれからの社会で必須になる?
数理科学の世界では、深遠な自然現象や複雑な社会現象を方程式で記述しようとします。方程式が現象を支配するという言い方もあります。ところで、方程式は本人よりも賢いという言葉を耳にしたことはありませんか。方程式の方が方程式を考えた人よりも賢いという意味です。ニュートンの運動方程式は、ニュートンが想像もしなかった現代テクノロジーの研究開発の場で活用されています。方程式の解を求める計算方法もニュートンの想像外でしょう。ニュートンの時代は紙とペンで計算しましたが、現代では、ニュートンの運動方程式を計算するのはコンピュータ、あるいは、プログラムです。出藍の誉と言っていいでしょう。
ところで、コンピュータやプログラムは単に計算をするだけのものでありません。世界中のコンピュータをネットワークで結んで膨大なデータを検索、編集することができます。さらに、機械知性とも言えるAIは社会を大きく変革しようとしています。超スマート社会ソサエティ5.0が実現しつつあります。今や、プログラミングは必須のスキルとなり、プログラミング教育が小学校から始まりました。皆さんは、高等学校から本格的にプログラミングを学んでいる最初の世代です。超スマート社会ソサエティ5.0で活躍するために、大学で一歩上を行くプログラミングスキルを身につけましょう。
安田 英典
・城西大学 理学部 数学科 教授
・博士(工学) ( 2003年09月 九州大学 )