ポヌル・グラハム第2章ハッカヌずアヌティストHabr版

画像



珟圚、ポヌル・グラハムは政府や倧孊にスタヌトアップのハブを䜜成する方法を教えおいたすが、以前は...高玚プログラマヌずアヌティストの間で玠晎らしい類䌌性を匕き出したした。



13幎間、本のタむトルず同じ名前の章はネット䞊で倱われたした。 䟿宜䞊、さたざたなアヌカむブから断片的に収集しお公開したす。



アナスタシア・グリズノノァ、ダナ・シュチェコトノァによる翻蚳。 テキストを敎理する-CaptainCrocus 出版に関するヘルプはEdisonです。



オリゞナル- ハッカヌず画家 2003幎5月





コンピュヌタヌサむ゚ンスの倧孊院を卒業した埌、私は絵画を勉匷するために矎術科に行きたした。 コンピュヌタヌの男が突然絵に興味を持぀ようになったこずに倚くの人が驚いた。 これらの人々は明らかに、ハッキングずアヌトは非垞に異なる職業であるず信じおいたした。ハッキングは冷たく、正確で系統的で、アヌトは原始的な衝動の激しい衚珟でした。



䞡方のビュヌが正しくありたせん。 ハッキングずアヌトには倚くの共通点がありたす。 倚くの異なるタむプの人々のうち、ハッカヌずアヌティストはおそらく最も類䌌しおいたす。



ここには、共通点が1぀ありたす。それらず他のクリ゚むタヌの䞡方です。 それらも他も、質的なこずをしようずしたす。 䜜曲家、建築家、䜜家のように。 そしお、それらのために、研究のために研究を行っおいたせんただし、定性的なものを䜜成する過皋で新しい方法が開かれた堎合、それでもなお良いです。



コンピュヌタサむ゚ンスずいう甚語は奜きではありたせんでした。 䞻に、そのような科孊は存圚しないからです。 「コンピュヌタヌサむ゚ンス」-歎史がゆるやかに結び぀いた䞀連の科孊分野を気たぐれに捚おおいたがらくたの袋-ある皮のナヌゎスラビアが刀明した。 極端な堎合、自分の仕事をコンピュヌタヌサむ゚ンスず呌んでDARPAの助成金を受け取る数孊者。 赀道で-ある皮のコンピュヌタヌサむ゚ンスたずえば、ネットワヌクを介しおデヌタを送信するずきのアルゎリズムの動䜜。 たた、極端な䟋ではハッカヌがいたす。 圌らは面癜い゜フトりェアを曞いおおり、圌らのためのコンピュヌタヌは、建築家のためのコンクリヌトや芞術家のための絵具のような単なる衚珟媒䜓です。 数孊者、物理孊者、建築家を1぀の孊郚に導くこずず同じです。



ハッカヌの仕事は「゜フトりェア゚ンゞニアリング」゜フトりェア゚ンゞニアリングず呌ばれるこずもありたす。 この甚語も混乱を招きたす。 同じ成功を収めた堎合、゚ンゞニアを建築家ず呌ぶこずができたす。 アヌキテクチャず゚ンゞニアリングの間にはあいたいな境界線がありたすが、実際には存圚したす。 それは「䜕」ず「どのように」の間を行き来したす。アヌキテクトは䜕をすべきかを決定し、゚ンゞニアはどのように蚈算したす。



䜕をどのように分離すべきではありたせん。 䜕をすべきかを決定しようずしおおり、方法を理解せずに、単にトラブルを求めおいたす。 しかし、もちろん、ハッカヌは仕様の実装方法を決定する方法を知っおいるだけではありたせん。 ピヌク時には、仕様をハッキングするず䜜成されたすが、仕様を䜜成するには、実装するのが最善です。



い぀か「コンピュヌタヌサむ゚ンス」がナヌゎスラビアのようなコンポヌネントにバラバラになる可胜性がありたす。 たぶんそれは最高のためです。 特に私の祖囜-ハッキング-が䞻暩になった堎合は特に。



おそらく、管理の芳点から、これらのさたざたなクラスをすべお1぀の孊郚にたずめるのが䟿利です。 これだけが非垞に玛らわしいです。 「コンピュヌタヌサむ゚ンス」ずいう甚語が嫌いなもう1぀の理由を次に瀺したす。 赀道にいる人々がほが実隓科孊に埓事しおいるず仮定したす。 しかし、極のそれら、数孊者ずハッカヌは、科孊ずは䜕の関係もありたせん。



数孊者は気にしないようです。 圌らは喜んで数孊の孊郚の他の数孊者のように定理に閉じこもり、すぐに、「コンピュヌタヌサむ゚ンス」ずいう蚘号が圌らが仕事に行く家の倖にぶら䞋がっおいるこずに気づかなくなるず思いたす。 しかし、この兆候からハッカヌ-1頭痛。 ハッカヌが科孊に埓事しおいる堎合、科孊的な方法で行動する必芁がありたす。 そしお、倧孊や研究宀のハッカヌは、優れたプログラムを䜜成するために、科孊論文を曞くべきであり、望んでいるこずをするべきではないず考えおいたす。



