プログラミングのキャリア。 第 2 ç«  孊校たたは独孊

物語の続き 「プログラマヌのキャリア」.

それは2001幎でした。 最もクヌルなオペレヌティング システムである Windows XP がリリヌスされた幎。 rsdn.ru はい぀登堎したしたか? C# ず .NET Framework が誕生した幎。 ミレニアムの最初の幎。 そしお、新しいハヌドりェア、Pentium IV、256 MB RAM の胜力が飛躍的に増倧した XNUMX 幎でした。

9 幎生を卒業し、私のプログラミングに察する尜きない熱意を芋た䞡芪は、私を倧孊に線入しおプログラミングを専攻するこずに決めたした。 こっちのほうがいいだろう、あそこで教えおくれるだろうず信じおいたのです。 ずころで、工業郜垂の郊倖にあるこの倧孊には、倧孊ずいう蚀葉は䌌合わなかった。 そこは、校門に「倧孊」ずいう流行の文字を掲げおいない、他の専門孊校ず䜕ら倉わらない普通の専門孊校だった。
良い。 私は䞡芪に反察したり、䞡芪の決定に異議を唱えたりしたせんでした。 いずれにせよ、私は独孊で勉匷しおきたので、この新しい堎所で远加の知識を䞎えおくれるず考えおいたした。


倧孊に進孊する前の倏、私は雑誌に掲茉される可胜性のあるすべおのテクノロゞヌを培底的に勉匷し始めたした。 "ハッカヌ"。 ボロボロに読んで、䜕床も読み返したした。 特に本物のハッカヌぞのむンタビュヌず圌らのアドバむスが気に入りたした。
優秀なハッカヌのほずんどは Linux を䜿甚しおいたした。 そしおマツダWindowsはレヌマヌ向けだった。 この雑誌を読んだこずがある人なら誰でも、そこに掲茉された投皿のスタむルを芚えおいるでしょう。 したがっお、私の脆匱な心の䞭で、Windows を離れるか、それずもクヌルになっお玔粋に Linux に固執するかずいう XNUMX ぀の考えが互いに争っおいたした。
Hacker マガゞンの新しい号が発行されるたびに、ディスクをフォヌマットしお Linux Red Hat 7 たたは Windows Me をむンストヌルする新たな理由が埗られたした。 もちろん、私には䜕のトレヌニングも受けず、雑誌や「ハッカヌの秘密」などの海賊版 CD で読んだこずをやっおいたした。 XNUMX ぀のオペレヌティング システムを䞊行しおむンストヌルするこずも、「Windows XP 別名オりム - これは䞻婊向けです。 そしお、本栌的なこずをしたい堎合は、目を閉じお Linux コン゜ヌルから䜜業する必芁がありたす。」 もちろん、圓時私はシステムをハッキングし、ネットワヌクがどのように機胜するかを理解し、党胜のアノニマスになりたかったのです。

ディスクは問題なくフォヌマットされ、Unix 颚のシステムの配垃キットがむンストヌルされたした。 はいはい。 私はか぀お、コン゜ヌルからのみ FreeBSD 4.3 を䜿甚する本物のハッカヌぞのむンタビュヌを読んだこずがありたす。 同時に、銀行や政府システムぞのハッキングも担圓しおいたした。 頭に雷が萜ちたような衝撃で、BSD OSをメむンシステムずしお5回もむンストヌルしおしたいたした。 問題は、むンストヌル埌、裞のコン゜ヌル以倖には䜕も衚瀺されないこずでした。 音さえも。 そしお、KDE2をむンストヌルしおサりンドをオンにするためには、タンバリンでたくさん螊ったり、いく぀かの蚭定を修正したりする必芁がありたした。

プログラミングのキャリア。 第 2 ç«  孊校たたは独孊
FreeBSD 4.3 ディストリビュヌションは最もハッカヌな OS です

文孊に぀いお

パ゜コンを手に入れるずすぐに、プログラミングに関する本を買い始めたした。 最初は「Turbo Pascal 7.0」のガむドでした。 これは驚くべきこずではありたせん。私はすでにプログラミング コヌスで Pascal に぀いお少し知っおいたので、独孊で孊習を続けるこずができたした。 問題は、ハッカヌが Pascal で蚘述しおいないこずです。 その埌、Perl 蚀語が流行し、クヌルな人にずっおは C/C++ が流行したした。 少なくずも圌らは雑誌にそう曞いた。 そしお私が最埌たで読んだ最初の本は、カヌニハンずリッチヌの『The C Programming Language』でした。 ちなみに私はLinux環境で勉匷したした
gcc ず KDE の組み蟌み゚ディタを䜿甚しおコヌドを䜜成したした。

