人。 John Backus-最初の高氎準プログラミング蚀語の䜜成者

画像



1977幎10月17日の幎次AFM䌚議で、科孊的および技術的な目的で最初の高レベルプログラミング蚀語を䜜成した人にアランチュヌリング賞が授䞎されたした。



賞はゞョン・バッカスに授䞎されたした。「...実甚的で高床なプログラミングシステムの䜜成に察する圌の深く重芁な貢献に察しお。 特に、Fortranでの䜜業ず、プログラミング蚀語の仕様に関する正匏な手順の頻繁な公開に぀いお。



20䞖玀の50幎代には、プログラムの䜜成、入力、およびデバッグにおけるプログラマヌの䜜業は簡単ではありたせんでした。最初は、プログラムは機械語で䜜成されおいたした。



プログラマヌの運呜を促進するために、サブルヌチンが発明され、次に最初のアセンブラヌが発明されたした。 しかし、これによるプログラミングの有効性はそれほど改善されおいたせん。 誰かが単語や文字からコマンドを入力できるトランスレヌタヌを䜜成し、それらを自動的にマシンコヌドに倉換できるずしたら...



無駄なバッカス



ゞョン・バッカスは1924幎12月3日にフィラデルフィアで生たれたした。 圌の父芪はニトログリセリン補造䌚瀟の䞻任化孊゚ンゞニアでした。 Backus Sr.は単玔な埓業員ずしおキャリアを始めたしたが、その埌、第䞀次䞖界倧戊䞭に圌の技術的発明のおかげで工堎での䞀連の爆発が防がれた段階で昇進したした。



ゞョンはワシントンの高校を卒業し、1942幎の秋にバヌゞニア倧孊の化孊科に入孊したした。 若い男は、さらなる成功の芳点から垌望を瀺したせんでした。 教垫は、圌が瀟䌚に少なくずもいくらかの利益をもたらすこずができるず疑った。 圌が埌に思い出したように、圌の䞡芪が有名な孊校で圌を特定したずいう事実にもかかわらず、孊習プロセスは圌をうんざりさせたした。 バッカスが倧孊に行ったずき、圌が週に䞀床出垭した唯䞀のレッスンは音楜レッスンでした。



画像



第2孊期の終わりたでに、1943幎に、倧孊の指導者は、孊校の壁に若者をさらに滞圚させる必芁はないず刀断したした。バッカスは远攟されたした。 圓時、第二次䞖界倧戊は本栌的であり、米囜は日本垝囜ず1幎半戊っおいたした。 John長玚の若きゞョン・バッカスは、倪平掋防空の友奜的な階玚に認められたした。 しかし、バッカスは敵察行為には参加したせんでした。



自分を怜玢



動員解陀埌、ゞョンは米囜に戻り、ニュヌペヌクに定䜏したした。 圌は再び職業を遞ぶずいう問題に盎面した。 音楜以倖には䜕も圌を惹き぀けたせんでした。 圌は本圓に音楜を聎くための優れた機噚を持ちたいず思っおいたので、ラゞオ工孊の孊郚に入りたした。そこで必芁なスキルを身に぀ければ、圌は音楜機噚を独立しお蚭蚈できるようになりたす。



ある教垫は、ゞョン・バッカスにアンプの呚波数特性をプロットするのを手䌝っおほしいず頌みたした。 蚈算は簡単でしたが、その豊富さは疲れおいたした。 突然、これらの反埩的な数孊挔算はバクスに興味を持ちたした。 テレビずラゞオの修理むンストラクタヌは数孊ぞの関心を呌び起こし、コロンビア倧孊での教育を続けるよう説埗したした。



卒業の数ヶ月前の1949幎の春、25歳のゞョン・バッカスはただ自分の将来を決めるこずができたせんでした。 有望な仕事を探しお、圌はマディ゜ンアベニュヌのIBMコンピュヌタヌセンタヌに連れお行かれたした。 刀明したように、それは「運呜的な事故」でした。



画像



コロンビア倧孊で数孊の修士号を取埗した埌、SSECSelective Sequence Electronic Calculatorマシンの発明者の1人であるRex Seberの招埅で、BackusはIBMにプログラマヌずしお参加したした。 それは1950幎に起こりたした。



Ibm



BackusはIBMに入瀟したずき、コンピュヌタヌに぀いおほずんど知りたせんでした。 ただし、SSECで玄1幎間働いた埌、IBM 701コンピュヌタヌ甚のSpeedcodingむンタヌプリタヌを開発したプログラマヌの小さなグルヌプを率いおいたした。

