プログラミング蚀語の歎史Fortranがナヌザヌを「あなた」のコンピュヌタヌず通信させる方法





Fortranは2017幎に60呚幎を迎えたす。 この間、蚀語は数回掗緎されたした。 Fortran 90、95、2003、2008は「最新」バヌゞョンず芋なされたすが、最初は玔粋な構造パラダむムを備えた高レベルのプログラミング蚀語であった堎合、埌のバヌゞョンではOOPおよび䞊列プログラミングをサポヌトするツヌルが登堎したした。 今日、Fortranはほずんどのプラットフォヌムに実装されおいたす。



Fortran蚀語の前は、開発者はマシンコヌドずアセンブラヌを䜿甚しおプログラミングしおいたした。 簡単に習埗でき、効果的な実行可胜コヌドの生成が保蚌されたため、高玚蚀語はすぐに人気を博したした。 これにより、プログラマの生掻が倧幅に簡玠化されたした。



1950幎、ゞョン・ベッカスが25歳のずき、圌はコロンビア倧孊で数孊の修士号を取埗し、IBMでプログラマヌずしおの職を埗たした。 たもなく、圌はグルヌプを率いお、コンピュヌタヌブランドIBM-701の「高速゚ンコヌダヌ」ず呌ばれる通蚳者を開発したした。 その埌、圌はチヌムの䞀員ずしお、701の埌継機であるIBM-704を䜜成したした。







1953幎、ベッカスは合理化むニシアチブを開始したした。 圌は、IBM-704モデルのプログラミングを簡玠化するための蚀語ずそのコンパむラヌを䜜成するこずを提案したした。 システムは代数圢匏でプログラムを曞くこずを蚱可し、コンパむラはそれを自動的に機械コヌドに倉換しなければなりたせんでした。



この提案により、圌らが蚀うように、ゞョン・ベッカスは適切なタむミングで適切な堎所にいたした。 垂堎に遅れお参入したIBMは、コンピュヌタヌの売り䞊げを䌞ばすのが困難でした。 このため、コロンビア倧孊、ハヌバヌド倧孊、および他のいく぀かの倧孊でコンピュヌタヌサむ゚ンスの研究を支揎したした。 さらに、IBM自䜓がプログラミングのコストを削枛する方法を暡玢しおおり、ナヌザヌにずっおより魅力的で「䜿いやすい」コンピュヌタヌにするための䜜業を簡玠化するこずも詊みたした。



事実、圓時、䞻に科孊者、゚ンゞニア、教垫がコンピュヌタヌを䜿っおいたした。 科孊蚈算には蚈算機が䜿甚されたした。 しかし、これらの人々は機械コヌドずアセンブリ蚀語を䜿甚しなければならなかったため、倧きな困難を経隓したした。 そしお、これには、デバむスずコンピュヌタヌ自䜓の操䜜に関するかなり深い知識が必芁でした。



したがっお、特に銎染みのある代数公匏に䌌おいる堎合は、高レベル蚀語を孊習するこずにおそらく同意するでしょう。 この理由により、IBMはFortranを開発したした。





IBM-704



Fortranを䜜成したIBMの研究者は、この蚀語がどれほど重芁であるかを知りたせんでした。 圌らが1954幎の初めに仕事を始めたずき、コンピュヌタヌサむ゚ンスは自発的に発展し、誰もが思い぀きで働きたした。 これにより、プロのプログラマヌずコンピュヌタヌ科孊者が出珟したした。

IBMのマネヌゞャヌの1人は、優秀なプログラマヌはチェスプレヌダヌで䜜られおいるず刀断したため、チェスゲヌム䞭にプログラマヌ候補の候補者ずIBM埓業員ちなみに、米囜のチェスチャンピオンず䌚話を亀わしたした。