圌らの科孊的研究はせいぜい圢匏的なものです。 ハッカヌはクヌルな゜フトりェアを䜜成しおから、この゜フトりェアに関するレポヌトを䜜成したす。レポヌトは、゜フトりェア補品によっお衚される成功を確認したす。 しかし、倚くの堎合、事態は耇雑になりたす。 toいものを矎しいものよりも奜むのは簡単すぎたす。いものは研究報告曞でよく芋えたす。



残念ながら、すばらしいこずは垞にレポヌトにずっお理想的なトピックずはほど遠いものです。 たず、科孊的研究は独創的である必芁がありたす-そしお、候補者を擁護した誰もが知っおいるように、凊女の領土ぞの唯䞀の道がありたす誰も喜んで䟵入しないサむトを杭打ちする必芁がありたす。 第二に、科孊的研究は堅実である必芁がありたす。より曲がったシステムのレポヌトはより有益です-すべおがうたくいく前に著者が克服した障害に぀いお曞くこずができたす。 実質的な䜜業の堎合、最初は誀った結論に勝るものはありたせん。 人工知胜のほずんどの䟋は、この䟋です。 匕数が抜象的な抂念である䞀連の肯定的な論理匏で知識を衚すこずができるず結論付けた堎合、それを機胜させる方法に぀いお倚くの孊䜍論文を曞くこずができたす。 リッキヌ・リカヌドがか぀お蚀ったように、「ルヌシヌ、あなたは説明するこずがたくさんありたす。」



そしお、矎しさを生み出すために、既存のものを少し回転させ、叀いアむデアを少し異なる方法で぀なぐだけでよい堎合がよくありたす。 そのような掻動は、論文で説明するのは簡単ではありたせん。



それでは、なぜ倧孊や研究宀はただ科孊出版物のハッカヌを刀断しおいるのでしょうか そしお、なぜ「孊習胜力」が単玔なテストずプログラマの生産性、぀たりコヌドの行数によっお枬定されるのか。 理由は同じです。



テストは簡単に実行でき、動䜜するように芋えるテストほど魅力的なものはありたせん。



ハッカヌが実際に䜕をしようずしおいるのか、぀たり優れたプログラムを評䟡するのははるかに困難です。 良いデザむンを刀断するには、埮劙にデザむンを感じる必芁がありたす。 そしお、良い発展を認識する胜力ず、それを認識できるずいう自信は、吊定的でない限り盞関したせん。



最良の基準は時間です。 時間が経぀に぀れお、矎しいものが繁栄し、いものは忘华の䞭で倱われたす。 悲しいかな、人間の生掻にかかるよりも時間がかかるかもしれたせん。 サミュ゚ル・ゞョン゜ンは、䜜家の評刀を築くには100幎かかるず蚀った[1] 著者の圱響力のある友人が亡くなっおから、ファンになるたで。



事故はハッカヌの評刀に倧きな圹割を果たしたす-私の意芋では、これに我慢する必芁がありたす。 この意味で、ハッカヌは他のクリ゚むタヌずそれほど違いはありたせん。 倚くの人ず比范しお、ハッカヌは幞運です。 絵画では、ファッションの圱響がはるかに匷くなりたす。



人々はあなたの仕事を理解しおいたせん-ひどいですが、もっず悪いこずがありたす。 あなた自身があなたの仕事を理解しおいない堎合はさらに悪い。 アむデアを探しお、関連分野を掘り䞋げたす。 たずえば、コンピュヌタヌサむ゚ンスの孊郚では、ハッキングは理論的なコンピュヌタヌサむ゚ンスの理論の応甚バヌゞョンであるず確信するのは非垞に魅力的です。 倧孊院では、理論にもっず泚意を払うべきであるずいう挠然ずした考えに絶えず苊しめられ、最終詊隓の3週間埌にそれを完党に忘れるこずは非垞に無謀でした。



今、私は自分が間違っおいたこずを理解しおいたす。 ハッカヌが蚈算の理論を必芁ずするのは、アヌティストが色の化孊を必芁ずするのず同じです。 時間ず空間の耇雑さの蚈算方法、およびチュヌリングの完党性に぀いお知る必芁がありたす。 パヌサヌたたは正芏衚珟のラむブラリを䜜成する堎合、有限状態マシンの抂念さえ芚えおいおも問題ありたせん。 実際、芞術家は塗料の化孊組成をもっず芚えおおく必芁がありたす。



アむデアの最良の情報源は、「コンピュヌタヌ」ずいう蚀葉が珟れる名前の領域ではなく、クリ゚むタヌによっお䜜成された領域であるこずがわかりたした。 絵画は、蚈算理論よりもはるかに豊富な情報源です。



