1996 年以来カリフォルニア州マウンテンビューに拠点を置くコンピューター歴史博物館には、仮想的に訪問して施設内に収められている歴史を振り返ることができる完全な Web サイトがあります。その内容から、私は次のフレーズを強調します。「ソフトウェアは、暗号的なコンピューター コード以上のものです。これは芸術形式であり、人間と機械の間の複雑な会話を可能にする、細心の注意を払って作られた文学です。」
現在、コンピューターやスマートフォンとの通信は、いくつかのアイコンを押したり、いくつかのメニューを開いたり、アクションのリストからオプションを選択したりするだけで簡単になりました。マウス、キーボード、タッチ スクリーン、さらには音声を使用して、あらゆるデバイスと通信できます。しかし、コンピューティングの黎明期には、コンピューターと通信するには、バイナリ コードでコマンドを表すパンチ カードを挿入する必要がありました。それが、最初のコンピューターで私たちを理解する唯一の方法でした。
したがって、プログラミングは、電子デバイスと通信する方法、またはさらに、誰もがそのデバイスと対話できるようにするために必要なツールを作成する方法です。そして、コンピューター歴史博物館自体が強調しているように、現在私たちが知っているような現代のプログラミングが始まったのはFortranでした。私たちは、後に登場する汎用言語への扉を開いた最初のコード言語であるアセンブラーの役割を損なうべきではありませんが、今日に至るまでの数十年間に私たちが見てきた言語の足跡は Fortran とともにありました。始まった。これはあなたの物語です。
自然なプログラミング言語
最もリクエストの多いプログラミング言語の TIOBE インデックスでは、Fortran が依然として存在しており、具体的には100 以上のインデックス付き言語中 29 位にあります。明らかに、王様は Java、C Python、その他のより現代的な言語ですが、Fortran のような原始的な言語がまだ生きているという事実は、すべてが急速に進歩し起こるコンピューティングの世界ではメリットがあります。
Fortran は 1954 年に誕生しました。その父は、IBM で働き、通常の数学表記に近いプログラミング言語の作成を提案したアメリカのコンピューター科学者、ジョン・バッカスに帰されます。 FORmula TRANslationの頭字語であるこの言語の当初の目的は、数式を当時のコンピューターが理解できるコードに簡単に変換することでした。
興味深いことに、バッカスは前年、IBM 701 コンピュータ用に開発されたSpeedcodingと呼ばれる別の同様の言語に取り組んでいました。また、IBM でのこれまでの仕事の中でも、 SSEC プロジェクト (Selective Sequence Electronic Calculator)での仕事が際立っています。月の位置を計算するプログラム。
Fortran に戻ると、その仕様は 1954 年に準備され、当初はIBM 704 マシンで実行されましたが、最初の Fortran マニュアルが発行され、最終的に 1957 年にロサンゼルスで開催された Western Joint Computer Conference で公開されたのは 2 年後のことでした。 。不思議なことに、誰もがすでに慣れ親しんでいたアセンブリ言語(1949 年) の代わりに、この新しい言語を採用することに当初は抵抗がありました。全体として、Fortran はプログラミング作業をより機敏にし、必要なコード行数を削減したため、普及するまでに時間はかかりませんでした。言うまでもなく、これは人間の言語をより自然な方法でプログラムできるようにした最初の高級言語でした。さらに、コンパイラの概念が導入され、これまで手作業で行われていたプログラム全体をさまざまなマシンに変換できるようになりました。
少し前に、 「BASIC、すべての読者にとっての最初の言語」というタイトルの記事で、BASIC 言語によって、以前はエンジニア、数学者、その他の技術専門職に限定されていたコンピューティングへのアクセスが誰でも民主化されたとお話しました。これは、70 年代に登場し始めたコンピューターであるマイクロコンピューターのレベルの話ですが、いわゆるマイクロコンピューターが登場する以前は、当時の大型コンピューターも少数の専門家に限定されていました。 Fortran を使用すると、誰でもプログラムの作成に必要なコマンドを学習し、それをコンピュータに与えて実行できるようになります。電子レンジをプログラミングするほど簡単ではありませんでしたが、進化における大きな飛躍でした。
基準
Fortran 言語を可能にした John Backus 率いるチームは、主にエンジニア、プログラマー、数学者で構成され、奇妙なことに暗号学者とチェスの専門家も含まれていました。後のインタビューで、チームのメンバーであるリチャード・ゴールドバーグは、「当時のハッカーは我々だった」とまで言った。
コンピューティングの歴史で初めて、機械とその絶え間ない進化がニュースの見出しを飾った数年間を経て、ソフトウェアが主役となりました。 Fortran は状況を変え、必要なコードがより短時間で記述され、そのような特殊なプロファイルを必要としないため、同じコンピューターでタスクをより効率的に実行できるようになりました。 Fortran の成功により、ジョン バッカスは 1975 年に米国国家科学メダルを受賞し、1977 年にはコンピュータ機械協会からチューリング賞を受賞しました。
しかし、進化が止まらない言語である Fortran に戻りましょう。 1954 年に作成され、1957 年に初めて発売されたとすると、1958 年には、サブルーチンや関数などを導入した元の言語の改良版であるFortran II が登場しました。並行して、同年に Fortran III が登場しましたが、商用化されることはありませんでした。このリストには、1961 年の IBM 1401 および Fortran IV 用の Fortran が続きます。つまり、数年のうちに同じプログラミング言語のいくつかのバージョンが生成され、それが非互換性やさまざまな問題を引き起こします。
その結果、米国規格協会は、生成された意味不明な内容に何らかの秩序をもたらすために Fortran を標準化することを検討しています。そこから、元の言語について言及すると、Fortran 標準が生まれました。ただし、Fortran II と Fortran IV をベースにしたFortran 66の優れた部分が組み込まれており、1966 年のその瞬間から、この言語を使用してプログラミングしたい人にとっての標準となります。 。
技術的な詳細には触れませんが、Fortran は新しいコマンド、コマンド、機能の導入によって長年にわたって改良され続け、1977 年にFortran 77が登場し、続いて Fortran 90、Fortran 95、Fortran 2003、Fortran 2008、そして最後に Fortran 2018 が登場しました。はい。これらのそれぞれの違い、変更、実装について知りたい場合は、The Home of Fortran Standards を参照してください。
Fortran の遺産
プログラミング言語の家系図を調べると、ほとんどの言語で Fortran が最初に登場し、他のすべてはそこから派生します。最も完全なものの 1 つは、IBM の 100 年に特化したページにあり、この間にコンピューティングがどのように進化したかに関する大量の資料が提供されています。
ある言語と他の言語の間に直接的な関係があるというわけではありませんが、これらの家系図では、言語は類似性と、ある言語が他の言語に与えた影響に基づいて関連付けられています。たとえば、Lisp (1958)、COBOL (1959)、ALGOL (1958) など、後に大きな進歩を遂げた言語が Fortran から出現しました。次に、これらから他のものが出現し、無限の枝が私たちの時代に到達しています。
この記事の冒頭で、Fortran は今も生きており、上位 30 のプログラミング言語の 1 つであると述べました。古代および現代のマニュアルの両方で、Fortran に関連する豊富な参考文献を見つけることができます。たとえば、インターネット上には、 Fortran Wikiなどの非常に完全なリソースがあり、Fortran、そのさまざまな標準、その他の関連情報について知っておくべきことすべてが説明されています。
参考資料一覧
- https://www.ibm.com/ibm/history/ibm100/mx/es/
- https://wg5-fortran.org/
- http://fortranwiki.org/fortran/show/HomePage
