Andrey TerekhovFortranからPythonぞ





この秋、マトメックサンクトペテルブルク州立倧孊のシステムプログラミング孊郚長であり、物理数孊博士であるアンドレむテレホフは、人気のあるプログラミング蚀語の歎史ずそれらのUSSRぞの浞透に぀いお同僚に話したした。Andrei Nikolaevichず䞀緒に、圌の講矩に基づいお、さたざたな蚀語がどのように鉄のカヌテンを暪切ったか、それらがどのようにさたざたなアヌキテクチャに翻蚳されたか、それらのいく぀かがどのように流行したかに぀いおの資料を準備したした。䞀般的な傟向ず個人的な印象-問題の歎史の䞀般的な考えを知りたいすべおの人のために。



芋たり聞いたりしたい方のために、レクチャヌのビデオをここに掲茉しおいたす。



コヌドでのプログラミング



最初の真の電子機噚はElectronicNumerical Integrator and Computerず呌ばれ、1946幎にアメリカ人によっお補造されたした。このようなコンピュヌタヌの䞭心にあるのはトリガヌであり、1918幎にPetrograd Mikhail AleksandrovichBonch-Bruevichの居䜏者によっお発明されたした。ポポフずは異なり、圌は発明の暩利を確保するこずさえできたした。サヌキット自䜓はかなり有名でした。軍甚電子機噚゚ンゞニアである私の父は、戊前にこ​​れらのトリガヌを䜿甚しおいたした。



すでに1949幎に、゜ビ゚トの゚ンゞニアSergei AlekseevichLebedevがキ゚フでMESMマシンを補造したした。キ゚フはほが完党に砎壊されたが、圌はアメリカ人からわずか3幎遅れおいた。レベデフはフェオファニダの町に建物を䞎えられたした-それからそれはただ郜垂から30キロ離れおいたした-戊前には粟神病院がありたした。しかし、その埌、他の建物はありたせんでした。





珟圚は地区であり、1950幎代にセルゲむレベデフが働いおいたキ゚フの郊倖にあるFeofaniyaの建物



。これらの最初のコンピュヌタヌのために、人々はバむナリコヌドで曞きたした。プログラムが次のようになっおいるずしたしょう01100101110。01が远加コヌドであるずしたす。次に、ここに次のように曞かれおいたす。アドレス100の単語ずアドレス101の単語を远加し、結果をアドレス110に曞き蟌みたす。䞀般に、すべおが明確ですが、コヌドでプログラミングを芋぀けた人ずしお、これはひどく䞍䟿だず蚀いたす。 ..。はい、あなた自身はおそらくこれを理解しおいたす。



1964幎から1966幎たで、私はレニングラヌドで最も有名なスモルニヌ近くの第157数孊孊校で孊びたした。これは、RONOではなく、教育科孊アカデミヌに埓属しおいたす。そこには2人の「Ural-1」ず2人の女の子がいたした-それらをプログラムする方法を知らなかったが、これらの車を修理するこずができた技術者。私自身も最初にそれらを修埩する方法を孊ばなければなりたせんでしたが、それから私たちは䜕かを数えた地質孊者にずっおさえ、りラルで倚くの有甚なプログラムを曞きたした。



コヌドの䞻なプログラミングの問題は「010203」ではありたせん-芚えやすいです。ただし、䜜業のロゞックに埓っお2぀のセルの間に䜕かを挿入しお、䞀郚の配列を同期させる必芁がある堎合は、この挿入の䞋にあるすべおのアドレスがクロヌルしたす。すべおを曞き盎さなければならず、最も重芁なのは、補充する必芁がありたす。



35 mmのフィルムにプログラムを詰め蟌み、ルヌプが必芁な堎合はリングに接着したした。プログラムに入りたす-鉛筆でチェックサムを曞き留めたす。もう䞀床入力したす。チェックサムが䞀臎する堎合、すべおが正しいです。䞀臎しない堎合は、3回目に入力し、以䞋同様にドロップするたで入力したす。



それはずおも䞍䟿だったので、人々はすぐに象城的な代替品を思い぀いた。 01の代わりに、蚘号「+」だけを曞くこずが可胜になり、アドレスの代わりに-a、b、たたはcを曞くこずが可胜になりたした。それはアセンブリ蚀語であり、非垞に単玔なトランスレヌタを䜿甚しお、プログラムをマシンコヌドに倉換できたした。 2぀のビュヌが必芁でした。最初のビュヌでは、すべおの識別子ずそのアドレスのテヌブルを䜜成し、2番目のビュヌでは、識別子をアドレスに眮き換えたす。それだけです。



( ). 101? ? . 102? . , , .





1957幎にFORMulaTRANslator蚀語を発明したアメリカ人のゞョン・バックスは、真の革呜を起こしたした。圌が働いおいたIBMは、䞀般的に、パンチカヌドなど、倚くのこずを思い぀いた。Fortranは匏を曞くこずを可胜にし、最初のトランスレヌタはそれから䜜成されたした。これは、アセンブリ蚀語のトランスレヌタよりもはるかに耇雑です。぀たり、人々は通垞のアルゎリズム蚀語で通垞のプログラムを曞くこずができたした。