䟋えば、私は倧孊で教えられたしたコンピュヌタヌに近づく前に、プログラムは完党に玙に曞き留められるべきです。 私が間違っおプログラムしたこずがわかりたす。 玙の䞊ではなく、コンピュヌタヌの前でプログラミングするのが奜きでした。 さらに悪いこずに、゚ラヌをチェックしおプログラム党䜓を蟛抱匷く曞かず、絶望的に湟曲したコヌドを吐き出し、埐々に正垞に戻したした。 圌らが教えおくれたデバッグは、タむプミスや脱萜をキャッチする最埌のアプロヌチです。 プログラミングが無限のデバッグのようになるように働きたした。



長い間、私はこのこずを心配しおいたした-小孊校で教えられたように鉛筆を持たなかったずいう事実の結果ずしお。 他のクリ゚むタヌ、アヌティスト、建築家を芋おください。私の手法にはスケッチずいう名前があるこずを理解しおいたす。 私が理解しおいる限りでは、倧孊ではプログラミングは完党に間違っおいるず教えられおいたした。 アヌティスト、建築家、䜜家のように、執筆プロセスでプログラムを䜜成したす。



この事実の認識は、゜フトりェア開発に本圓に圱響したす。 プログラミング蚀語は、たず柔軟でなければなりたせん。 プログラミング蚀語-プログラムに぀いお考えるためであり、既に考え抜かれたプログラムを定匏化するためではありたせん。 ペンではなく鉛筆。 静的な型制埡は、倧孊で教えられおいるように実際にプログラムされおいれば、悪いこずではありたせん。 しかし、私が知っおいるハッカヌは䞀人もいたせん。 私たちは、萜曞きをしたり、しみを぀けたり、掗ったりするこずができる蚀語を必芁ずしたす。そしお、デヌタ型のカップに座っお、厳しい幎配の叔母コンパむラず䞁寧に話すのが奜きではありたせん。



静的制埡に぀いお話しおいるので、ここにありたす。 自分自身をクリ゚ヌタヌず呌び、科孊を悩たせおいるもう1぀の問題、en望から数孊たでを取り陀きたす。 科孊者は誰でも、数孊者のほうが賢いず信じおいたす。 数孊者はこれを他の人たちよりも劣らないず信じおいるようです。 しかし、最終的に、科孊者たちは自分たちの研究を限界たで数孊的に芋せようずしおいたす。 いく぀かの物理孊ではこれは問題ではないかもしれたせんが、自然科孊から遠くなるほど、問題は悪化したす。



もちろん、匏のペヌゞは印象的です。 ヒント衚珟力を高めるために、ギリシャ語の倉数を導入したす。そしお、重芁な問題に぀いおではなく、正匏にアプロヌチできる問題に取り組むのは魅力的です。



ハッカヌがクリ゚ヌタヌ-ラむタヌやアヌティスト-を自分で芋たら、そのような誘惑は起こらなかっただろう。 䜜家や芞術家は数孊者にjeしおいたせん。 圌らは数孊ずは党く関係のないこずをしおいるず信じおいたす。 ハッカヌのように、私は思う。



倧孊や研究所では、ハッカヌが奜きなこずをするこずを蚱可しおいたせん-ハッカヌは䌁業に居堎所を持っおいるのでしょうか 残念ながら、ほずんどの䌁業はこれも蚱可しおいたせん。 倧孊ず研究所は、ハッカヌを科孊者にし、䌁業を゚ンゞニアにしたす。



私自身、最近これを発芋したした。 YahooがViawebを賌入したずき、圌らは私に䜕をしたいのか尋ねおきたした。 私はビゞネスの面があたり奜きではなかったので、ハッキングだけに関䞎したいず蚀いたした。 ダフヌに着いたずき、圌らにずっおそれは゜フトりェア補品を䜜成するのではなく実装するこずを意味するこずを発芋したした。 それらのプログラマヌは、マネヌゞャヌのビゞョンを翻蚳する技術者ですたあ、それを呌び出したしょう。



倧䌁業では、それだけのようです。 䌁業は、最終的に平均偏差率を䞋げるためにこれを行いたす。 真に゜フトりェアを䜜成できるハッカヌはごく少数であり、それらを把握するのは容易ではありたせん。 したがっお、䌁業は将来の゜フトりェア補品を独創的なロヌン䌚瀟に匕き枡すのではなく、補品がグルヌプによっお䜜成されるようにすべおを手配し、ハッカヌはそれを具䜓化するだけです。



あなたがお金を皌ぎたいなら、それを垞に芚えおおいおください-これがスタヌトアップが成功する理由の䞀぀です。 倧䌁業は、灜害を望たないため、最終補品の平均偏差を枛らしたす。 しかし、倉動を均等化するず、䞋の極端だけでなく、䞊の極端も倱いたす。 倧䌁業にずっお、これは冷たくも暑くもない。なぜなら、圌らは独創的な補品を犠牲にしお勝おないからだ。 他の倧䌁業ほどひどくないので、圌らは勝ちたす。



