コンピューター関連

category

(コンピューター)プログラミング演習、古典プログラミングはいかが?

大昔、オートマタの時代にも、シーケンシャルに動作を設定できる機械があったそうで、その機械は、ロボットや機械の歴史の上でひとつのエポックメイクな事例になっています。たとえば、ジャガード織機やオルゴールも同様の構造の機械で、プログラムは機械的に与えられていました。指示を与える、という操作を実現した意味でコンピュータープログラミングの歴史でも、機械工学と同様にひとつの事例になっています。

作業(動作)ではなく、実際に計算機を利用した起源は、1843年に解析器(解析エンジン=手回し計算機のような機械)で使用するための数学的な方法が示されたもので、これは後のエグニマなどで知られるような機械式の計算機でした。

1880年にパンチカードによる電気的な読み取りが可能になり、機械語に変わる言語として、1960年ころには FORTRAN(1957年配信) や COBOL(1960年ころ実行)、Lisp (1955年) などの高級言語(高水準プログラミング言語)が登場し、コンピュータープログラミングが実質誕生、普及しました。磁気テープ、磁気ディスク、光学ディスク、電子式メモリーが急速に普及していきました。

ここでいう古典プログラミングは、この頃に成立したコンピュータープログラミング手法のことです。サブルーチンなどをのぞいたコアな部分、単純な逐次型プログラミング、オブジェクト単独と表現すればよいのでしょうか。

大学では、専門教育としては1980年代には「FORTRAN演習」は実施されていましたが、いつから始まったかは調査していません。その後、プログラミング授業科目は情報教育として一般教養(2007年)で「プログラミング演習」として実施されることになりましたが、その当時、本法人の前身である旧大阪府立大学では、革新的な大学改革を立て続けに実施する中、教員人員削減と相まって、本課程では一般教養でのプログラミング学習が大学でのプログラミング学習のすべてとして置き換わったようです。

既にその頃には、言語はC言語(1972年公開)の系列の言語が波及し、構造体やクラスなどのオブジェクト指向をはじめ、省力化やバグ削減などが容易な手続き型プログラミング、効率的な作業性などを生むデータ抽象というプログラミング手法が普及していました。C++(1983年公開)以降はスクリプト言語も含めて、JAVA, JAVA script や PHP、C#, C++, Python などなどの言語が普及し群雄割拠を呈しています。

そのなかで、「プログラミング演習」では言語は C++ を使用しますが、本課程では、あくまでも基本を重んじ、使用言語の特徴にも流されることなく、「単純な逐次型プログラミング」にこだわった「古典的プログラミング手法」の教育を提供しています。

基本さえしっかり学べば、おそらく意欲ある優秀な学生さんたちは、逐次プログラミング手法を足がかりに、自発的にオブジェクトプログラミング手法や構造化プログラミングなどを習得していくことでしょう。

そうしたプログラミングを学ぶ過程で、合理的な考え方や効率的な手法というモノを学び、研究室に配属された後には、さらに数学と物理学を駆使し、それらを具現化する数値解析プログラむやプレゼンテーション用のアプリケーションも開発し、優れた論文を複数発表していきます。

もしかりに、プログラミング手法を学ばなくても、そのような業務に就かなければよいという優秀な合理的思考を身につけている学生さんは、もちろんプログラミングが主となる職種ではなくても、業務でプログラミングやその設計思想と同等以上の合理的思考を発揮して十分世の中で活躍します。

プログラミングの勉強には古典プログラミング手法が効果的

しっかりと効果的な現代プログラム言語も身に付けてください。

 

なお、本研究室でも、プログラミングによる研究のオートマタ化を少しずつですが実施しています。万が一にも関心がある学生さんは、本研究室の研究も少し調べていただければ幸いです。