FORTRAN廃止?

 以下のサイトでFORTRAN廃止の署名を集めているようです。

PETITION TO RETIRE FORTRAN(FORTRAN廃止請願)

 現在の所14名の署名が集まっているようです。10のもっともらしい理由をつけて廃止せよと、Jace A. Mogill氏が提案しています。これについて、コメントしたいと思います。

1 FORTRAN2003 Is Unlearnable
Users of FORTRAN are typically not computer scientists. To the contrary, most FORTRAN users have little to no formal computer science training and are experts working in another scientific discipline. Scientists of all domains struggle to stay current in their own fields, and the notion that they must also master the arcane concepts of a 700 page reference from another science entirely is neither practical nor appropriate.

1 FORTRAN2003は学びにくい
 FORTRANのユーザは特にコンピュータ工学者ではありません。むしろ、ほとんどのFORTRANユーザは正式なコンピュータ工学の訓練を受けておらず、別の科学的な職業で働くエキスパートです。全ての分野の科学者は自分の分野にとどまるため、更に、700ページの手引き(訳注:言語仕様マニュアルのこと)の不可解なコンセプトを理解するだろうという期待は、全く現実的でなく、適切でありません。

=>優秀な科学者は、FORTRANの高尚なコンセプトをよく理解して、自分の研究の科学計算が如何にして高速に計算できるか考えることに長けている。確かにコンピュータ工学を学んでいる人はほとんど居ないだろうが、自力で学習している科学者も結構居るので、この理由は正しくない。

2 FORTRAN2003 Is Unimplementable
There is no freely available or reference implementation of FORTRAN2003, or 95, or 90 for that matter. Its absence is not due to lack of demand, but due to economic and logistic hurdles. The overabundance of redundant syntactic constructs manifests itself in compilers which require hundreds of man-years to implement. Furthermore, variations in implementation may result in basic language constructs having substantially different performance characteristics on different systems.

2 FORTRAN2003は実装不可能である
 FORTRAN2003/95/90の実装には、自由に利用可能性でなく、参考となるものがない。その欠如は、要求の不足ではなく、金銭的な問題と論理上の障害によるものである。構文上冗長なものの過多さは、それ自体、コンパイラの実装に何百人年も要することに現われている。更に、実装の多様性は、異なるシステムの上に本質的に異なる実行特性を持っている基礎的な言語構成に帰着するかもしれません。

=>確かに実装は困難であるが、言語仕様が冗長であるかどうかは現時点で結論付けるのは時期尚早である。

3 The FORTRAN Business Model Is Not Sustainable
A commercial quality FORTRAN2003 compiler cannot be created, either using commercially available components (front-ends, assemblers, etc.) or by writing it entirely from scratch, for less than a cost of several million dollars (US). FORTRAN's vanishingly small market share constrains sales to the extent that it prohibits market entry for new vendors and prices new, entry level, and even curious users out of the market.

3 FORTRANのビジネスモデルは続かない
市販のFORTRAN2003コンパイラは、作成することができず、数百万米ドル未満のコストのために、プログラムを一から全て書き、市販で利用可能なコンポーネント(フロント・エンド、アセンブラなど)を利用する。FORTRANのほとんどないくらいに小さな市場占有率では、新しいベンダが新しい価格で市場にエントリすることが困難である。

=>FORTRANはもともとHPC向きの言語であり、ハードと一体となったシステムビジネスが通常である。しかし、この指摘では、ハードのマーケットが考慮されておらず、これは正しいものとは言えない。

4 An Arcane Language Does Not Attract New, Talented Developers
  Formal educational instruction to expose new developers to FORTRAN is often limited to only one college course because FORTRAN is not interesting to computer science departments. As a result, users now typically learn FORTRAN "on the job". Scientific programming requires some subset of the best software developers, but employers find it increasingly difficult to attract the new talent needed largely for the reasons expressed here.

5 FORTRAN2003 Adds No Functionality The most recent language revision does not add any appreciable functionality to the language which was not already accessible by some other means. Adding additional syntax to the language to give the appearance of making a certain operation "easy" is a false economy because it presupposes the user has studied the language exhaustively and is aware of the syntactic idiom.

6 FORTRAN Ignores Long-term Trends in Computer Architecture Symmetric multiprocessor computers and distributed memory clusters of computers are found nearly ubiquitously in places where FORTRAN is used. FORTRAN ignores this trend, forcing users and vendors to implement language extensions and toolkits.
Today, secondary storage universally is direct access storage and in some instances a parallel filesystem. Despite these innovations, FORTRAN maintains a record oriented sequential input/output model created for tape and punch cards.

7 FORTRAN Syntax Is Archaic FORTRAN lacks any regular grammar, and "free format" syntax replaces rather than extends FORTRAN77 syntax, burdening users with knowing two subtly incompatible languages, both called FORTRAN, which can be combined almost arbitrarily. FORTRAN has no official macro preprocessor, so vendors are left to improvise and users often turn to the C Pre-Processor which is uniquely ill suited for the task. FORTRAN2003 pollutes the user name space with its plethora of intrinsics while the syntax does not have reserved words, allowing the use of intrinsic names as variables, or worse, arrays, syntactically conflating function call sites and array subscript syntax.

8 FORTRAN Makes Simple Programs Difficult To Write The practice of deriving small, disposable, experimental, toy programs from critical sections of important large applications has all but been squashed by MODULES which carry the baggage of unwanted code and syntactic scaffolding.

9 New Language Features Inhibit Optimization FORTRAN90 and later compilers must deal with issues such as pointer resolution and data copying earlier compilers did not. As a result, automatic optimization has fallen behind manual optimization. Experienced users are effectively encouraged to mix FORTRAN77 syntax with later FORTRAN to achieve the desired performance.

10 FORTRAN2003 Has Too Many Subtleties The fine differentiation of things such as POINTER and ALLOCATABLE types can have enormous effect on the semantics and performance of a program, although the distinction is non-obvious, implementation dependent, and largely not understood by most FORTRAN programmers. Automatically typing variables based on the first character of its name can introduce difficult to find numerical errors and encourages obscure variable naming.