John Backusは、圌の怜玢における䞻な動機は、怠惰ずプログラム䜜成プロセスを簡玠化したいずいう願望であったこずを認めたした。写真-IBMの䌁業誌Thinkの衚玙のBackus



皮肉なこずに、Fortranは今日でも人気があり、特に䜕幎も経っおも他に䜕も必芁ないず信じおいる物理孊者や゚ンゞニアに人気がありたす。膚倧な数の暙準プログラムが蓄積されおいたす-巚倧なラむブラリ。



しかし、い぀ものように、いく぀かの重倧な間違いがありたした。最も高䟡なのは半䞖玀以䞊前のこずです。ある゚ンゞニアがこのプログラムを䜜成したした

。DO3I= 1.4



これはサむクルです。マヌク3たでの挔算子は、Iが1、2、3、4に等しい状態で実行する必芁がありたす。しかし、アメリカ人は間違いを犯し、1ず4の間のコンマの代わりに完党に停止したした。 Fortranでは、必須の説明がないため、゚ラヌは芋぀かりたせんでした。その結果、金星ぞの宇宙飛行は䞭断されたした。



ロモノ゜フでさえ、金星の呚りに非垞に密集した雰囲気があるこずを発芋したしたが、誰も惑星の衚面を芋たせんでした。アメリカ人は重芁な任務を持っおロケットを送りたしたそれは金星に飛んで、数回転し、そしお倧気の䞋に飛び蟌んで衚面を写真に撮るこずになっおいたのです。ロケットは3ヶ月間飛んで飛んだ。私がダむビングしたずき、カメラのフラップは開かなかった。なぜなら、それを開くのはこれらのラむンが原因だったからだ。䜕十億ドルものお金が文字通り空䞭に飛びたした。スキャンダルは信じられないほどで、間違いを犯した人が芋぀かりたした。 60〜70億は、金持ちのアメリカ人にずっおさえ目に芋える損倱です。しかし、ドキュメントにはすべおの可胜な䞊叞の眲名があったため、このプログラマヌは怪我をしたせんでした。長い詊行の結果、Fortranがすべおの責任を負うこずになりたした。蚀語を決定するためのルヌルは、非垞に䞍䟿で信頌性が䜎いこずが刀明したした。



1970幎代半ばに、Algol 68から最初の翻蚳者を䜜成し、すべおの人を叀い蚀語からそれに翻蚳したした。特に、93番目のボックスが転送されたした-珟圚はラゞオナビゲヌションず正確な時間の研究所です。





レニングラヌドリサヌチラゞオ゚ンゞニアリングむンスティテュヌトロシアラゞオナビゲヌションアンドタむムむンスティテュヌトの建物は珟圚、ロッシダ銀行の事務所を収容しおいたす。



以前はスモルニヌの向かいの巚倧な黄色い建物にありたしたが、珟圚は銀行があり、研究所は垂の郊倖に远い出されおいたす。その埌、数十のプログラムをFortranからAlgol 68に転送し、垞に4回勝ちたした。最高の翻蚳者を犠牲にしお2回勝たなければならなかったので、それはある皮の詐欺だず思いたした。なぜ私たちは4で勝぀のですか理解したした。私たちは人々にAlgol68を教えたした-私は講矩をしたした、私の孊生LehaRokhlinは緎習しおいたした。そしおFortranでは、圌らは足を持った鶏のように曞いた。



ある時、予備軍の゜ビ゚ト軍の少䜐である私の元孊生、アンドレむ・セルゲ゚ビッチ・アガポフは私に電話をかけたした。"。数十のプログラムがうたくいったので、私は答えたす「私は気にしたせん、それは起こりたす」。圌「いいえ、これは射撃の座暙を決定するレヌダヌの制埡です。プログラムの゚ラヌが原因でロケットが間違った方向に飛んだ堎合、誰にずっおも十分ではないように思われたす。」私は理解し始めたした。結局のずころ、ALGOL68は新しい翻蚳者に嘘を぀いおいるず思いたした。私はすべおをチェックしたした-それは嘘ではありたせん。私はアセンブラヌ補品を読み始めたした-いいえ、それは嘘ではありたせん。それから私はFortranプログラムを泚意深く読み始めたした。䜕も芋぀かりたせんでした。すでに残忍で、1ヶ月を過ごしたした。私はFortranのアセンブラヌプロダクションを読み始めたしたが、それはばかげおいたす。芋぀かりたした芋お。



それは曞かれたした

X = 9.3。

しかし、Xは2倍で、9.3は短かった。その結果、2぀のチヌムが誕生したした。

LE 0、= E '9.3'

STD 0、X。

ESコンピュヌタには、そのようなマシン、IBM360のコピヌ64ビットワヌドがありたした。そしお今、LEコマンドはレゞスタヌの巊半分にのみロヌドされ、右半分にゎミが残っおいたす。そしお、STDコマンドはレゞスタ党䜓をダンプしたした。プロセスの状態が悪い、぀たり入力デヌタのわずかな倉化が結果に匷く圱響したため、11分のCPU時間埌の回答は4倍に分岐したした。ここにさらに6぀のれロを曞き蟌む

必芁があった

こずがわかりたした。X= 9.3000000この゚ラヌを芋぀けお、40幎前でしたが、残りの人生でそれを芚えおいたした。




「友奜的なシステム」ずいう抂念があり、「友奜的でない」ずいう抂念がありたす。これは、友奜的でないシステムの兞型的な䟋です。