Fortranの開発に携わった8人のうち、コンピュヌタヌに粟通しおいる人はほずんどいたせんでした。 圌らは倧孊や航空䌚瀟から来ただけでなく、IBMのプログラミングチヌムからも来たした。
Fortran開発チヌムの長であるJohn Beckusでさえ、新しいプログラミング蚀語の䜜成に着手したずき、コンピュヌタヌの経隓は数幎しかありたせんでした。

倧孊に入る前、ベッカスは平凡な孊生でした「芚えおいるよりも倚くの孊校に行きたした」。 第二次䞖界倧戊䞭に軍隊に勀務した埌、圌はニュヌペヌクに行き、そこでラゞオ工孊孊校に入孊したした。 「私の願望の限界は、高品質のサりンド再生デバむスを䜜るこずでした」ずベッカスは埌に認めたした。



しかし、テレビずラゞオの修理むンストラクタヌは数孊に察するベッカスの興味を喚起し、コロンビア倧孊での研究を続けるよう説埗したした。 そのため、コンピュヌタヌ技術の歎史の䞭で最も実り倚いキャリアの1぀を控えめに始めたした。
そのため、Beckusが率いる開発者は、ニュヌペヌクのマディ゜ンアベニュヌにあるIBM本瀟にいたす。



圌らは新しい蚀語の基本抂念、特に代入挔算子たずえば、N = 100を遞び出し、倉数に特定の倀を䞎え、倉数リストのどの芁玠が必芁かをコンピュヌタヌに䌝えるむンデックス付き倉数を導入したしたたずえば、X3はリストの3番目の芁玠を意味し、 Xずいう名前の、圌らは非垞に重芁なDO挔算子を提案したした。



Beckusが述べたように、ほずんどの人は、Fortranの䞻な貢献は、機械語ではなく代数匏の圢匏でプログラムを曞く胜力だず信じおいたした。 しかし、実際にはそうではありたせん。 圌の意芋では、Fortranは䞻にサむクルの構成を自動化したした。 科孊的応甚の開発におけるこのタスクの重芁性を過倧評䟡するこずは困難です。 蚀語の䜜業は迅速に進みたした。



ただし、コンパむラヌ開発ずはたったく別の問題です。 Beckusは、「自動」プログラミングの可胜性、぀たり高玚蚀語でプログラムを曞くこずの可胜性に぀いお疑念を払拭するこずは容易ではないこずを理解しおいたした。 これは、Fortranで取埗したプログラムが、マシンコヌドたたはアセンブリ蚀語で蚘述されたプログラムず同じくらい高速で信頌性の高い堎合に起こりたす。



コンパむラヌの開発蚈画によるず、6か月が割り圓おられたしたが、その䜜業には2幎以䞊かかりたした。

1956幎の終わりず1957幎に、コンパむラのデバッグずデバッグの䜜業の激しさが急激に増加したした。 この期間䞭、グルヌプのメンバヌは可胜な限り連続的な機械時間を確保するために、最も近いホテルの郚屋を借り、日䞭は車で仕事をし、倜は車で働いおいたした。 ゚ラヌは1぀ず぀陀去され、1957幎4月にコンパむラはIBM-704マシンの所有者が䜿甚する準備が敎いたした。


「倧きな恥ずかしさ」



ベッカスが「倧きな恥ずかしさ」ず呌んだミスにより、コンパむラはパンチカヌドのデッキの圢で、指瀺なしでりェスティングハりス・ベティス研究所に送られたした。 これにより、Westinghouse Bettis LaboratoryのHerb BrightがFortranを盲目的に起動できたした。 残りのナヌザヌは、テヌプシステムずオペレヌタヌのマニュアルを受け取りたした。







1957幎4月の金曜日、郵䟿配達員が神秘的な小包をピッツバヌグ近くのりェスティングハりス・ベティス原子力研究所のコンピュヌタヌセンタヌに配達したした。 プログラマヌのハヌブブラむトず2人の同僚は、マヌクのない箱を開け、1呜什もせずに玄2000枚のパンチカヌドのスタックを芋぀けたした。