そのため、゜フトりェアがプロダクトマネヌゞャヌによっお䜜成されおいるかなり倧きな䌁業ずの開発戊争に参加する方法を芋぀けた堎合、その䌁業はあなたに远い぀くこずはありたせん。 唯䞀の機䌚-猫は泣いた。 倧䌁業を開発戊争に匕きずり蟌むこずは困難です。芁塞で掘った敵を癜兵戊に匕き蟌むこずは困難です。 たずえば、ワヌドプロセッサの䜜成はMicrosoft Wordよりも優れおいたすが、難しいこずではありたせんが、Microsoftはオペレヌティングシステムの独占ずいう難攻䞍萜の城で、おそらくプロセッサに気付かないでしょう。



誰も芁塞を建おおいない堎合、新しい垂堎での開発戊争を繰り広げるべきです。 そこで、倧胆な補品を䜜成し、同じ人がそれを䜜成しお実装するよう手配するこずで、倧きな勝利を収めるこずができたす。 マむクロ゜フトは圓初、このように機胜しおいたした。 そしおアップル。 そしおヒュヌレット・パッカヌド。 成功したスタヌトアップはすべおそうしおいるず思う。



したがっお、優れたプログラムを䜜成する1぀の方法は、独自のスタヌトアップを開くこずです。 ただし、2぀の問題がありたす。 たず、スタヌトアップでは、プログラムの䜜成に加えお、倚くのこずを行う必芁がありたす。 Viawebでは、私は幞運にも、四分の䞀の時間ハッカヌになっおいた。



残りの4分の3の時間に、退屈なものからひどいものたで、たくさんのこずをしたした。 出発点がありたした。ある日、私は理事䌚を蟞めお印を抌さなければなりたせんでした。 ドリルを楜しみにしお歯科甚の怅子に座っおいたのを芚えおおり、䌑暇䞭のように感じたす。



別の問題は、お金をもたらす゜フトりェアず、曞くのが面癜い゜フトりェアがあたり重ならないこずです。 プログラミング蚀語を曞くのは興味深いこずであり、本質的に最初のマむクロ゜フト補品は1぀でしたが、今ではプログラミング蚀語の費甚はかかりたせん。 お金が欲しいなら、誰も無料で解決できない問題に取り組む必芁がありたす。



これは䜜成者の問題です。 䟡栌は需芁ず䟛絊によっお決定され、䜜業に興味があるものは、すべおの消費者が盎面する地䞊の問題の解決策よりも需芁が少なくなりたす。 圌らはゎリラの靎でフェアを走り回るよりも、ブロヌドりェむ以倖のプレむをする方が安い。 小説を曞くため-ガベヌゞコレクションを宣䌝するためよりも少ない。 たた、ハッカヌのプログラミング蚀語の堎合-䌁業デヌタベヌスをWebサヌバヌにフックする゜フトりェアの堎合よりも少ないです。



゜フトりェアの分野では、ほずんどすべおのクリ゚ヌタヌが知っおいる抂念、぀たりデむワヌクによっお問題が解決されるず思いたす。 このフレヌズは、倜に挔奏するミュヌゞシャンによっお玹介されたした。 䞀般的に、これは、ある人がお金のために働き、別の人が愛のために働くこずを意味したす。



ほずんどすべおのクリ゚むタヌは、キャリアの初めにフルタむムで働いおいたした。 これはアヌティストや䜜家で有名です。 運がよければ、実際のビゞネスに関連する仕事を芋぀けるでしょう。 ミュヌゞシャンはしばしば音楜店で働きたす。 プログラミング蚀語たたはオペレヌティングシステムで䜜業するハッカヌは、これらすべおが圹立぀䜜業を芋぀けるこずができたす。 [2]



もちろん、アむデアは新しいものではありたせん。 これは、すべおのオヌプン゜ヌスプログラミングが構築される堎所です。 実際、オヌプン゜ヌスは適切なモデルかもしれたせん。他のすべおのクリ゚むタヌは、その正確性を独自に確認しおいたす。



雇甚䞻がハッカヌがオヌプン゜ヌスプロゞェクトに取り組むこずを蚱可したがらない堎合、私は驚くでしょう。 Viawebでは、しなかった人を枋々採甚したした。 むンタビュヌでは、プログラマヌが空き時間にどのような゜フトりェアを䜜成するかに぀いお最も興味がありたした。 仕事が嫌いな人はうたく働けないでしょうし、ハッキングが奜きな人は必然的に自分のプロゞェクトに取り掛かりたす。 [3]



ハッカヌは科孊者ではなく䜜成者であるため、科孊ではなく、他の䜜成者の間で比phorを探すべきではありたせん。 絵画は他に䜕を教えおくれたすか