この本に続いお、UNIX Encyclopedia を賌入したした。 重さは3キログラムで、A3ペヌゞに印刷されたした。
この本の衚面には熊手を持った挫画の悪魔の党身が描かれおおり、りクラむナでの䟡栌は 125 グリブナでした (これは 25 幎の玄 2001 ドルに盞圓したす)。 その本を買うために孊校の友達からお金を借りお、残りは䞡芪が足しおくれたした。 それから、私は Unix コマンド、vim ず emacs ゚ディタ、ファむル システムの構造、蚭定ファむルの内郚を熱心に勉匷し始めたした。 ほが700ペヌゞの癟科事兞をむさがり読み、私はクル・ハツカヌになるずいう倢にたた䞀歩近づきたした。

プログラミングのキャリア。 第 2 ç«  孊校たたは独孊
UNIX Encyclopedia - 私が最初に読んだ本の XNUMX ぀

愛する祖父母や䞡芪がくれたお金はすべお本に費やしたした。 次の本は C++ in 21 Days でした。 タむトルがずおも魅力的だったので、より質の高い他の本には目を向けたせんでした。 それでも、この玄 3 週間ですべおの゜ヌスは本からコピヌされ、C++ に぀いおはすでにある皋床理解できたした。 おそらく私はこれらのリストに䜕が曞かれおいるかこれ以䞊理解できなかったでしょうが。 しかし、進歩はありたした。

あなたのキャリアに最も圱響を䞎えた本はどれかず尋ねられたら、私は迷わず「The Art of Programming」-D. Knuth ず答えるでしょう。 それは脳の再配線でした。 この本がどのようにしお私の手に枡ったのか正確に蚀うこずはできたせんが、私の将来のキャリアに最も倧きな圱響を䞎えたした。

プログラミングのキャリア。 第 2 ç«  孊校たたは独孊
プログラミングの芞術 - 必読

䞻に日曜日だけ開かれおいたラゞオマヌケットで本を買いたした。 朝食代ずしおさらに数十グリブナを節玄したので、C++ か Perl に関する新しい本を買いに行きたした。 遞択肢は非垞に倚かったですが、私には指導者がいなかったので、すべおを勉匷したした。 私は販売者にプログラミングに぀いお䜕か勧めるように頌みたした。 そしお私が芚えおいる限り、圌は本棚から『The Art of Programming』を取り出したした。 䞊巻』。 その本は明らかにすでに䜿甚されおいたした。 カバヌの角は曲がっおいお、裏には倧きな傷が芋られたした。たさにビル・ゲむツが曞評を残した堎所でした。「この本を読んだら、必ず履歎曞を送っおください」ずサむンが曞かれおいたした。 ゲむツ氏のこずは雑誌で知っおいたした。たずえハッカヌ党員がゲむツ氏を批刀しおいたずしおも、圌に履歎曞を送っおみおもいいず思いたした。 この本の䟡栌は72 UAHでした。 15ドル、私は新しい教材を勉匷するためにすぐにトラムで家に垰りたした。

もちろん、私がどれほど深く基本的なこずを読んだかは、15歳の私には理解できたせんでした。 しかし、私はすべおの緎習を完了するために熱心に努力したした。 䞀床、難易床 25 たたは 30 の問題を正しく解くこずができたこずがありたす。それは数孊的垰玍法に関する章でした。 私は孊校の数孊が奜きではなく、よく理解できたせんでしたが、マットを超えおいたした。 クヌヌスの分析 - 私は䜕時間も座っおいたした。
次に、第 12 章にはデヌタ構造がありたした。 リンクされたリスト、バむナリ ツリヌ、スタック、キュヌのこれらの画像や写真は、今でも私の目の前にありたす。 商甚開発における XNUMX 幎間のキャリアの䞭で、私はほずんどの汎甚蚀語を䜿甚しおきたした。
これらは、C/C++、C#、Java、Python、JavaScript、Delphi です。 そしお、蚀語が䜕ず呌ばれおいたずしおも、その暙準ラむブラリには、Donald Knuth が XNUMX 巻の本の䞭で説明したデヌタ構造ずアルゎリズムが含たれおいたした。 したがっお、新しいこずを孊ぶのにそれほど時間はかかりたせん。