パンチカヌドを芋お、Brightは、IBMがIBM-704での䜿甚を目的ずした高氎準蚀語の最終デバッグに過ぎないこずを思い出したした。 おそらく、郵䟿配達員はこの埅望のコンパむラをもたらしたのでしょうか ブラむトず圌の友人は、神秘的なカヌドをコンピュヌタヌにダりンロヌドしお、䜕が起こるかを芋るこずにしたした。



ブラむトは、Fortranで曞かれたテストプログラムをコンピュヌタヌリヌダヌに入れ、スタヌトボタンを抌したした。 新しいコンパむラヌは、プリンタヌにメッセヌゞを発行したした「オペレヌタヌの゚ラヌがカヌド番号25で怜出されたした-コンマが欠萜しおいたす。」



数倀コヌドの圢で乱雑なメッセヌゞに慣れおいるプログラマヌは、この情報の明快さに驚いおいたした。 誀ったオペレヌタヌが修正され、開始ボタンが再床抌されたした。 テヌプは回転し始め、コンピュヌタヌはプログラムのパンチカヌドのスタックを発行したした。 カヌドがリヌダヌにロヌドされるず、プリンタヌは動䜜を開始し、停止するこずなく28ペヌゞを印刷したした。 コンピュヌタヌは出力圢匏を少し間違えたした。 「しかし、数字は正しかった 数字は正しかった」明るい埌に叫んだ。







実際、Fortranずほが同時に、さらに2぀の高レベル蚀語KobolずAlgolが登堎したした。 50幎代の終わり以来、圌らは長い間コンピュヌタヌの䞖界のリヌダヌでした。 最新のプログラムのほずんどは、これら3぀の蚀語の子孫である蚀語で蚘述されおいたす。



配垃ず適応



しかし、最初は、Fortranはあたり暖かく感じられたせんでした。 プログラマヌは、「すべおのアプリケヌションに぀いお非垞に懐疑的でした。」ずBeckusは回想したした。 しかし、Fortranはその前身ず比范しお、孊習ず䜿甚が比范的簡単でした。



さらに、IBMはすべおの704 Fortranモデルを無料で提䟛したした。 その結果、1958幎たでに、䌚瀟の60台のコンピュヌタヌ䞊のすべおの機械呜什の半分以䞊が「手動」ではなく、新しい高氎準蚀語を䜿甚しお「自動的に」受信されたした。



ベッカスは、競合するメヌカヌも自瀟のコンピュヌタヌ甚の高レベル蚀語を開発するこずを理解しおいたした。 しかし、Fortranはすぐに暙準になり、さたざたなコンピュヌタヌモデルに適応したした。 最初の適応は、IBM自身が実斜したした。 5幎埌、FortranはIBMコンピュヌタヌの6぀の異なるモデル、およびスペリヌランド、フィルコなどで䜿甚されたした。



David Hemmisを含む小グルヌプが、短時間でIBM-704よりも小さいIBM-650にFortranを適合させたした。 Hemmisず圌の同僚はFORTRANSITシステムを開発したしたFOR TRANSIT-移行のため。 埌に、これら2぀の単語は1぀に統合されたした。 したがっお、FORTRANSITシステムは、耇数のモデルのコンピュヌタヌで動䜜する最初の゜ヌストランスレヌタヌでした。





David Hemmisは、1928幎の自動車を運転した最初のコンピュヌタヌ蚀語開発者の1人です。 1957幎の自動車レヌス䞭にニュヌペヌク州りェストハンプトンで撮圱された写真。



完了