たたは、すべおの生埒が苊しんでいる簡単な䟋です。

X = 1/3

普通の人なら誰でも0.33になるず思いたす。むチゞクれロになりたす。2぀の敎数。これは、敎数分割があるこずを意味したす。たた、0.33を取埗する堎合は、

X = 1. / 3の2぀のドットを配眮したす。

䞀箇所で十分であれば、それは正しいでしょう。しかし、繰り返したすが、誰が気付くでしょうか



アルゎヌル60



Fortranはすべおの臎呜的な眪で有眪ずされ、人々は新しいプログラミング蚀語を発明し始めたした。ペヌロッパ人はAlgol60を思い぀いた。数字でいたずらもいく぀かある圌らは1958幎にそれを思い぀いた-Fortranの1幎埌。しかし、それは非垞に䞍噚甚で悪かったので、蚀語は1960幎にのみIFIP囜際情報凊理連盟䌚議で改蚂され受け入れられ始めたした-それ故にその名前です。しかし、䜜業は継続され、1964幎にAlgol60に関する改蚂されたメッセヌゞが発行されたした。私たちは6幎間それに取り組みたした。この図を芚えおおいおください、それはさらに数回遭遇するでしょう。蚀語の初期バヌゞョンを完成させるには6幎かかりたす。



Algol 60からのUSSRの最初の翻蚳者は、Svyatoslav Sergeevich Lavrovの指導の䞋、Korolev Centerこれは宇宙研究所、珟圚はNPO Energiaで䜜られたした。圌は、1972幎からコンピュヌタヌ゜フトりェア郚門の責任者になり、珟圚はそこで働いおいたす。





Svyatoslav Lavrov、1987幎。孊者Andrei Ershovのアヌカむブからの写真。Lavrov



は倖郚匟道郚門の責任者でした。圌は最初の衛星の軌道、ガガヌリンの軌道を蚈算した人物でした。圌は、コンピュヌタヌが登堎する前の時代、数癟人の女性が䞞䞀日かけおマシンの远加を回転させ、䜕かを数えたずきの様子を語りたした。Lavrovは最初のコンピュヌタヌに぀いおどこかで聞いたので、それらに興味を持ち、倢䞭になり、最終的に倖郚の匟道をプログラミングに倉曎しお、最初の翻蚳者になりたした。その埌、NovosibirskでAndrey PetrovichErshovが最適化トランスレヌタ「Alpha」を䜜成したした。圌らは、アメリカ人でさえそれを最高の最適化翻蚳者ずしお認めたず蚀いたす。その埌、モスクワで、圌らは完党なAlgol 60からTA2を䜜成したしたが、その瞬間たでに、その愚かな機胜を備えた完党なAlgol60は誰も必芁ずしたせんでした。私の知る限り、TA2は䜿甚されたこずがなく、LavrovskyTA1Mトランスレヌタに長幎取り組んでいたした。マットテックには2台のM20マシンがあり、埌に「シグナル」ず呌ばれるTA1Mが装備されおいたした。



PL / 1



Algol 60がペヌロッパに登堎したずき、アメリカ人は困惑し、PL / Iプログラミング蚀語Iを䜜りたした。ひどい蚀葉他のタむプぞの䜕癟もの自動タむプ倉換。圌らが蚀ったように、シェル蚀語。数癟人のオペレヌタヌ個々のオペレヌタヌの堎合-誰がそれらすべおを芚えおいたすかそれにもかかわらず、ESコンピュヌタが登堎しお以来、この蚀語はUSSRでも非垞に人気がありたした。私はそれに曞いたが、悪倢も起こった。 1぀の手順で、グロヌバル倉数A bin fix敎数を蚘述し、別の倉数A bin float浮動小数点で蚘述したす。それからあなたは長い間゚ラヌを探すでしょう-翻蚳者は䜕も蚀わないでしょう。



芁するに、PL / 1ずペヌロッパでは、USSRだけでなく、匷く嫌われおいたした。私は䜕床もアメリカに行ったこずがあり、それを聞いたこずがありたす資本䞻矩ず共産䞻矩のプログラミングはありたせんが、さたざたなスタむルがありたす。



アメリカンスタむルはブルヌトフォヌス方匏です。人が機械の蚈算胜力を欠いおいるずき、圌は䞊叞のずころに行き、「私に2倍匷力な車を買っおください」ず蚀いたす。通垞、圌らは本圓にそれを賌入したす。



ペヌロッパでは、そしおもちろんUSSRでも、これは受け入れられたせんでした。私は頭で考え、より効率的なアルゎリズムを芋぀けなければなりたせんでした。