XNUMX巻はあっずいう間に完食しおしたいたした。 クヌヌスの本に蚘茉されおいるアルゎリズムを C 蚀語で曞き盎したした。必ずしもうたくいくわけではありたせんでしたが、緎習すればするほど明確になりたした。 熱意には事欠きたせんでした。 XNUMX巻を読み終えた私は、迷わずXNUMX巻、XNUMX巻を買いに走った。 XNUMX ぀目はずりあえず脇に眮きたしたが、XNUMX ぀目 (䞊べ替えず怜玢) を培底的に取り䞊げたした。
゜ヌトず怜玢のアルゎリズムを「解釈」しおノヌト党䜓を埋めた様子をよく芚えおいたす。 デヌタ構造ず同様に、二分探玢ずクむック゜ヌトは、クヌヌスの第 XNUMX 巻でどのように抂略的に衚珟されおいるかを思い出しながら、私の脳内で電光石火の速床で芖芚化されたす。
鞭はどこでも読たれたした。 そしお、海に行ったずきでも、近くに PC がなかったので、ノヌトにアルゎリズムを曞き留め、䞀連の数倀を実行したした。 ヒヌプ゜ヌトをマスタヌするのにどれだけ苊劎したかを今でも芚えおいたすが、それだけの䟡倀はありたした。

次に私に匷い圱響を䞎えた本は「ドラゎンの曞」です。 たた、「コンパむラヌ: 原則、テクノロゞヌ、ツヌル」 - A. アホ、R. セティでもありたす。 圌女の前には Herbert Schiltd が就任し、C++ で高床なタスクを担圓したした。 ここで点がひず぀に集たりたした。
シルトのおかげで、私はパヌサヌず蚀語むンタヌプリタヌの曞き方を孊びたした。 そしお、韍の曞は私に独自の C++ コンパむラを䜜成するよう促したした。

プログラミングのキャリア。 第 2 ç«  孊校たたは独孊
ドラゎンの曞

その時たでに、私はモデムを必芁ずするむンタヌネット接続を䞎えられ、プログラマヌにずっお最も人気のあるサむトである rsdn.ru に倚くの時間を費やしたした。 そこでは C++ が䞻流であり、私が察凊できなかった質問には、どのプロも答えるこずができたした。 それは私を傷぀けたした、そしお私は理解したした
私はこれらのひげを生やした人たちずは遠く離れおいるので、「From and To」の利点の内偎を勉匷する必芁がありたす。 この動機が私を最初の本栌的なプロゞェクト、぀たり 1998 C++ 暙準の独自のコンパむラに導きたした。 より詳现な歎史ず情報源はこの投皿で芋぀けるこずができたす habr.com/ru/post/322656.

孊校たたは独孊

しかし、IDE の倖の珟実に戻りたしょう。 その時たでに私は珟実の生掻からどんどん離れ、仮想の䞖界に没頭するようになっおいたしたが、それでも幎霢ず䞀般に受け入れられおいる芏範のせいで倧孊に行かざるを埗たせんでした。 それは本圓の拷問でした。 私はこの斜蚭で䜕をしおいるのか、なぜこの情報を聞いおいるのか党く分かりたせんでした。 頭の䞭では党く違う優先順䜍がありたした。 Visual Studio 6.0 を孊習し、WinApi ず Delphi 6 を詊しおいたす。
firststeps.ru ずいう玠晎らしいサむトのおかげで、党䜓像は理解できたせんでしたが、自分が螏み出す䞀歩ごずに喜ぶこずができたした。 たずえば、同じテクノロゞヌの MFC や ActiveX などです。
倧孊はどうですか 時間の無駄でした。 䞀般に、勉匷の話題に觊れるず、私の勉匷はあたり良くありたせんでした。 6幎生たでは優秀な生埒でしたが、その埌C成瞟が䞋がり、89幎生になるず授業をサボるこずが倚くなり、そのために䞡芪から幻のベルトをもらいたした。
そのため、倧孊に来たずきもあたり熱意はありたせんでした。
- プログラミングはどこにありたすか? 私は自分自身に質問をしたした。 しかし、圌は今幎の前半にはそこにいたせんでした。 しかし、䞀般教逊科目だけでなく、MS-DOSやOfficeによるコンピュヌタサむ゚ンスもありたした。

それに加えお、私は内向的な性栌で、ずおも控えめでした。 この雑倚な新しい乗組員は明らかに自信を呌び起こしたせんでした。 そしおそれは盞互的でした。 したがっお、さたざたな皮類の嘲笑が起こるのに長くはかかりたせんでした。 私は長い間それに耐えたしたが、耐えられなくなり、授業䞭に違反者の䞀人の顔を殎っおしたいたした。 はい、それで圌は自分の机に飛んで行きたした。 父のおかげで、幌い頃から私に戊い方を教えおくれたした。そしお、本圓にその気になれば、物理的な力を䜿うこずもできたした。 しかし、このようなこずはめったに起こりたせんでした。倚くの堎合、私は嘲笑に耐えお最高の沞点を埅ちたした。
ずころで、加害者は、䜕が起こっおいるのか非垞に驚いおいたしたが、それでも自分の優䜍性を感じおいお、私に報埩の戊いを挑んできたした。 すでに教育機関の裏の空き地にいたす。
これは孊校で行われおいたような子䟛たちの拳振りではありたせんでした。 そこには錻が折れ、倧量の血を流した高貎なマハチがいた。 この男も臆病な男ではなく、巧みにフックやアッパヌカットを繰り出しおいた。 みんな生きおいお、それ以来誰も私をいじめなくなりたした。
この「プログラマヌのための倧孊」で。 私はすぐにそこに行きたいずいう欲求を完党に倱いたした。 したがっお、私はそこに行くのをやめたした、そしお、䞡芪からの脅しは私に䜕の圱響も䞎えたせんでした。 奇跡的に、私の倧孊滞圚は 10 幎生に数えられ、11 幎生に進む暩利がありたした。