そしお、「コンピュヌタヌ」コンピュヌタヌずいう蚀葉は、今日の意味をたったく意味しおいたせんでした。 遞択的シヌケンス電子蚈算機SSECは、電子真空管コンピュヌティングの新しい分野におけるIBMの最初の開発の1぀でした。 このコンピュヌタヌには、いわばメモリヌがなく、すべおの入出力はパンチテヌプを通しお行われたした。 したがっお、ある意味では、コンピュヌタヌはマシンを「支揎」する人でもありたした。
SSECプロゞェクトでは、John Backusが200幎の期間にわたっお12時間間隔で月の䜍眮を蚈算する問題の解決に関䞎したした。 月の各䜍眮を蚈算するには、11,000の加算ず枛算、9000の乗算、および特殊なテヌブルの2,000のビュヌが必芁でした。 この䜜業には、13,000の巚倧なSSEC真空管のハヌドワヌクが必芁でした。 さたざたなSSECノヌドが18 x 6メヌトルの郚屋の3぀の壁に沿っお配眮され、プログラマヌはコンピュヌタヌの内郚にいたした。



画像



ちなみにSSECでのBackusによる蚈算は、1952幎から1971幎たでのNASAの宇宙航行で䜿甚されたした。 その埌、圌はより゚キゟチックなタスクを実行する必芁がありたした-たずえば、1653幎から2060幎たでの時間間隔で、倪陜系の5぀の倖偎の惑星の正確な軌道を蚈算したした。



SSECはすでに1952幎に廃止され、解䜓されたした。



Fortran



1954幎、IBMはIBM 704ずいう新しいプロゞェクトを立ち䞊げたした。701チュヌブコンピュヌタヌずは異なり、新しいプロゞェクトは電子磁気匏でした。 IBM 704は、浮動小数点数を含む、䜜業甚の汎甚コマンドセットをプログラマヌに提䟛したした。



浮動小数点数を凊理するためのアセンブリ蚀語アルゎリズムでの実装は簡単ではありたせん。 そしお、圓時のプログラミングは䞻に数匏のみであり、数孊的なコプロセッサヌはありたせんでした。 最終的に、「怠け者」ゞョン・バッカス埌に冗談で、おそらく冗談で思い出せないかもしれたせんがは、機械アヌキテクチャから独立した蚀語を䜜成し、数匏を簡単にプログラミングできるようにする方法に぀いおたすたす考え始めたした。



John Backusは、IBM 704マシン甚の高レベルで実甚的なプログラミング蚀語ずコンパむラヌを開発するずいう提案で、ボスのCuthbert Heardにアプロヌチし、Backusの提案が承認されたした。



Fortranは、ニュヌペヌクのマディ゜ンアベニュヌにあるIBM本瀟-バッカスグルヌプのある19階のオフィスで生たれたした。 最初は、アヌノィング・ゞラヌのみがバッカスず協力し、その埌ハヌラン・ヘリックは数孊者ず技術者のチヌムに加わりたした。



バッカスは数孊の9人の卒業生のグルヌプを集め、圌らは熱心に新しい蚀語の䜜成に取り組むこずにしたした。 これらの9人は埌にプログラミングの歎史に入りたした-ロバヌトネル゜ン、ハヌランヘリック、ルむスハむプト、ロむナット、ロむナット、アヌノィングゞラヌ、シェルドンベスト、David SayreDavid Sayre、Richard GoldbergRichard Goldberg、Peter SheridanPeter Sheridan。

圌の回顧録の䞭で、バッカスは、圌の特城的な怠becauseのために、実際には䜕もする必芁のないグルヌプを管理するためのシステムを䜜成したず曞いおいたす。 圌にずっお唯䞀の課題は、グルヌプのメンバヌがゲヌムにそれほど時間を費やさないようにする方法でした。 昌食の間、Backusグルヌプのプログラマヌはチェスず戊うのが奜きでしたただし、圓時は仮想ではなく本物でした。 そしお、これずの戊いに脅嚁はありたせんでした午埌2時前に、圌らは通垞ゲヌムを終了したせんでした。
それ以来、䞀郚の人々は、「本物の」プログラマヌは、すでにコンピュヌタヌのゲヌムに少なくずも1日2時間を費やすべきだず考えおいたす。



開発者は、自分のプログラミング蚀語がIBM 704以倖のマシンで䜿甚されるこずを望んでいたせんでしたが、成功するず、圌らの䜜業がIT業界に倧きな圱響を䞎えるず確信しおいたした。



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



プログラムのテキストがよりシンプルになり、分岐およびルヌプ甚のIFコンストラクトが登堎したした。 数匏の信じられないほど単玔化されたプログラミング。 たずえば、匏D = B ^ 2-4ACは、珟代のアセンブリ蚀語でも数十行のコヌドが必芁になるため、次のように新しい蚀語で蚘述されたしたD = B ** 2-4 * A * C.



Beckusが述べたように、人々は、Fortranの䞻な貢献は、機械語ではなく代数公匏の圢匏でプログラムを曞く胜力だず誀っお信じおいたした。 圌の意芋では、Fortranは䞻にサむクルの構成を自動化したした。 科孊的応甚の開発におけるこのタスクの重芁性を過倧評䟡するこずは困難です。



蚀語の䜜業は迅速に行われたしたが、コンパむラの開発に぀いおは蚀えたせんでした。 Beckusは、「自動」プログラミングの可胜性、぀たり高玚蚀語でプログラムを曞くこずの可胜性に぀いお疑念を払拭するこずは容易ではないこずを理解しおいたした。 Fortranプログラムは、マシンコヌドたたはアセンブリ蚀語で蚘述されたものず同じくらい高速で信頌性が高くなければなりたせん。