たず、私たちが孊ぶ絵画の䟋で-いずれにしおも、ハッキングを孊ぶ方法を確認したす。 䞻に絵を描くこずで、絵を描くこずを孊びたす。 ハッキングに぀いおも同じです。 ほずんどのハッカヌは、倧孊のプログラミングコヌスを勉匷するこずではなく、独自のプログラムを䜜成するこずでこの技術をたったく孊びたせん。13歳からです。 孊校では、ハッキングのみを孊びたす。 [4]



アヌティストはキャンバスを離れたす。これにより、圌がどのように勉匷したかを远跡できたす。 アヌティストの䜜品を時系列で考えるず、埌続の各写真には前の䜜品の経隓が含たれおいるこずが明らかになりたす。 原則ずしお、初期の䜜品では、埌の創造的な成功の胚が発芋されたす。



それがほずんどのクリ゚ヌタヌの仕事だず思いたす。 䜜家や建築家もそうです。 ハッカヌがアヌティストずしお行動し、絶えずれロから始め、1぀のプロゞェクトで䜕幎も働いおおらず、最新のアむデアをそれに圓おはめようずする方が䟿利かもしれたせん。



ハッカヌがこのプロセスで再び孊習するずいう事実は、ハッキングず科孊の違いを瀺しおいたす。 科孊者はその過皋で科孊を孊ばず、研究宀で研究を行い、タスクを策定したす。 科孊者は完璧な仕事から始めたす-誰かが圌らのためにした仕事を再珟しようずしおいるずいう意味で。 そしお、圌らは最終的に独自の䜕かをするこずができたす。 ハッカヌは、最初から䜕か独自のこずをしおいたす。 ただ悪いです そのため、ハッカヌはオリゞナルから始めお完璧に仕䞊げ、科孊者は完璧から始めおオリゞナルに仕䞊げたす。



より倚くのクリ゚むタヌが䟋から孊びたす。 アヌティストにずっお、矎術通は芞術的手法の参考になりたす。 䜕癟幎もの間、芞術家の䌝統的な蚓緎の芁玠は偉倧な巚匠の䜜品をコピヌするこずでした。なぜならコピヌするこずで、キャンバスがどのように䜜られるかをより詳しく芋るからです。



䜜家もそうしおいたす。 ベンゞャミン・フランクリンは、アディ゜ンずスティヌルの゚ッセむの芁点を芁玄し、それらを再珟しようずするこずを孊びたした。 レむモンド・チャンドラヌは探偵小説でも同じこずをしたした。



たた、ハッカヌは、倖郚からだけでなく、゜ヌスコヌドからも高品質のプログラムを孊習するこずで、プログラミングを孊ぶこずができたす。オヌプン゜ヌスプログラミングの最も知られおいない利点の1぀は、プログラミングトレヌニングが倧幅に簡玠化されるこずです。私が勉匷しおいたずき、私たちはほずんど本から䟋を孊ぶ必芁がありたした。圓時の唯䞀の倧きなコヌドはUnixでしたが、それでもオヌプン゜ヌスではありたせんでした。



それを読んだ人のほずんどは、1977幎に曞かれたゞョン・ラむオンズの本で違法コピヌを研究したしたが、1996幎にのみ出版を蚱可されたした。



そしお、ここに絵画が私たちに教えおいるものがありたす。絵画は段階的な改善によっお䜜成されたす。通垞、絵はスケッチから始たりたす。詳现が埐々に远加されたした。しかし、远加されただけではありたせん。元の蚈画に誀りがある堎合がありたす。倚くの絵画では、X線でそれらを芋るず、腕や脚が動かされたり、顔が再描画されたりしたす。



これは絵画から孊ぶこずができたした。私の意芋では、ハッカヌはたさにそれをすべきです。プログラムの仕様が完璧であるこずを期埅するのは愚かです。すぐに承認しお、その堎で仕様を倉曎するプログラムを䜜成する方が良いでしょう。

倧䌁業の構造ではこれが蚱可されおいないため、スタヌトアップもここで有利になりたす。



誰もが時期尚早な最適化の危険性を認識しおいるようです。時期尚早の開発を心配する理由があるず思いたす-それは、プログラムが䜕をすべきかを決定するのが早すぎるからです。



適切なツヌルは、この危険を回避するのに圹立ちたす。油絵の具のような優れたプログラミング蚀語を䜿甚するず、簡単に考えを倉えるこずができたす。動的な型制埡は倧きなプラスです。特定のデヌタプレれンテヌションをすぐに賌読する必芁はありたせん。しかし、柔軟性の鍵は、蚀語を非垞に抜象化するこずです。短いプログラムは曞き換えが簡単です。



パラドックスのように聞こえたすが、すばらしいキャンバスは本来よりも優れおいるはずです。その䞭で、圌は各葉を泚意深く凊方したした。倚くの芞術家は、それが単なる背景、頭のフレヌムだず思っおいたした。誰が茂みを綿密に研究したすか



ゞネノラ・デ・ベンチ
画像

レオナルドのゞネノラ・デ・ベンチ、1474幎。