PL / 1トランスレヌタヌのチヌフデザむナヌに䌚ったこずがありたす。圌の姓マルクスは゜ビ゚ト人にずっお芚えやすいです。圌はアメリカ人でもむギリス人でもありたせん、そしおこれらの翻蚳者はロンドンからそう遠くないずころに䜜られたした-ペヌロッパにIBMセンタヌがありたした。マルクスが報告した倧きな䌚議があったノボシビルスクで圌に䌚いたした。圌は、「デバッグプロセス䞭にいく぀の゚ラヌが芋぀かりたしたか」ず尋ねられたした。圌「私はこの質問に答えるこずができたせん-䌚瀟の秘密です。」 -「䜕人いたしたか」答えは同じです。それから、Algol68の䜜者の1人であるKesKoster私は翻蚳者ずしお圌に愛着を持っおいたしたが飛び䞊がっお、今ではすべおの子䟛たちが知っおいるかなり具䜓的な英語で叫び始めたす。そしお私に「翻蚳しおください」私「ここでは受け入れられない、ケス」 -「圌らはあなたを私に割り圓おたので、翻蚳しおください" たぁ理解した通りに翻蚳を始めたしたが、かなり正確に理解したした。しかし、誰も私を非難したせんでした。それから、コヌヒヌずブランデヌのグラスで䌑憩がありたした-そしおそれはそうでした。このかわいそうなマルクスは立っおいお、1メヌトルの呚りに2぀のボむドがありたす。私は2぀の容噚を持っお圌のずころに行きたした「飲みたしょう」圌はグラスをバタンず閉め、こう蚀いたした。プラむベヌトな䌚話ではできたすが、挔壇からはできたせん。」そしお圌は、51人のプログラマヌがいお、非垞に倚くの゚ラヌを芋぀けたので、これは非垞にワむルドな構造であるず蚀いたした-PL / 1のトランスレヌタヌ。



それから、私たちには倚くの共通点があるこずがわかりたした。どちらも1949幎に生たれ、1971幎に倧孊を卒業したした。圌はロンドンです。私はレニングラヌドです。私は蚀いたす「それはどうですかブロヌドキャスト時間で4回、カりント速床で3回、コヌド長で無限の回数であなたを打ち負かしたす。なんでそんなにバカなの」圌「Algol68の翻蚳者に䜕幎携わっおいたすか」 - "7幎"。 -「私たちはずっず前にあなたをあなたの仕事から远い出したでしょう。幎-商品を運転しなさい、さもなければあなたは通りにいるでしょう。」それは私が最初に垂堎投入たでの時間ずは䜕かを知ったずきでした。迅速に䜜業するこずが重芁です。そうしないず、誰かが垂堎でこのニッチを占めるこずになりたす。そうすればあなたはもっずうたくいくでしょう、しかし誰もそれに぀いお知りたせん。USSRでは、これを知りたせんでした。



ALGOL 68



ペヌロッパ人はPL / IにALGOL68ずいう蚀語で応答したした。Algolのような蚀語に関するそのようなワヌキンググルヌプ2.1IFIPがありたした。1964幎にAlgol60に関する改蚂されたメッセヌゞが公開されたずき、圌らはこの方向性が終わったず刀断し、たったく異なる䜕かを開発する必芁がありたした。圌らは叫び声を䞊げたした次に䜕をする぀もりですか答えはホワむトブックでした-私はそれを棚に眮いおいたすが、むンタヌネットではなく珍しいです-同じグルヌプぞの提案がありたす2.1。



プログラムの正しさの蚌明に関するラルフ・ロンドンの長い蚘事、バヌバラ・リスコフの蚘事「CLU蚀語」が含たれおいたす。圌女は最初に抜象的なデヌタ型の抂念を策定したした。オランダの孊者vanWeingaardenによる2レベルの文法に関する蚘事もありたした。 2レベルの文法は、パワヌの点でTuringマシンのようなものであり、正確な構文だけでなく、蚀語実行の正確なセマンティクスも説明できるので、誰も驚かないでしょう。そしお、倚くの䌚議の埌、ワヌキンググルヌプ2.1の人々は、vanWeingaardenの2レベルの文法を将来の蚀語の基瀎ずしお採甚するこずを決定したした。吊や蚀うほどない。



このグルヌプには、゜ビ゚トの科孊者である゚ルショフ、ラブロフを含む玄200人が含たれおいたした。私の科孊顧問のGrigorySamuilovich Tseitinは、参加者にたくさんの手玙を曞きたした。圌らは圌に感謝さえしたした。 1968幎12月、IFIPはAlgol 68



ず呌ばれる新しい蚀語を採甚したした。それは䞍気味な蚀語、悪倢でした。非垞に圢匏的で正確である䞀方で、それを曞くこずは䞍可胜でした。



そこで、Grigory Samuilovich Tseitinがシステムプログラミングの研究宀にやっお来お、そこで私は数孊の3幎生ずしお働き、次のように述べおいたす。実装したしょう。」私たち「行こう」-そしおこのビゞネスに取り掛かった。 1971幎の私の卒業蚌曞は、「ESコンピュヌタヌ甚のAlgol68の翻蚳者で幜霊の連鎖を怜玢する」ず呌ばれおいたした。 11ペヌゞの手曞きのテキストず䜜業プログラム。5幎埌、この卒業蚌曞に間違いを芋぀けたしたが、自分を匁護したずき、誰もそれに気づきたせんでした。



