fortran66のブログ

fortran について書きます。

Fortran のオブジェクト指向と N. Wirth

Fortran の OO と N. Wirth

以前紹介しました下記シンポジウムの M. Cohen 氏による講演資料にあるオブジェクト指向 (OO) を
Oberon から借りてきたという記述を見て、色々謎が解けた気がするのでメモしておきます。

fortran66.hatenablog.com

f:id:fortran66:20170814005725p:plain

Fortran ~ modernization or cumbersome ~
Project Editor, ISO/IEC Fortran standard / Numerical Algorithms Group Oxford/Tokyo
Malcolm Cohen
【発表資料】
Abstract: The Fortran standard has already undergone significant revision in this (21st) century, and further revision is underway. The larger changes in Fortran and 2008 will be described, with their effects on Fortran programming, compilers, and parallelization. Some of the forthcoming changes in Fortran 2015 will also be mentioned.

N. Wirth, MODULA-2 and object-oriented programming (1990)

MODULA-2 and object-oriented programming - ScienceDirect

この論文中の図1に、一般的 OO 用語と Wirth 流 OO 用語の対応表があり、それが Fortran における OO 用語におおむね対応しています。

f:id:fortran66:20170814010334p:plain

この論文は結構面白くて、序論ではコンピュータ界が流行り用語に弱いという今に続く悪習を腐しています。Wirth なりの OO の定義なども述べています。class を module 代わりに使っている(シングルトン?)ことも、概念の違うものを一つのもので表わすと混乱すると批判していて、至極もっともなことをすでに語っています。

よく読むと、oberon の type-bound procedure は、インスタンスごとに任意にくっつける一般的でないものらしく、今の Fortran のもの(つまり一般的なものと同じ)は Oberon-2 によるものになっているようです。



もう少し、このあたりを調べてみたいと思います。

[H29.8.24 追記]
N. Wirth, "From Modula to Oberon" (1989)

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.3932

に、より詳しい情報があります。