そうではないレオナルド。圌は各断片に慎重に取り組みたした-ずにかく、圌らは慎重にそれを調べるかどうか。圌はマむケル・ゞョヌダンのようでした。容赊ない。



容赊ないこずが勝利ぞの鍵です。芋えない现郚が䞀緒に芋えるようになりたす。ゞネノラ・デ・ベンキの肖像を通り過ぎるず、人々はしばしば「レオナルド・ダ・ノィンチ」のサむンのあるプレヌトを芋さえせずに圌に泚意を払いたす。目に芋えない现郚はすべお䞀緒に驚くほどの䜕かを圢成したす。



玠晎らしいプログラムには、矎ぞの熱狂的な献身も必芁です。優れたプログラムの内郚を芋るず、誰も芋ないような断片でさえ、その䞭に矎しいこずがわかりたす。私は玠晎らしい゜フトりェアを曞くず䞻匵しおいたせん。ただし、コヌドで行ったのず同じように日垞生掻で振る舞うず、薬を凊方されるこずになりたす。コヌドのフォヌマットが適切でない堎合、たたはコヌドにい倉数がある堎合、私は恐れおいたす。



ハッカヌが仕様をコヌドに倉換する単玔な実行者である堎合、圌はあたかも溝を掘るかのように最初から最埌たで働きたす。しかし、ハッカヌが䜜成者である堎合、むンスピレヌションを考慮する必芁がありたす。



ハッキングでは、絵画のように、䜜業はサむクルで行われたす。新しいプロゞェクトがキャプチャされ、1日16時間動䜜する準備ができおいる堎合がありたす。そしお、時には䜕も本圓にキャッチしたせん。



効率的に䜜業するために、これらのサむクルを忘れおはなりたせん。サむクルをどのように認識するかに䟝存したす。手動のギアボックスを備えた車で䞊り坂を走行するずき、倱速しないように枛速する必芁がある堎合がありたす。リトリヌトはデザむンを保存し、ストヌルしたせん。ペむントずハッキングの䞡方で、いく぀かのタスクは恐ろしく野心的ですが、他のタスクは快適に普通です。単玔なタスクを、それらなしで単玔に死ぬ瞬間たで続けるのが賢明です。



ハッキングでは、これは文字通りバグを残すこずを意味したす。私はデバッグが奜きですデバッグ䞭、ハッキングは簡単で、誰もがそうだず考えおいたす。特定の問題があり、それを解決する必芁がありたす。プログラムはXを実行する必芁がありたす。たた、Yを実行したす。䜕が問題なのですかあなたは最終的にあなたが勝぀こずを理解しおいたす。壁をペむントするようにリラックスしたす。



絵画は、私たち自身の仕事に察凊するだけでなく、䞀緒に働くこずも教えおくれたす。過去の偉倧な䜜品の倚くは、数十人の手䜜業の成果であるが、おそらく博物通のプレヌトにはたった䞀぀の名前しか珟れおいない。レオナルドは、ノェロッキオの工房で孊び、キリストの掗瀌で倩䜿を曞きたした。そのような堎合は、䟋倖ではなく芏則でした。ミケランゞェロは、システィヌナ瀌拝堂の倩井にすべおの人物を曞くこずを䞻匵したため、特に熱心であるず考えられたした。



キリストの掗瀌
画像



私の知る限り、キャンバスで䞀緒に䜜業しおいるアヌティストは、同じ断片を決しお曞きたせん。通垞、マスタヌは䞻人公ずヘルパヌを描いた-残りず背景。しかし、他の人の䜜品の䞊に曞いた人はいたせん。



私の意芋では、これはプログラミングにおける協力の成功モデルです。行き過ぎないでください。 1぀のコヌドが3人たたは4人で䜜成され、実際には誰のものでもない堎合、最終的にはある皮の共通の郚屋になりたす。攟棄されたゞョむレスは、ほこりを収集したす。私の意芋では、プロゞェクトを厳密に定矩されたモゞュヌルに分割し、それぞれがモゞュヌルを配垃し、モゞュヌル間のむンタヌフェむスをプログラミング蚀語のようにきちんず、理想的には明確に開発する方が正しいず思いたす。



絵画のようなプログラムは、䞻に人々を察象ずしおいたす。したがっお、優れた䜜品を䜜成するには、アヌティストなどのハッカヌが共感できる必芁がありたす。ナヌザヌの目を通しお補品を芋おください。



子䟛の頃、私は垞に倖囜の芳点から䜕かを芋るこずを勧められたした。実際、これは垞に、誰かが望むように行うべきであり、私が望むようにするべきではないこずを意味しおいたした。この共感から悪い評刀を埗お、私は圌に泚意を払わなかった。



䞻よ、私はどのように間違っおいたした。他人の目を通しお芋る胜力は、実際に成功ぞの鍵であるこずが刀明したした。共感は必ずしも自己犠牲ではありたせん。たったくありたせん。他人の芖点を理解しおいおも、他人の利益のために行動するずいう意味ではありたせん。いく぀かの状況では-たずえば戊争では-あなたはたったく反察に行動したす[5]。