蚀語は非垞に難しく、そう思ったのは私たちだけではありたせんでした。グルヌプ2.1は継続され、ALgol68に関する改蚂レポヌトが74幎に発行されたした。倧芏暡な委員䌚によるさらに6幎間のハヌドワヌク。この蚀語はすでにかなり理解できるこずが刀明しおおり、ペヌロッパずアメリカの䞡方で倚くのグルヌプで実装され始めたした。 USSRでは、キ゚フの䞭倮経枈研究所、゚カテリヌナ・ログビノフナ・ナシチェンコにミハむル・ルビモビッチ・レビン゜ンのグルヌプがいたした。 Sasha Maslovず圌のチヌムは、ElbrusのためにAlgol68を䜜成したした。 Andrey Petrovich Ershovは、NovosibirskのAlgol68から最適化トランスレヌタを䜜成したした。レニングラヌドでは、グリゎリヌ・ツェむティンがこれらの䜜品を残したずき、その仕事は文字通り私にかかった。





1968幎5月31日にチュヌリッヒで開催されたコロキりム「アルゎヌルの10幎」で発衚された、スむスの科孊者ピヌタヌ・ナりルの報告の芁玄である「アルゎヌル成功ず倱敗」。孊者AndreyErshovのアヌカむブから



研究宀の責任者になるために誰かず䞀緒に座る必芁はありたせんでした。モスクワNITSEVTでIBM / 360のデバッグを開始したずき、すべおが自然に刀明したした。蚘事や本を曞いおいる間、私たちは科孊の医者、玄5人の候補者ず玄15人の孊生を持っおいたしたが、すべおが順調でした。しかし、その埌、幎配の人々はゆっくりず萜ち始めたした。 NITSEVTでの時間は、倜だけに割り圓おられたした。私たちはモスクワに3日間行きたした。倜は働き、日䞭は眠りたすが、若者は気にしたせんでした。たた、倜は仕事が倧奜きでした。アメリカず゜ビ゚トのデバむスがありたした。ケヌブルを投げれば、あなたは良いアメリカの機噚で普通に働き、朝に戻っおスむッチを入れたす。日䞭、圌らはこれを行うこずを蚱可されおいたせんでした。しかし、私の幎配の同僚はそれを我慢できたせんでした。圌らが翻蚳者を匕き枡したずき、私はすでにチヌフデザむナヌであり、研究所の責任者でもありたした。



USSRのAlgol68から最初の翻蚳者を䜜りたした。少し遅れお、マスロフずレビン゜ンのグルヌプ。 Yushchenkoは、デヌタベヌスず組み合わせお興味深い開発を行いたした。 「ベヌタプロゞェクト」ず呌ばれる巚倧な科孊的研究がノボシビルスクで実斜されたした。圌らは問題を匷く䞀般化しようずしたので、ALgol68ずPL / IずPascalは1人の翻蚳者で実行できたした。 BESM-6コヌドずESEVMコヌドの䞡方。プロゞェクトは完党には完了したせんでしたが、圌らはいく぀かの単䞀の翻蚳者をしたした。



Algol 68の実装を開始したずき、軍隊を陀いお、誰もその信頌性を本圓に必芁ずしおいないこずがわかりたした。しかし、その埌圌らはそれに萜ち、倚くの軍事組織がそれに切り替えたした。





ワヌキンググルヌプ2.1によっお発行されたALgol68に関する改蚂報告曞の内容の衚。線集者のリストの最初はAdrianvanWeingaardenです



パスカル



ワヌキンググルヌプ2.1の参加者の1人はNiklausWirthでした。圌ず他のいく぀かの有名な科孊者-Hoare、Dijkstra、残念ながら私たちのLavrov-は倧倚数の意芋に同意せず、1968幎12月にいわゆるマむノリティレポヌトを曞きたした。その䞭で、圌らは「山がネズミを産んだ。この蚀語は非垞に倧きくお耇雑なので、誰もそれを人生で理解するこずはできないだろう」ずいう考えを衚珟した。実際、これは真実ですが、6幎間の䜜業ず改蚂メッセヌゞのリリヌスの埌、Algol68は非垞に玠晎らしく理解しやすい蚀語になりたした。孊界ではかなりの人気を埗おいたすが、産業甚プログラミング、特にアメリカではそうではありたせん。そしお、同志ワヌスは圌の耳でそのようなトリックをしたした-圌はパスカルず呌ばれる蚀語を䜜成したした。圌自身はチュヌリッヒ出身ですが、その時圌はスタンフォヌドのむンタヌンでした。



— «» 68. . . , , , 
 — 2 : 24 , -. 68, . : « repeat until , do — ?», « else if, then ?», « , , , ?». . 68 , , . — .



圓時、゜連では「ベッド工堎で働いおいお、毎日现郚を持ち垰り、ベッドを䜜りたいのですが、どんなに組み合わせおもマシンガンを手に入れる」ずいう冗談が流行しおいたした。したがっお、Pascalの修正を開始したずき、Algol68を入手したした。みんな笑っお、倉だず蚀ったけど、意倖なこずは䜕もありたせん。私たちを含めお、300人が長幎Algol68に取り組んできただけです。



私の劻が亀換セクションの著者であるKesCosterに、圌女が芋぀けお答えを受け取った間違いに぀いお曞いたのはおかしいです「DearMr.Terekhova」。最初は気分を害したしたが、圌らは「テレホバが圌女だずどうやっお掚枬するのですか」ず蚀いたした。それから私たちはGaliyTerekhovに眲名し始めたした、そしお圌はすべおを理解したした。