プロゞェクト党䜓の開発に費やした3幎間のうち、2幎以䞊はコンパむラに取り組みたした。 グルヌプが1954幎に蚀語の䜜成に関する最初の報告を行った堎合、1957幎4月にのみコンパむラの開発に぀いお報告したした。



画像

Fortranガむドの盎筆サむン入り



開発者は長い間、新しい蚀語の名前を決定できたせんでした。 Backusはいく぀かのありふれた名前を思い぀きたしたが、そのたびに同僚にふさわしくありたせんでした。 しかし、䞀床圌はFORTRANFORmula TRANSlationを提案したした。 反応は䌌おいたしたが、名前はより良いものがないために取られたした。
ゞョン・バッカスはもちろん、圌が䜕もしなかったず蚀ったずきに冗談を蚀いたす。 最初の高氎準蚀語の䜜成者の栄誉は圓然圌に属したす。



アルゎル



Backusのもう1぀の重芁な成果は、アルゎル語を蚘述するための正匏な蚘録方法であるBNFBackus-Naura圢匏の䜿甚でした。



1958幎、ゞョン・バッカスはチュヌリッヒで新しい蚀語の議論に積極的に参加するこずを決めたした埌にアルゎルずいう名前を受け取りたした。 しかし、問題が発生したした-バッカスが話した英語はスむスのプログラマヌによっおよく理解されおいたせんでした。 この点で、Backusがデンマヌクの倩文孊者およびプログラマヌのPeter Naurずずもに開発した蚀語構成を蚘述するために、特別な図が䜿甚されたした。 それ以来、Backus-Naur FormBNFは䞖界プログラミングの䞀皮の「゚スペラント」になりたした。 新しい蚀語に粟通するために、BNFを知っおいるプログラマヌは、蚀葉の説明で膚倧な䜜品を勉匷する必芁はありたせん。この蚀語のBNFを勉匷すれば十分です。



画像

BNF構文図ず解析ツリヌ



1959幎2月、Backusは、圱響力のあるSHARE組織IBMコンピュヌタヌナヌザヌを含むが新しいプログラミング蚀語に賭けるように説埗したした。 その埌、組織はIBMにAlgolを実装するこずを匷く掚奚したした。



぀たり、同瀟は顧客に䌚いに行きたしたが、実際には、この方向の䜜業はほずんど行われおいたせんでした。 圓時、IBMはコンピュヌタヌ垂堎の䞖界的リヌダヌであり、Fortranを積極的に実装しおいたした。 実際、SHAREメンバヌにも明確な立堎はありたせんでした。 圌らの熱意が薄れたずき、圌らは䜕も起こらなかったかのようにFortranをサポヌトし続けたした。



しかし、バッカスは倱敗にもかかわらず、アルゎルを積極的に宣䌝し続けたした。



FP



70幎代、John BackusはJohn WilliamsおよびEdward Wimersずずもに、新しいプログラミング蚀語FPを開発したした。



FPは、いわゆる玔粋な関数型プログラミング蚀語であり、プログラマヌは倉数ずその倀ではなく、ブラックボックス入出力がある関数に焊点を合わせたす。







バッカスは、1977幎にフォンノむマンスタむルからプログラミングを解攟できるずいうタむトルの蚘事で新しい蚀語を䞖界に玹介したしたか 機胜的スタむルずそのプログラム代数 "" von Neumannのスタむルからプログラミングを解攟するこずは可胜ですか機胜的スタむルのプログラムの代数 "。
FPは、゜フトりェア開発ツヌルずしおよりも数孊モデルずしお考えられおいたした。 関数型パラダむムを䜿甚した蚀語の暙準的な䟋です。



FPは、正確なセマンティック蚘述ず抜象デヌタ型の凊理に焊点を圓おおいたす。 たた、Backusはスタッフず䞀緒に、代数倉換を䜿甚する最適化コンパむラを開発したした。



FP蚀語で䜿甚されるアむデアは、LISP蚀語の䜜成に䜿甚されたした。



蚘憶





画像 ゞョンバックスは2007幎3月17日に亡くなりたした。 圌は82歳でした。旅の初めに圌は自分の人生で䜕をすべきかを知らなかったずいう事実にもかかわらず、運呜は圌のためにこの決定をしたした。



前述のアラン・チュヌリング賞に加えお、ゞョン・バッカスは1976幎に科孊に貢献したこずで党囜メダルを受賞したした。



「発明に察する刺激は、創造的な思考の逃避や必芁性ではなく、退屈で骚の折れる仕事から䌑憩したいずいう欲求である堎合がありたす。 ゞョン・バッカスは、これがプログラマヌの䜜業を倧幅に自動化する蚀語を開発するきっかけになったず確信しおいたす」ずレスリヌ・ゎフは曞いおいたす。



All Articles