ほずんどのクリ゚ヌタヌは人々のためにそうしたす。そしお、芖聎者を匕き付けるには、必芁なものを理解する必芁がありたす。ほずんどすべおの絵画においお、人々は人々が人々に興味を持っおいるからです。



共感は、おそらく良いハッカヌず玠晎らしいハッカヌの最も重芁な違いです。䞀郚のハッカヌは非垞に賢いですが、共感の点では-ただ独断䞻矩者です。このような人々が優れた゜フトりェアを䜜成するこずは困難です[6]。圌らはナヌザヌの目を通しお補品を芋たせん。



人々に共感がどのように䞎えられおいるかを確認するには、技術に぀いお䜕も理解しおいない察話者に技術的な質問をどのように説明するかを芳察したす。誰もが知り合いであり、実際には賢明ですが、この問題をコミカルに解決するこずはできたせん。倕食時にプログラミング蚀語ずは䜕かを尋ねるず、圌らは次のように答えたす。「たあ、高レベル蚀語は、コンパむラが入力でオブゞェクトコヌドを生成するために䜿甚するものです。」高玚蚀語コンパむラオブゞェクトコヌドプログラミング蚀語が䜕であるかを知らない人は、これらの単語を知りたせん。



゜フトりェアはそれ自䜓を郚分的に説明したす。したがっお、優れた゜フトりェアを䜜成するには、ナヌザヌがほずんど理解しおいないこずを理解する必芁がありたす。圌はわずかな準備をせずに゜フトりェアを䜿甚したすが、ナヌザヌが指瀺を読たないため、゜フトりェアがナヌザヌの期埅を欺かず、必芁なこずを実行する方が良いでしょう。この芳点から私が知っおいる最高のシステムは1985 Macです。圌は゜フトりェアが通垞はしないこずをしたしたそれはただ動きたした[7]。



゜ヌスも自分自身を説明する必芁がありたす。私は、単䞀のフレヌズをプログラミングに関するティヌチ人々に望んでいた堎合、私は圌らに«プログラムの構造ず解釈コンピュヌタ»の最初に䞎えられた匕甚を教えおくれる[8]は



プログラムはそう人々がそれらを読むこずを曞かれお、そしお時には唯䞀の-車はそれらを実行したす。



共感は、ナヌザヌだけでなく読者にも必芁です。それはあなたの利益のためです-あなた自身はそれらの1人になりたす。倚くのハッカヌは最初にプログラムを䜜成したしたが、6か月埌、これらのプログラムがどのように機胜するかわからないこずがわかりたした。そのようなケヌスの埌の私の知り合いの䜕人かは、Perlで二床ず曞かないこずを誓いたした[9]。



共感の欠劂は知性に関連しおいる-特定のサヌクルではそれが䜕らかの圢で流行しさえする皋床に。私はそれらが䜕らかの圢で盞関するずは思わない。数孊ず自然科孊では、共感をなくすこずができたす。そのような分野では、人々は通垞頭がいいので、これらの2぀の資質が集たっおいたす。しかし、共感を埗られない倚くの銬鹿がありたす。トヌクショヌで質問しお電話をかける人の話を聞きたす。圌らはこれらの質問を非垞に曲がりくねっおいるので、ホストはしばしば圌らのために再定匏化しなければなりたせん。



それで、ハッキングのメカニズム-絵画や文孊のメカニズムず同じ-それはずおもクヌルですか結局のずころ、人生はただ1぀です。おそらくそれを玠晎らしいものに捧げた方が良いでしょうか



残念ながら、簡単な答えはありたせん。栄光はい぀もずおも遅いです。遠い星の光のように。絵画は、500幎前に䜜成された玠晎らしい絵画で認められおいたす。それから、これらの絵画は今日よりもはるかに重芁性が䜎くなりたした。圓時、りルビヌノ公爵フェデリコ・ダ・モンテフェルトロが、ピ゚ロ・デッラ・フランチェスコの写真で䞻に奇劙な錻を持぀男ずしお知られるこずは、人々にずっお非垞に奇劙に思えたでしょう。



フェデリコ・ダ・モンテフェルトロ
画像

ピ゚ロ・デラ・フランチェスカのフェデリコ・ダ・モンテフェルトロ、1465-66



はい、私は今、ハッキングは絵画ほどクヌルではないこずを認めおいたすが、党盛期の絵画はそれほどクヌルではないこずを芚えおおく必芁がありたす。



ある皋床の確実性をもっお、次のように蚀うこずができたす。今-ハッキングの党盛期。他のほずんどの領域では、玠晎らしい䜜品が以前に䜜成されおいたす。 1430幎から1500幎の間に䜜成された絵画は、今日に至っおいたす。シェむクスピアは、プロの劇堎が最初に登堎したずきに登堎したした。シェヌクスピアは圌を、今日のどんな劇䜜家も圌の圱に䜏むような高さに持ち䞊げたした。アルブレヒト・デュヌラヌは圫刻でも同じこずをし、ゞェヌン・オヌスティンは小説でも同じこずをしたした。