ワヌスは賢い人で、パスカルの掗緎に取り組み、1974幎にゞェンセンずいう男ず䞀緒に働きたした。暙準を厚くしたした、100〜120ペヌゞ。ワヌスが80歳の誕生日を祝ったずき、チュヌリッヒで小さなシンポゞりムがあり、そこで私は20〜30人のゲストに招埅されたした。私が到着したずき、ゞェンセンは女性、キャスリヌンであるこずがわかりたした。正盎、驚きたした。圌女はパスカルをおもちゃから真面目な蚀語に倉えるためにたくさんのこずをしたした。





ニクラりス・ワヌスの80歳の誕生日に捧げられたシンポゞりムでのキャスリヌン・ゞェンセンのスピヌチ



それからボヌランドは仕事に取り掛かり、ボヌランド・パスカルを䜜りたした-すでに2぀の厚いボリュヌム。したがっお、すでに䜿甚できる蚀語が登堎したした。その前に-孊校の甘やかし。



Pascal WirthずJensenに関する改蚂されたレポヌトが発衚されたずき、これも最初の暙準の公開から数幎埌、Wirthは序文で「PascalのレベルはAlgol60よりも高い」ず曞いおいたす。翻蚳線集者は、かなり邪悪な叔父である有名な゜ビ゚トプログラマヌのドミトリヌ・ポドシノァロフでした。圌は鋭く話すのが奜きだった。ワヌスの発蚀の埌、翻蚳に脚泚が珟れたした。「この声明に同意するのは難しい。 Pascalで行列乗算手順を曞いおみおください」。ちなみに、パスカルでは、Cず同様に、0から100、1000たでの配列を蚘述できたすが、Nたでは蚘述できたせん。動的な配列はありたせん。マトリックス乗算手順をどのように説明したすかどの行列が乗算されるかわかりたせん。したがっお、Podshivalovは絶察に正しかった。私にずっおも、行列乗算手順を曞くこずができない高レベルの蚀語です





Nikolaus Wirthず、チュヌリッヒのスむス高等技術孊校で開発されたLilithコンピュヌタヌ。Wirthは、特にこのシステムの゜フトりェアを実装するために、新しい蚀語Modula-2を䜜成したした。1981



パスカルはやがお孊童や孊生に非垞に人気がありたした。プログラミングの基本的な孊習に぀いおは、圌は本圓に優秀です。ダミヌにずっお、信頌性はほずんど意味がありたせん。考えおみおください。蚀語の穎-1、2、3番目です。しかし、それは簡単に読み曞きできたす。私の意芋では、Pascalは産業プログラミングには参加したせんでした。責任が必芁であり、信頌性の高い倧芏暡な゜フトりェアシステムを䜜成する必芁がある堎合です。



地獄



ペヌロッパ人がAlgol68を䜜った埌、アメリカ人は決定したした-なぜ私たちはもっず悪いのですかそしお、圌らは米囜囜防総省のために新しい蚀語を䜜成するこずを決定したした。資金調達の面でこれに匹敵する䌁業はないため、珟圚では䞖界最倧のIT顧客です。アメリカ人はこれに科孊的に取り組むこずに決めたした。たず、蚀語の芁件を策定したす。圌らはこのように呌ばれたしたわらの人、朚の人、鋌の人。そしお最埌は石です。私はこれらの分厚い本をはっきりずはっきりず読みたした。



それから圌らは数癟䞇ドルの賞金で競争を発衚したした。しかし圌らは、特別な措眮が取られなければ、IBMが間違いなく勝぀こずを理解しおいたした。それはフットボヌルに぀いおのこずわざのようなものです「誰もがプレヌしたす、しかしドむツ人は勝ちたす」。圓時、IBMの財務売䞊高は最も近い競合他瀟の20倍でした。圌らはたた、「IBMず6人の小人」ず述べたした。売䞊高が160億、さらに6぀それぞれ10億トンの1぀の䌚瀟です。IBMはすべおの人を粉砕したす。したがっお、囜防省は参加者を分類し、誰が誰であるか誰も知りたせんでした。最初の段階では、17チヌムが遞択されたした。圌らは圌らにかなりの資金を䞎えたした-それぞれ数癟䞇ドル。第2段階では、赀、黄、緑、青の4぀のチヌムが遞択され、色で名前が付けられたした。圌らの資金はすでに数十億ドルにのがり、圌らは蚀語だけでなく、テストできるようにテスト翻蚳者も䜜らなければなりたせんでした。圌らが仕事を終えたずきだけ、封筒が開かれたした。



ペヌロッパ人が突然勝ったので、激しいスキャンダルがありたした-パリからのゞャンむシュビアのチヌム。 ALgol 68ず非垞によく䌌おおり、PL / 1ずはたったく異なる蚀語を䜿甚したす。この蚀語は、䞖界初のプログラマヌであるチャヌルズ・バベッゞのアシスタントであり、バむロン卿の嚘である゚むダ・ラブレヌスに敬意を衚しお、゚むダず名付けられたしたが、おそらくそれはよく知っおいるでしょう。





Jean David Ishbiaは、フランスのコンピュヌタヌメヌカヌBullの研究開発郚門の埓業員でした。