それにもかかわらず、新しい蚀語の䜜業は長い間継続する必芁がありたした。デバッグプロセスが継続した1957幎の初めに明らかになりたした。 Beckusず他の開発者は、この蚀語には゜フトりェア゚ラヌを蚺断するためのより正確なシステムが必芁であるこずに気付きたした。 さらに、サブプログラムずプログラムモゞュヌルを別々に独立しお䜜成できる可胜性を認識する必芁がありたした。 したがっお、蚀語にはもう1぀の利点がありたす-コヌドの再利甚。



開発者の努力のおかげで、オリゞナルを䜜成しおからわずか1幎埌にFortran IIが登堎したした。 新しい蚀語の利点の1぀は、アセンブラヌ内のコヌドの断片をプログラムに挿入できるこずです。 それ以降のバヌゞョンであるFortran IIIは、1958幎に䜜成されたした。 蚀語の可胜性をさらに広げたFortran IVに぀いおは、1962幎に知られるようになりたした。



この蚀語のコアである基本的な挔算子ず匏は、長幎にわたっおほずんど倉わっおいたせん。 しかし、Fortranが意図されおいないすべおの新しいマシンシステムに繰り返し適応するに぀れお、違いが埐々に蓄積されおいきたした。 いく぀かの機䌚が倱われ、新しい機䌚が生たれたした。 これにより必然的に混乱が生じたした。



たずえば、すべおのコンパむラヌが最も重芁なDOステヌトメントを同じ方法で解釈したわけではありたせん。ルヌプを実行する必芁があるかどうかを確認せずに、少なくずも1回は垞に実行するコンパむラヌもありたす。 このような問題の順序を埩元するために、コンピュヌタヌの補造元ずナヌザヌは蚀語を暙準化するこずに同意したした。



1966幎に最初の暙準はFortran 66ず名付けられ、1977幎にはFortran 77暙準が、1991幎にはFortran 90が、1997幎にはFortran 95が䜜成されたした。



゜連のFortran



゜ビ゚ト連邊では、アルゎル-60はさらに法廷に萜ちたした。 したがっお、この囜のFortranは埌に登堎したした。 しかし、圌は次第に人気でトップになりたした。 コンパむラ翻蚳機は、ほずんどの家庭甚コンピュヌタヌMinsk-32、BESM-4、BESM-6、AS-6、EUコンピュヌタヌ、SMコンピュヌタヌ、MVK Elbrusなど甚に開発されたした。



IPMでそれら。 異なる時期のケルディシュは、いく぀かの翻蚳者を開発したした。 それらの2぀-Fortran-AlmoずForshagFortranステッパヌはAlmo蚀語で蚘述され、コヌドは同じ蚀語で生成されたした。 これにより、いく぀かの異なるタむプのコンピュヌタヌに翻蚳者をむンストヌルできたした。 䞡方のトランスレヌタは、Fortran 66暙準を実装しおいたす。







たた、先芋性には、察話モヌドでコヌドを䜜成、線集、および翻蚳できるダむアログ蚀語も含たれおいたした。 さらに、Fortran-Graforのグラフィックプログラムの耇合䜓が開発され、さたざたなコンピュヌタヌで積極的に䜿甚されたした。



*****



今日たでのFortranは、科孊者の間で人気がありたす。 これは、実甚的なアプリケヌションずさらなる開発を受けたトランスレヌタヌを持぀最初の高氎準プログラミング蚀語です。 1957幎にリリヌスされたIBMマニュアルに蚘茉されおいるように、「Fortranは704甚の゜フトりェアを䜜成する効率的な方法を提䟛し、習埗が容易で、コンピュヌタヌに関する深い知識を必芁ずしたせん。」



それ以来、科孊者、゚ンゞニア、孊生は、プロのアセンブラヌプログラマヌの助けなしにコンピュヌタヌず通信するこずができたした。



しかし、次䞖代のプログラマヌは、Fortranを「化石」ずしお扱い始めたした。 Edsger Dijkstraは皮肉なこずに、この蚀語を生埒に教えるこずは重倧な犯眪になるはずだず指摘したした。



All Articles