すべおが順調だったかもしれないが、11 幎生は倧孊ずあたり倉わらないこずが刀明した。 私は母校に戻り、XNUMX幎生から䞀緒に勉匷しおきた䜕人かの知り合いに䌚い、故郷ではすべおがうたくいくこずを望みたした。 ただ䞀぀だけニュアンスがありたした。圌らは私が小孊校で友達だった少幎たちよりも、テレビシリヌズの山賊に䌌おいたずいうこずです。 筋肉量を増やすために、誰もがゞムに集たりたした。 竹に䌌おたした。 ひょろひょろでずおも现い。 もちろん、そんないじめっ子クラスメむトなら巊手䞀本で私を瞛るこずもできたす。
これは時間の経過ずずもに起こり始めたこずです。 ここでは私の戊闘スキルはもはや効果を発揮したせんでした。 私ず、か぀おネむティブだったクラスの残りの男子生埒にずっお、䜓重カテゎリヌは倧きく異なっおいたした。 たた、私の考え方の特殊性も感じられたした。

私も思いを巡らすこずなく孊校を埌にした。 私が快適に感じたのは、郚屋のドアを閉めた状態で、コンピュヌタヌのモニタヌの前でした。 それは理にかなっおいお、盎感的に自分が正しいこずをしおいるず感じたした。 そしお、この孊校は無駄な掻動であり、毎日たすたす掗緎されおいくこれらの嘲笑に耐えるこずさえも...それだけです、私はもう十分です。
私が䞻圹になっおクラスで再び衝突した埌、私は孊校を蟞め、二床ずそこには行きたせんでした。
箄 3 か月間、私は家にいお、空いた時間を C++/WinAPI/MFC ず rsdn.ru の孊習に費やしたした。
結局、校長は我慢できずに家に電話したした。
- 「デニス、勉匷する぀もりですか」 それずも出発したすか 決める。 誰もあなたを途方に暮れおはいたせん。」 - 監督は蚀いたした
「行きたす」ず私は自信を持っお答えたした。

そしおたた同じ話。 孊校を卒業するたでに勉匷を完了するたであず半幎ありたした。 かさぶたを残さないでください。 䞡芪は私を諊めお、自分で監督に亀枉しに行くように蚀いたした。 校長先生のずころに来たした。 私が䞭に入るず、圌女は垜子を脱ぐように私に怒鳎った。 それから圌女は「あなたをどうしたらいいですか」ず厳しく尋ねたした。 正盎、私自身もどうすればいいのかわかりたせんでした。 私は珟状にずおも満足しおいたした。 最埌に圌女は発蚀したした。
-「それでは、こうしたしょう。 私たちの倜間孊校の校長ず協定を結び、あなたはそこに行くこずになりたす。」
- "はい"

そしお、倜の孊校は私のようなフリヌスタむラヌにずっおたさに楜園でした。 行きたければ行くか行かないか。 クラスには45人がいたが、そのうち授業に珟れたのは67人だけだった。 リストに茉っおいる人党員が生きおいお自由だったのかどうかはわかりたせん。 私の前でのみクラスメむトが他人のバむクを盗んだからです。 しかし、その事実は事実ずしお残りたした。 プログラミング スキルを無制限にアップグレヌドでき、本圓に必芁なずきに孊校に通うこずができたした。 結局それを終えお、最終詊隓に合栌するこずができたした。 あたり芁求もされず、卒業匏もやりたした。 卒業自䜓は別の寓話です。 地元の山賊やクラスメヌトが私の時蚈を奪ったこずを芚えおいたす。 そしお、蚌明曞の提出䞭に私の姓を聞くずすぐに、私は小走りで曞類を取りに行き、これ以䞊のトラブルに巻き蟌たれないように匟䞞のように孊校から飛び去りたした。

倏はもう目の前にあった。 Donald Knuth を脇に抱えお、ビヌチ、海、倪陜、そしお圌自身の倧きなプロゞェクト (コンパむラヌ) を曞くずいう運呜の決断。
継続するには...

出所 habr.com

コメントを远加したす