これらすべおの「石の男」を䜜成する、぀たり芁求を策定するために、アメリカ人は委員䌚を召集したした。問題党䜓を評䟡するには、䜕癟人もの専門家が必芁でした。したがっお、プログラマヌのグルヌプ党䜓がペヌロッパから米囜に匕き寄せられたした。共産䞻矩者が委員䌚の1぀に捕らえられたした-ハンガリヌ瀟䌚䞻矩劎働党のメンバヌであるハンガリヌのむワン・バッハは、事実䞊囜防総省に行き着きたした。 1976幎に私はブダペスト倧孊で講矩をし、そこで圌に玹介されたした。私たちは友達になり、ブダペストを歩き回りたした、そしお圌は私にすべおがアメリカ人ずどのように調敎されおいるかを教えおくれたした。最埌に、圌は私に地獄の蚀語の予備的な説明の1぀をテヌプで送っおくれたした。私たちはさらに3幎埌にそれに取り組みたした。繰り返したすが、6ずいう数字を芚えおおいおください。



それで私はUSSRに地獄の蚀語の囜内初の蚘述を持っおきたした。圓然、私たちは翻蚳者を䜜るこずにしたした。私はすでにこの問題ず考えに熟緎しおいたす。これは米囜囜防総省の基準であるため、私たちの兵士は確かにそれを䜿甚したいず思うでしょう。それから私は圌らに「私には通蚳がいたす」ず蚀いたす。しかし、私は倚くのこずを逃したした-私たちの戊士ぱむダに興味がありたせんでした。私の意芋では、無駄です。圌らはすべおを盗んだ-それも盗む必芁があった。



私が翻蚳者を䜜るこずに決めたずき、私より4歳幎䞊の私の研究宀の1人の埓業員は、次のように述べたした。なぜあなたはすべおあなた自身ずあなた自身のためですかこの仕事をリヌドさせおください。」私は答えたす。「私はそれを持っおきお、考え盎したした。私はそれを行う方法を知っおいたす。でも倧䞈倫、リヌド。」圌は私を説埗したした、そしお私はすでに䜕かするこずがありたした。3か月が経過し、゚むダの近くで䜜成されたグルヌプは、ほが今幎の卒業生によっお率いられおいたこずが刀明したした。それは私の孊生のアルカディ・ポポフでした。私は尋ねたす「どうやっおどうしおゞャヌクを蚀ったの」そしお圌「私はそれを枡したせんでした-圌らは私からそれを奪いたした」。その青幎はずおも掻発であるこずがわかった。



しかし、話はそれだけではありたせん。若い男は私にこう蚀いたす。「アンドレむ、あなたは間違ったリヌダヌです。私たちはすべおをプロトタむプで行いたす。䜕かをすばやく芋たいず思っおいたす。科孊では必芁です。プロゞェクトを䜜成し、それに埓っおください。」私「あなたがリヌドしたす-それをしなさい。同時に芋たす。」



4人のグルヌプが2幎間、3぀の厚いボリュヌムドラフトを入力したした。私たちは若者の䞖話をし、圌らを喜ばせたした。デザむンが完成した埌、私たちは少し酒を飲んだこずさえありたした。厳粛な瞬間-2幎間の䜜業が完了したした。しかし、実装には3か月かかり、プロゞェクトや、他のすべおに倧きな圱響を䞎える䞀郚のデヌタ構造でミスを犯したこずが刀明したした。アルカディが私のずころに来お、蚱しを求めたした。「私たちはだたされたした。」しかし、それにもかかわらず、このグルヌプは、地獄の蚀語から゜連で最初の翻蚳者を䜜りたした。確かに、圌女が行くよりも遅く、そしお通垞の方法で、他のみんなのように。





Oleg Perminov、「ADAプログラミング蚀語の抂芁」、1991幎



JavaずPython



これが私のお気に入りの蚀語の終わりです。それ以䞊の道はもはやそれほど革呜的ではありたせんでした。



Javaずしたしょう。仮想マシンに基づいお、コヌドの移怍性。りィキペディアでさえ、pコヌドは1978幎に発明されたず蚀っおいたす。しかし、違いたす私はWirth自身にp-codeを思い぀いたのは誰かず個人的に尋ねたした。圌は答えた「私はそれを䜜りたした。」パスカルが行ったずき、圌はスタンフォヌド倧孊の孊長に行きたした。「孊生が䞊手に教えるこずができる蚀語がありたす。しよう」孊長「さあ私は6皮類のコンピュヌタヌしか持っおいたせん。みんなにパスカルを持っおください。」ワヌスは圌がほずんど死んだず蚀いたした-6人の翻蚳者を䞀人で䜜るこずは䞍可胜です。そしお、圌が仮想マシンであるpコヌドを䜜成したのはそのずきです。圌にはPascalからp-codeぞのp-codeで曞かれたp-codeぞのトランスレヌタがあり、p-codeのむンタプリタが各マシンで䜜成されたこずが刀明したした。これは非垞に単玔なアセンブリプログラムで、数癟行です。そしおそれはすべおうたくいった。私たちは今でもこのアむデアを䜿甚しおいたす。ニクラスは述べおいたすpコヌドを発明したのは圌であり、78幎ではなく、71幎でした。 70幎代初頭にpコヌドに぀いおも聞いた-いく぀かの情報が私たちに届いた。



珟圚、Wirthは私たちが行っおいるのず同様のこずを行っおおり、C蚀語のバリアントを䜜成しおいたす。より安党で、より完党に制埡できたす。私たちもこれで最初ではないこずがわかりたした。すでにそのような蚀語がありたす-ディ、それはアンドレむ・アレクサンドレスクによっお発明されたした。私は圌を個人的に知っおいたす-私はある䌚議で圌を芋たした。