これは䜕床も繰り返されたす。新しい環境が生たれ、人々を捕らえるので、最初の数䞖代では胜力のほずんどすべおを絞るこずができたす。どうやら、ハッキングは珟圚この段階にあるようです。



レオナルドの時代、絵は圌の䜜品ほどクヌルではありたせんでした。ハッキングがいかにクヌルになるかは、この新しい環境で䜕ができるかによっお異なりたす。あなたがそれに぀いお考えるなら、認識の䞀時的な遅れは矎埳です。コンパむラやUnixカヌネルを曞いおいる人ず通信するずき、少なくずも、女の子が写真を撮るためにこれをしないこずを知っおいたす。



泚釈



[1]ゞョン゜ンはシェヌクスピア版の序文で次のように曞いおいたす。

「圌は、本の芞術的䟡倀を評䟡するために通垞枬定される期間である䞖玀を長く生き延びおきたした。個人的な蚀及、地元の䌝統、䞀時的な意芋など、どんな利点があっおも、それらは䜕幎も前に倱われおいたす。そしお、人工的な生掻様匏が圌に提䟛したすべおの楜しいトピックたたは悲しみの原因は、か぀お圌らがか぀おカバヌしたシヌンを䞍明瞭にするだけです。サポヌトずラむバル関係の圱響は終わりたした。圌の友奜的で敵察的な関係は忘华に沈みたした。圌の䜜品は誰かの理性的な意芋を支持せず、告発的なスピヌチを確執に䞎えたせん。圌らは虚栄心にも苊味にもふけるこずはできたせんが、喜びのためだけに読たれるので、喜びが受け取られた堎合にのみ称賛されたす... "



[2]写真が絵画で行った最悪のこずは、おそらく最高の䜜品を砎壊したこずでしょう。偉倧な芞術家のほずんどは、ポヌトレヌトを䜜成しお生蚈を立おたした。写真の登堎埌たもなく、雇われた写真家の登堎により圌らの数は枛った。 この方法は、シッタヌず䞀緒に䜜業するずきにも䜿いやすくなりたす。ある皋床のテクニカルアヌティストのクラスは存圚しなくなり、絵画の評䟡におけるスキルの圹割は、名前の名声写真、たたはより正確には写真に倧きく䟝存したすによっおシフトしたした本や雑誌に掲茉されおいたす。



[3]マむクロ゜フトは、空き時間であっおも、埓業員がオヌプン゜ヌスプロゞェクトに貢献するのを阻止しおいたす。しかし、珟圚、オヌプン゜ヌスプロゞェクトに取り組んでいる優秀な専門家が非垞に倚いため、このようなポリシヌの䞻な結果は、䞀流のプログラマヌを雇うこずがより難しくなるこずです。



[4]倧孊でのプログラミングに぀いお孊ぶこずは、本や服に぀いお孊ぶこずず䌌おいたす。はい、あなたは孊校の味がたったくありたせんでした。



[5]ここに適甚された共感の䟋がありたす。Viawebで2぀のオプションから遞択できなかった堎合、どちらが競合他瀟を混乱させるかを自問したした。競合他瀟が補品にオプションを远加するず、実際には圹に立たないが、それは私たちが远加しなかった数少ないオプションの1぀であり、プロのプレスでは競合他瀟に぀いお倚くのこずを曞いた。このオプションは圹に立たないず説明するこずもできたすが、自分で実装した堎合、競合他瀟はさらに動揺するこずになるず刀断したした。䞀般的に、私たちはその倜にバヌゞョンを曞きたした。



[6]テキスト゚ディタおよびコンパむラに加えお。圌らにずっお、兞型的なナヌザヌはハッカヌ自身であるため、ハッカヌには共感は必芁ありたせん。



[7]たあ、ほずんど。圌らはそれをメモリで少し䞊曞きし、それが䞍䟿なスワップを匕き起こしたしたが、これは远加のハヌドドラむブを賌入するこずで簡単に数ヶ月で修正されたした。



[8] Abelson、Harold、およびGerald Sussman、「コンピュヌタヌプログラムの構造ず解釈」、MITPress、1985幎。



[9]プログラムの読みを単玔化するこずは、それらをコメントで詰たらせるこずを意味したせん。EbelsonずSassmanの考えを発展させたす。プログラミング蚀語は、アルゎリズムを衚珟するために、ずきどき-コンピュヌタヌにそれらの実行方法を䌝えるために䜜成する必芁がありたす。優れたプログラミング蚀語は、英語よりも゜フトりェアをよく説明したす。コメントが必芁なのは、矢印が急な曲がり角だけにぶら䞋がっおいる道路のように、プログラムに読者に通知する必芁がある䜕らかの過倱がある堎合のみです。



All Articles