Pythonに぀いお少しお話したす。倧芏暡なプログラムの䜜成には䜿甚できない蚀語です。しかし、それはプロトタむピングに非垞に適しおいたす。すぐに膝を補っお、䜕が起こるかを確認したす。だから圌らは基本的にそれを䜿いたす。膚倧な数のラむブラリを備えた軜量蚀語。しかし、圌らがロケットや電話亀換の制埡をPythonで曞くずは想像できたせん。これは、倧芏暡なハヌドりェアシステムを察象ずしたものではありたせん。実際、Guido van Rossum自身が、Pythonがそれを思い぀いた方法ず理由を教えおくれたずきに、これに぀いお教えおくれたした。



Si



最も人気のあるC蚀語の歎史に぀いお詳しく説明したす。 Ken Thompsonは、1970幎に、珟圚Unixず呌ばれるオペレヌティングシステムを考案したした。かっこいいむベントでした。このために、圌はタむプレス蚀語Bを䜿甚したした。少し埌、マヌティン・リチャヌドはBCPL蚀語を思い぀きたした。これもタむプレスのBi蚀語の開発です。その埌、デニスリッチヌは、圌自身が発明した、より効率的で信頌性の高いC蚀語ですべおを曞き盎すこずにしたした。圌はBずBCPLに䟝存しおいたしたが、タむプコントロヌルを远加したした。





UNIXクリ゚ヌタヌのKenThompsonずDennisRitchieがPDP-11に取り組んでいたす。 1970幎頃のPeterHammerによる写真



面癜かった。リッチヌの最初の出版物は、Xiがすでに人気を博し、USSRにたで到達した1978幎に発衚されたした。Unix゜ヌスコヌドが自由に配垃されおいたので、Cを知っおいたした。これはオヌプン゜ヌスプロゞェクトの最初の経隓でした。人々は次の方法でCを研究したしたそれを読んでください-配列はこのように曞かれ、カットはこのようになり、ルヌプはこのようになりたす。それだけです。他に䜕も必芁ありたせん。しかし、この蚀語の䜜者による最初の蚘事は、䞖界䞭の誰もがすでにそれをよく知っおからわずか数幎埌に登堎したした。



Cはずおも良い蚀語で、私はそれが奜きですが、それに穎がありたす。私はこれを修正したいず思っおおり、珟圚それらに取り組んでおり、より信頌性の高いバヌゞョンを䜿甚するようにしたす。



コボル





1960幎4月の䌚議のために米囜囜防総省が䜜成したコボル蚀語に関する報告曞の衚玙。



悪魔であるコボルもアメリカ人によっお発明されたした。事実、Fortranはもずもず科孊的な蚈算のために発明されたしたが、アメリカ人はすでにその幎に経枈で倚くのコンピュヌタヌを䜿甚しお生産を制埡しおいたした。 Cobolは、経枈デヌタを扱うために特別に発明されたした。



蚀語は非垞に奇劙ですが、経枈的な蚈算には適しおいるこずがわかりたした。穎だらけでずさんなものだず蚀うこずができたすが、䞖界の金融プログラムの半分が曞かれおおり、ロシア䞭倮銀行ずスバヌバンクもコボルに取り組んでいたす。私の孊生はいたるずころにいるので、私はこれをよく知っおいたす。圌らはそれに新しいプログラムを曞きたせんが、叀いものがたくさんありたす。



コボルは私にペレストロむカの時代に生き残る機䌚を䞎えおくれたした。 1980幎代の終わりたでに、匷力な翻蚳者グルヌプができたした。Algol68、Ada、人工知胜蚀語、ロボット制埡の最初の翻蚳者です。すべおが順調でしたが、perestroikaが発生し、米囜からの䞀連のプログラムがここに流れ蟌みたした。アメリカの攟送局が垂堎に殺到し、誰もお金を払わなかったので-これは完党な海賊行為の時代でした-圌らは私のチヌムのこずを忘れ始めたした。その時たでに私は䌁業「Terkom」を結成しおいたしたが、私はほずんど絶望しおいたした-Terekhovずチヌム。



私はおそらく姿を消したでしょうが、アメリカ人はビゞネス䞊の問題を抱えおいたした。圌らはコボルでたくさんのプログラムを蓄積しおきたしたが、圌らのメンテナンスは非垞に高䟡であるこずが刀明し、この蚀語を知っおいる人はほずんどいたせんでした。そしお、圌らはそのようなリ゚ンゞニアリングを行うこずを決定したした-kobolプログラムを最新のプラットフォヌムに転送するためです。デュヌク倧孊で詊したしたが、倱敗したした。しかし、圌らの䌚瀟には、゜連の原䜏民がいたした。実は、アメリカ生たれのアメリカ人ず出䌚ったのは、6回目か7回目のアメリカ旅行でした。オデッサの元居䜏者であるレニア・゚リクは、「アメリカ人ができなければ、ロシア人は成功するだろう」ず語った。そしお、私たちはそれをしたした。䞀般的に、蚀語は巚倧ですが、それは私が困難な時代に生き残るのを助けたした。



All Articles