(Был эссе Гарвардта уҡылған ҡунаҡ лекцияһына нигеҙләнгән, уға алдараҡ Төньяҡ-көнсығыш университетында яһалған сығыш та ингән.)
Компьютер фәндәре буйынса аспирантураны тамамлағас, мин һынлы сәнғәт серҙәренә төшөнөргә тип сәнғәт мәктәбенә уҡырға индем. Компьютерҙар менән ҡыҙыҡһынған кешенең рәсем төшөрөү менән дә ҡыҙыҡһыныуы бик күптәрҙе ғәжәпләндерҙе. Улар хакерлыҡ менән һынлы сәнғәт бер-береһенән ныҡ айырыла тип уйлай ине: йәнәһе, хакерлыҡ — һалҡын, теүәл һәм методик эш, ә һынлы сәнғәт — ниндәйҙер тәүтормош тойғоларының ярһыу сағылышы.
Был ике ҡараш та хата. Хакерлыҡ менән рәсем сәнғәтенең уртаҡ яҡтары бик күп. Дөрөҫөн әйткәндә, мин белгән төрлө һөнәр эйәләре араһында хакерҙар менән рәссамдар бер-береһенә иң яҡындары.
Хакерҙар һәм рәссамдарҙы берләштергән нәмә — уларҙың икеһе лә яратыусылар, ижад итеүселәр булыуы. Композиторҙар, архитекторҙар һәм яҙыусылар кеүек үк, хакерҙар менән рәссамдар ҙа яҡшы әйберҙәр эшләргә ынтыла. Улар үҙ маҡсаты итеп ғилми тикшеренеүҙәр үткәрмәй, әммә яҡшы нәмә ижад итеү барышында ниндәйҙер яңы алым тапһалар, был тағы ла яҡшыраҡ.
Мин бер ҡасан да «информатика» (computer science) терминын яратманым. Уны яратмауымдың төп сәбәбе — ундай фәндең бөтөнләй булмауында. Информатика — тарихтың осраҡлылығы арҡаһында, Югославия һымаҡ, бергә тупланған бер-береһенә саҡ бәйләнгән өлкәләр ҡатнашмаһы. Бер осонда DARPA гранттарын алыр өсөн үҙҙәренең эшен информатика тип атаған ысын математиктар ята. Уртала ниндәйҙер кимәлдә компьютерҙарҙың тәбиғи тарихын өйрәнеүселәр бар — мәҫәлән, мәғлүмәтте селтәр аша ебәреү алгоритмдарының тотошон өйрәнәләр. Ә икенсе осонда хакерҙар тора; улар ҡыҙыҡлы программалар яҙырға тырыша, һәм улар өсөн компьютер — архитектор өсөн бетон йәки рәссам өсөн буяу кеүек үк үҙ-үҙеңде сағылдырыу сараһы ғына. Был математиктар, физиктар һәм архитекторҙар бер үк факультетта булырға тейеш кеүек килеп сыға.
Ҡайһы берҙә хакерҙарҙың эшен «программа инженерияһы» тип тә атайҙар, әммә был термин да шул уҡ кимәлдә яңылыш. Архитекторҙар ни тиклем инженер булһа, яҡшы программа дизайнерҙары ла шул кимәлдә генә инженер. Архитектура менән инженерия араһындағы сик бик ҡәтғи түгел, әммә ул бар. Ул «нәмә» һәм «нисек» араһында ята: архитекторҙар нимә эшләргә кәрәклеген хәл итә, ә инженерҙар уны нисек эшләргә икәнен уйлап таба.
«Нәмә» һәм «нисек» төшөнсәләрен бер-береһенән артыҡ айырырға ярамай. Эште нисек башҡарырға кәрәклеген аңламай тороп, нимә эшләргә икәнен хәл итергә тырышһағыҙ, үҙегеҙгә проблемалар тыуҙырасаҡһығыҙ. Әммә хакерлыҡ, һис шикһеҙ, ниндәйҙер спецификацияны нисек тормошҡа ашырыуҙы хәл итеүҙән генә ғибәрәт түгел. Иң яҡшы осраҡта ул — шул спецификацияның үҙен булдырыу, ә быны эшләргә иң яҡшы юл — уны ғәмәлгә ашырыу булып тора.
Бәлки, ҡасан да булһа «информатика», Югославия һымаҡ, үҙ өлөштәренә тарҡалыр. Был яҡшы булыр ине. Бигерәк тә был минең тыуған еремә — хакерлыҡҡа бәйһеҙлек килтерһә.
Бөтә ошо төрлө эш төрҙәрен бер факультетта берләштереү административ яҡтан уңайлы булһа ла, интеллектуаль яҡтан буталыш тыуҙыра. «Информатика» атамаһын яратмауымдың икенсе сәбәбе лә ошонда. Бәлки, урталағы кешеләр эксперименталь фәнгә оҡшаш бер нәмә менән шөғөлләнәлер. Әммә ике ситтәге кешеләр — хакерҙар һәм математиктар — ысынында иһә фән менән шөғөлләнмәй.
Математиктар быға артыҡ көйөнмәй кеүек. Улар математика факультетындағы башҡа математиктар һымаҡ шатланып теоремалар иҫбатлай башлай һәм, моғайын, үҙҙәре эшләгән бинаның маңлайында «информатика» тип яҙылғанын тиҙҙән һиҙмәй ҙә башлайҙыр. Әммә хакерҙар өсөн был ярлыҡ — проблема. Әгәр улар эшләгән эш фән тип аталһа, уларға үҙҙәрен ғалимдар кеүек тоторға тейешлеген тағалар. Шуға күрә университеттарҙағы һәм ғилми-тикшеренеү лабораторияларындағы хакерҙар, ысынында үҙҙәре теләгән матур программалар яһау урынына, ғилми мәҡәләләр яҙырға тейеш тип иҫәпләй.
Иң яҡшы осраҡта, мәҡәләләр ябай ғына формаллек булып тора. Хакерҙар шәп программа яҙа, һуңынан уның тураһында мәҡәлә яҙа, һәм мәҡәлә программа ҡаҙанышының күрһәткесенә әүерелә. Әммә йыш ҡына был тап килмәү проблемалар тыуҙыра. Матур әйберҙәр яһауҙан ғилми мәҡәләләр өсөн ҡулайыраҡ булған йәмһеҙ әйберҙәр яһауға шыуышып күсеү бик еңел.
Ҡыҙғанысҡа ҡаршы, матур әйберҙәр һәр саҡ мәҡәлә өсөн иң яҡшы тема була алмай. Беренсенән, тикшеренеү үҙенсәлекле (оригиналь) булырға тейеш — һәм кандидатлыҡ диссертацияһы яҙған һәр кем белә: тың ерҙәрҙе өйрәнеүеңә ышаныр өсөн бер кемгә лә кәрәкмәгән ер киҫәген билдәләргә кәрәк. Икенсенән, тикшеренеү етди булырға тейеш — ә уңайһыҙ системалар мәҡәләгә байыраҡ йөкмәтке бирә, сөнки эште башҡарып сығыу өсөн ниндәй ҡаршылыҡтарҙы еңергә тура килгәне тураһында яҙырға була. Бер нәмә лә яңылыш фараз менән башланыу кеүек ауыр проблемалар тыуҙырмай. Яһалма интеллекттың (ЯИ) ҙур өлөшө — ошо ҡағиҙәнең миҫалы; әгәр һеҙ белемде аргументтары абстракт төшөнсәләрҙе сағылдырған предикат логикаһы аңлатмалары исемлеге рәүешендә күрһәтергә була тип уйлаһағыҙ, уны нисек эшләтергә икәнлеге тураһында яҙырға мәҡәләләр тулып ятасаҡ. Рики Рикардо әйтмешләй: «Люси, һиңә байтаҡ аңлатырға тура киләсәк».
Матур нәмә ижад итеү юлы йыш ҡына булған нәмәгә нескә генә төҙәтеүҙәр индереүҙән йәки булған идеяларҙы бер аҙ яңыса берләштереүҙән тора. Бындай эште ғилми мәҡәләлә күрһәтеүе ҡыйын.
Улайһа, ни өсөн университеттар һәм ғилми лабораториялар хакерҙарға мәҡәләләренә ҡарап баһа биреүҙе дауам итә? «Уҡыу һәләте» ябайлаштырылған стандартлаштырылған тестар менән үлсәнгән йәки программалаусыларҙың етештереүсәнлеге код юлдары һаны менән иҫәпләнгән сәбәп арҡаһында. Был тестарҙы ҡулланыуы еңел, ә ярайһы уҡ эшләп торған еңел тест кеүек үҙенә ылыҡтырғыс башҡа бер нәмә лә юҡ.
Хакерҙарҙың ысынында нимәгә ынтылғанын — матур программа тәьминәте яһауҙы — үлсәү күпкә ҡыйыныраҡ булыр ине. Яҡшы дизайнды баһалау өсөн яҡшы дизайн тойғоһо кәрәк. Ә кешеләрҙең яҡшы дизайнды таный белеү һәләте менән уларҙың быны булдыра алыуына ышанысы араһында бер ниндәй бәйләнеш юҡ, киреһенсә, бәлки, кире пропорциональ бәйләнеш кенә барҙыр.
Берҙән-бер тышҡы һынау — ул ваҡыт. Ваҡыт үтеү менән матур әйберҙәр үҫешә, ә йәмһеҙ әйберҙәр ситкә ташлана. Ҡыҙғанысҡа ҡаршы, бының өсөн талап ителгән ваҡыт кеше ғүмеренән оҙонораҡ булыуы мөмкин. Сэмюэл Джонсон яҙыусының абруйы формалашһын өсөн йөҙ йыл кәрәк тип әйткән. Яҙыусының абруйлы дуҫтары үлеп бөтөүен, ә һуңынан уларҙың барлыҡ эйәрсендәре үлеп бөтөүен көтөргә тура килә.
Хакерҙар үҙҙәренең абруйында ҙур осраҡлылыҡ өлөшө булыуы менән ризалашырға тейеш, тип уйлайым. Был яҡтан улар башҡа ижадсыларҙан бер ҙә айырылмай. Дөрөҫөн әйткәндә, сағыштырып ҡарағанда, уларҙың бәхете бар әле. Хакерлыҡта моданың йоғонтоһо һынлы сәнғәттәге кеүек үк ҙур түгел.
Кешеләрҙең һеҙҙең эшегеҙҙе аңламауынан да яманыраҡ нәмәләр бар. Үҙ эшегеҙҙе үҙегеҙ яңылыш аңлау — бынан да ҙурыраҡ ҡурҡыныс. Идеяларҙы һеҙ үҙегеҙгә бәйле өлкәләрҙән эҙләйһегеҙ. Әгәр һеҙ компьютер фәндәре факультетында икәнһегеҙ, мәҫәлән, хакерлыҡ — ул теоретик информатика нимәнең теорияһы булһа, шуның ғәмәли өлөшө тип уйлау ҡыҙыҡтырғыс күренә. Аспирантурала уҡыған осоромда минең күңелемдең түрендә теорияны күберәк белергә тейешмен тигән бер уңайһыҙлыҡ тойғоһо йәшәне, һәм йомғаҡлау имтиханынан һуң өс аҙна эсендә бөтә шул нәмәләрҙе онотоуым оло ғәйеп кеүек тойола ине.
Хәҙер мин хаталашҡанымды аңлайым. Рәссамдарға буяу химияһын ни тиклем белергә кәрәк булһа, хакерҙарға иҫәпләү теорияһын да шул сама ғына аңларға кәрәк. Һеҙгә ваҡыт һәм арауыҡ ҡатмарлылығын нисек иҫәпләргә һәм Тьюринг тулылығы нимә икәнен генә белергә кәрәк. Шулай уҡ, парсер йәки регуляр аңлатмалар китапханаһы яҙырға тура килһә тип, хәләттәр автоматы төшөнсәһен генә иҫтә тотоу яҡшы булыр ине. Ысынында иһә рәссамдарға буяу химияһы тураһында бынан күпкә күберәк белергә тура килә.
Мин аңлауымса, иң яҡшы идеялар шишмәһе исемендә «компьютер» һүҙе булған башҡа тармаҡтар түгел, ә ижадсылар йәшәгән башҡа өлкәләр булып тора. Һынлы сәнғәт иҫәпләү теорияһына ҡарағанда идеяларға күпкә байыраҡ сығанаҡ булды.
Мәҫәлән, колледжда мине компьютер янына барғансы уҡ программаны тулыһынса ҡағыҙҙа төҙөп бөтөргә өйрәттеләр. Ә мин был юл менән программа яҙманым. Ҡағыҙ киҫәге түгел, ә компьютер алдында ултырып программа яҙырға яратыуымды тойҙом. Унан да яманыраҡ, бөтә программаны түҙемлек менән аҙағынаса яҙып сығып, уның дөрөҫлөгенә инаныу урынына, мин өмөтһөҙ боҙоҡ кодты сығарып ташлай һәм яйлап уны рәткә килтерә торғайным. Мине көйләү (debugging) — бары тик хаталарҙы һәм иғтибарһыҙлыҡты төҙәткән һуңғы этап ҡына, тип өйрәткәйнеләр. Минең эш рәүешемдә иһә программалау бөтөнләй көйләүҙән генә тора кеүек ине.
Башланғыс кластарҙа ҡәләмде өйрәткәнсә тотмағаныма үкенгән кеүек, мин оҙаҡ ваҡыт бының өсөн үҙемде насар тойҙом. Әгәр мин башҡа ижадсыларға, рәссамдарға йәки архитекторҙарға ғына күҙ һалған булһам, үҙемдең ни менән шөғөлләнгәнемдең исеме барлығын аңлар инем: был эскиз, һыҙма яһау. Минең белеүемсә, колледжда программалауға өйрәтеү рәүеше бөтөнләй хата булған. Программаларҙы яҙыусылар, рәссамдар һәм архитекторҙар эшләгән кеүек, яҙыу барышында уйлап табырға кәрәк.
Быны аңлау программа дизайны өсөн ҙур әһәмиәткә эйә. Был программалау теленең, барыһынан да элек, һығылмалы булырға тейешлеген аңлата. Программалау теле һеҙ алдан уйлап ҡуйған программаларҙы сағылдырыу өсөн түгел, ә программалар тураһында уйланыу өсөн кәрәк. Ул ручка түгел, ә ҡәләм булырға тейеш. Әгәр кешеләр программаларҙы мине колледжда өйрәткәнсә яҙһа, статик типлаштырыу бик яҡшы идея булыр ине. Әммә мин белгән хакерҙарҙың береһе лә программаларҙы былай яҙмай. Беҙгә һыҙғаларға, буярға һәм бутап бөтөрөргә мөмкинлек биргән тел кәрәк, ә теҙҙәрегеҙҙә типтар сынаяғын һаҡ ҡына тотоп, компилятор тигән ҡаты әбей менән әҙәпле генә һөйләшеп ултыра торған тел түгел.
Статик типлаштырыу темаһына килгәндә, үҙеңде ижадсылар менән бер тип күреү фәндәрҙе яфалаған тағы бер проблеманан ҡотҡарасаҡ: математикаға көнсөллөк менән ҡарауҙан. Фән өлкәһендәге һәр кем математиктарҙың үҙҙәренән аҡыллыраҡ булыуына эстән генә ышана. Минеңсә, математиктар үҙҙәре лә быға ышана. Нисек кенә булмаһын, һөҙөмтәлә ғалимдар үҙ эштәрен мөмкин тиклем математикаға оҡшатып күрһәтергә тырыша. Физика кеүек өлкәлә был артыҡ зыян килтермәйҙер, әммә тәбиғи фәндәрҙән алыҫлашҡан һайын, был ҙурыраҡ проблемаға әйләнә бара.
Формулалар менән тулы бит бик тәьҫирле күренә. (Кәңәш: тағы ла тәьҫирлерәк булһын өсөн грек хәрефтәре менән билдәләнгән үҙгәреүсәндәрҙе ҡулланығыҙ.) Шуға күрә, мәҫәлән, мөһим проблемалар өҫтөндә эшләү урынына, формаль рәүештә хәл итеп булған мәсьәләләр өҫтөндә эшләүгә ҙур ҡыҙығыу тыуа.
Әгәр хакерҙар үҙҙәрен яҙыусылар һәм рәссамдар кеүек башҡа ижадсылар менән бер рәттән ҡуйһа, улар бындай ҡыҙығыуға бирелмәҫ ине. Яҙыусылар һәм рәссамдар математикаға көнләшеүҙән яфаланмай. Улар үҙҙәрен бөтөнләй башҡа эш менән шөғөлләнә тип иҫәпләй. Хакерҙар ҙа шулай уҡ, минеңсә.
Әгәр университеттар һәм ғилми-тикшеренеү лабораториялары хакерҙарға үҙҙәре теләгән эште башҡарырға бирмәй икән, бәлки, уларҙың урыны компанияларҙалыр. Ҡыҙғанысҡа ҡаршы, күпселек компаниялар ҙа хакерҙарға теләгәнен эшләргә рөхсәт итмәйәсәк. Университеттар һәм ғилми лабораториялар хакерҙарҙы ғалим булырға мәжбүр итә, ә компаниялар инженер булырға ҡуша.
Мин үҙем дә быны күптән түгел генә аңланым. Yahoo компанияһы Viaweb-ты һатып алғас, улар минән нимә эшләргә теләүемде һораны. Мин бер ҡасан да эшлекле, бизнес яғын яратманым һәм бары тик программа яҙырға (hack) теләүемде әйттем. Yahoo-ға килгәс, улар өсөн хакерлыҡтың программаларҙы проектлау түгел, ә тормошҡа ашырыуҙы аңлатҡанын күрҙем. Программалаусыларға продукт менеджерҙарының хыялдарын (әгәр был һүҙ тура килһә) кодҡа тәржемә иткән техник хеҙмәткәрҙәр кеүек кенә ҡарайҙар ине.
Был ҙур компанияларҙа төп стандарт план булып тора шикелле. Улар быны һөҙөмтәнең стандарт тайпылыуын кәметеү өсөн эшләй. Хакерҙарҙың тик бәләкәй генә проценты программа тәьминәтен ысынында проектлай ала, ә компанияны идара итеүселәргә уларҙы табып алыуы ауыр. Шуға күрә программаның киләсәген бер шәп хакерға ышанып тапшырыу урынына, күпселек компаниялар эште шулай ойоштора: проект комитет тарафынан төҙөлә, ә хакерҙар был проектты бары тик тормошҡа ашыра ғына.
Әгәр ҡасан да булһа аҡса эшләргә теләһәгеҙ, быны иҫегеҙҙә тотоғоҙ, сөнки стартаптар тап ошо сәбәп арҡаһында еңә лә инде. Ҙур компаниялар проектлау һөҙөмтәләренең стандарт тайпылыуын кәметергә теләй, сөнки улар һәләкәттәрҙән ҡасырға теләй. Әммә тирбәлеүҙәрҙе баҫҡанда, һеҙ түбән нөктәләр менән бергә бейек нөктәләрҙе лә юғалтаһығыҙ. Был ҙур компаниялар өсөн проблема түгел, сөнки улар шәп продукттар яһап еңмәй. Ҙур компаниялар башҡа ҙур компанияларға ҡарағанда насарыраҡ булмауҙары арҡаһында еңә.
Шуға күрә, әгәр программа тәьминәтен продукт менеджерҙары проектлаған етерлек дәрәжәлә ҙур компания менән дизайн ярышына инеү юлын тапһағыҙ, улар бер ҡасан да һеҙгә тиңләшә алмаясаҡ. Ләкин бындай мөмкинлектәрҙе табыуы еңел түгел. Ҡәлғә эсендәге дошманды ҡул һуғышына саҡырыуы ни тиклем ауыр булһа, ҙур компанияны дизайн ярышына ылыҡтырыуы ла шул тиклем ҡыйын. Мәҫәлән, Microsoft Word-ҡа ҡарағанда яҡшыраҡ текст мөхәррире яҙыуы бик еңел булыр ине, әммә Microsoft үҙенең операцион система монополияһы ҡәлғәһенән һеҙҙең быны эшләгәнегеҙҙе һиҙмәҫ тә ине, бәлки.
Дизайн ярыштарын бер кем дә бер ниндәй нығытма ҡороп өлгөрмәгән яңы баҙарҙарҙа алып барырға кәрәк. Дизайнға ҡыйыу ҡараш ҡулланып, бер үк кешеләргә продуктты проектлауҙы ла, уны тормошҡа ашырыуҙы ла йөкмәтеп, тап шунда ҙур еңеүгә өлгәшергә була. Microsoft-тың үҙе лә башта шулай эшләне. Apple да шулай итте. Hewlett-Packard та. Минеңсә, һәр уңышлы стартап тиерлек шулай эшләгәндер.
Шулай итеп, шәп программалар яһауҙың бер юлы — үҙ стартапыңды башdominләү. Әммә бының ике проблемаһы бар. Беренсеһе — стартапта программа яҙыуҙан тыш башҡа бик күп эштәр эшләргә тура килә. Viaweb-та эш ваҡытының дүрттән бер өлөшөн программа яҙыуға арнай алһам, үҙемде бәхетле һанай инем. Ә ҡалған дүрттән өс өлөшөндә башҡарырға тейеш булған эштәр күңелһеҙлектән алып ҡурҡынысҡа тиклем үҙгәрә ине. Минең бының өсөн үлсәмем дә бар: бер ваҡыт миңә тештәремде пломбалар өсөн директорҙар советы ултырышынан китергә тура килде. Стоматолог креслоһында артҡа һөйәлеп, бырауҙы көтөп ятҡаным һәм үҙемде ялда йөрөгән кеүек тойғаным иҫемдә.
Стартаптарҙың икенсе проблемаһы — аҡса килтергән программа тәьминәте менән яҙыуы ҡыҙыҡлы булған программалар араһында уртаҡлыҡтың бик аҙ булыуы. Программалау телдәрен яҙыуы ҡыҙыҡ, һәм ысынында Microsoft-тың беренсе продукты шундай булды ла, әммә хәҙер бер кем дә программалау телдәре өсөн аҡса түләмәйәсәк. Әгәр аҡса эшләргә теләһәгеҙ, һеҙ бер кем дә бушҡа эшләргә теләмәгән ауыр һәм күңелһеҙ мәсьәләләр өҫтөндә эшләргә мәжбүр булаһығыҙ.
Бөтә ижадсылар ҙа ошо проблема менән осраша. Хаҡтар һорау һәм тәҡдим менән билдәләнә, ә эшләүе күңелле булған нәмәләргә ихтыяж айырым клиенттарҙың көндәлек проблемаларын хәл иткән нәмәләргә булған һорау кеүек үк ҙур түгел. Бродвейҙан ситтәге спектаклдәрҙә уйнау сауҙа күргәҙмәһендә кемдеңдер стендында горилла костюмы кейеп йөрөү кеүек яҡшы түләнмәй. Роман яҙыу сүп-сар юҡ итеү ҡоролмалары өсөн реклама текстары яҙыу кеүек үк күп аҡса килтермәй. Һәм программалау телдәрен булдырыу ниндәйҙер компанияның иҫке мәғлүмәттәр базаһын уларҙың веб-серверына нисек тоташтырырға икәнен асыҡлау кеүек яҡшы түләнмәй.
Программа тәьминәтенә килгәндә, был проблеманың яуабы бөтә ижадсыларға тиерлек таныш булған бер төшөнсәлә тип уйлайым: көндөҙгө эш (day job). Был төшөнсә төндә сығыш яһаған музыканттарҙан башланған. Дөйөм алғанда, был һеҙҙең аҡса өсөн эшләгән бер эшегеҙ, һәм күңел өсөн эшләгән икенсе эшегеҙ бар тигәнде аңлата.
Карьераһының башында бөтә ижадсыларҙың тиерлек шундай көндөҙгө эше була. Рәссамдар менән яҙыусыларҙың шулай эшләгәне барыһына ла мәғлүм. Әгәр бәхетегеҙ булһа, һеҙ төп эшегеҙгә яҡын көндөҙгө эш таба алаһығыҙ. Музыканттар йыш ҡына пластинкалар магазинында эшләй шикелле. Ниндәйҙер программалау теле йәки операцион система өҫтөндә эшләгән хакер ҙа шулай уҡ уны ҡулланып көндөҙгө эш таба алыр ине. [1]
Мин хакерҙар өсөн сығыу юлы — көндөҙгө эштә булыу һәм буш ваҡытта матур программалар өҫтөндә эшләү, тигәндә, быны яңы идея итеп тәҡдим итмәйем. Асыҡ кодлы (open-source) хакерлыҡтың асылы тап ошонда. Мин бары тик асыҡ код моделенең дөрөҫ булыуы ихтимал, сөнки ул башҡа бөтә ижадсылар тарафынан да бойондороҡһоҙ рәүештә раҫланған, тип кенә әйтәм.
Ниндәйҙер эш биреүсенең хакерҙарға асыҡ кодлы проекттар өҫтөндә эшләргә рөхсәт итергә теләмәүе миңә сәйер тойола. Viaweb-та беҙ бындай эште эшләмәгән кешене эшкә алырға теләмәҫ инек. Программалаусылар менән әңгәмә үткәргәндә, беҙҙе иң ныҡ ҡыҙыҡһындырған нәмә — уларҙың буш ваҡытында ниндәй программалар яҙыуы булды. Үҙең яратмаған эште бер ҡасан да ысынлап яҡшы эшләй алмайһың, әгәр программа яҙырға яратаһың икән, һис шикһеҙ үҙ 프로젝트тарың өҫтөндә лә эшләйәсәкһең. [2]
Хакерҙар ғалимдар түгел, ә ижадсылар булғанға күрә, метафораларҙы фәндән түгел, ә башҡа төр ижадсылар араһынан эҙләү дөрөҫөрәк. Һынлы сәнғәт беҙҙе хакерлыҡ тураһында тағы нимәгә өйрәтә ала һуң?
Рәсем сәнғәте миҫалынан беҙ өйрәнә алған, йәки, исмаһам, раҫлай алған бер нәмә — ул хакерлыҡҡа нисек өйрәнергә кәрәклеге. Һеҙ рәсем төшөрөргә башлыса уны төшөрөп өйрәнәһегеҙ. Хакерлыҡта ла шул уҡ хәл. Күпселек хакерҙар программалауға колледжда уҡып өйрәнмәй. Улар ун өс йәшендә үҙ программаларын яҙып өйрәнә. Хатта колледждағы дәрестәрҙә лә һеҙ хакерлыҡҡа башлыса программа яҙып (hack итеп) өйрәнәһегеҙ. [3]
Рәссамдар үҙҙәренән һуң эштәрен ҡалдырғанға күрә, уларҙың эшләп өйрәнеүен күҙәтергә була. Әгәр рәссамдың эштәрен хронологик тәртиптә ҡараһағыҙ, һәр картинаның алдағыларында өйрәнелгән нәмәләргә таянып ижад ителгәнен күрерһегеҙ. Картинала ниндәйҙер берәй шәп килеп сыҡҡан элемент булһа, ғәҙәттә уның 1-се версияһын иртәрәк төшөрөлгән берәй картинанан бәләкәйерәк дәүмәлдә табырға була.
Минеңсә, күпселек ижадсылар ошолай эшләй. Яҙыусылар менән архитекторҙар ҙа шулай эшләй шикелле. Хакерҙарға ла, йылдар буйы бер проект өҫтөндә эшләп һәм үҙҙәренең һуңғы идеяларын төҙәтеүҙәр рәүешендә өҫтәргә тырышыу урынына, рәссамдар кеүек даими рәүештә барыһын да нулдән башларға күнегеү файҙалы булыр ине, бәлки.
Хакерҙарҙың эшләп өйрәнеүе — хакерлыҡтың фәндән күпме айырылыуының тағы бер билдәһе. Ғалимдар фәнгә эшләп түгел, ә лаборатория эштәрен һәм мәсьәләләрҙе сисеп өйрәнә. Ғалимдар башта уҡ камил булған эште башҡарыуҙан башлай, сөнки улар башҡа берәү улар өсөн эшләгән эште ҡабатларға ғына тырыша. Ахыр сиктә, улар үҙенсәлекле (оригиналь) эш башҡара алырлыҡ кимәлгә етә. Ә хакерҙар башынан уҡ үҙенсәлекле эш менән шөғөлләнә; бары тик ул бик насар килеп сыға, шул ғына. Шулай итеп, хакерҙар үҙенсәлекле булып башлай һәм яҡшыра бара, ә ғалимдар яҡшы башлай һәм үҙенсәлекле була бара.
Ижадсылар өйрәнгән икенсе юл — миҫалдарға ҡарап өйрәнеү. Рәссам өсөн музей — алымдарҙың белешмә китапханаһы ул. Йөҙәр йылдар дауамында бөйөк оҫталарҙың эштәрен күсереп яҙыу рәссамдарҙың традицион белем алыуының бер өлөшө булып торған, сөнки күсереп төшөрөү картинаның нисек яһалғанына ентекләп ҡарарға мәжбүр итә.
Яҙыусылар ҙа шулай итә. Бенджамин Франклин Эддисон һәм Стил эсселарының төп фекерҙәрен ҡыҫҡаса яҙып алып, һуңынан уларҙы үҙ һүҙҙәре менән яңынан яҙырға тырышып яҙырға өйрәнгән. Реймонд Чандлер детектив хикәйәләр менән шул уҡ нәмәне эшләгән.
Хакерҙар ҙа шулай уҡ яҡшы программаларға — уларҙың нимә эшләгәненә генә түгел, сығанаҡ кодына ла ҡарап программалауға өйрәнә ала. Асыҡ код хәрәкәтенең бик үк рекламаланмаған ыңғай яҡтарының береһе — ул программалауға өйрәнеүҙе күпкә еңеләйтте. Мин программалауға өйрәнгәндә, беҙгә башлыса китаптарҙағы миҫалдарға таянырға тура килде. Ул ваҡытта ҡул аҫтында булған берҙән-бер ҙур код киҫәге Unix ине, әммә ул да асыҡ кодлы түгел ине. Сығанаҡ кодты уҡыған күпселек кеше уны Джон Лайонс китабының легал булмаған ксерокүсермәләренән уҡыны; был китап 1977 йылда яҙылһа ла, уны 1996 йылға тиклем баҫтырып сығарырға рөхсәт итмәнеләр.
Һынлы сәнғәттән ала алған тағы бер миҫал — картиналарҙың яйлап камиллаштырыу аша яһалыу рәүеше. Картиналар ғәҙәттә эскиздан башлана. Тәфсирҙәр яйлап тулыландырыла. Әммә был бары тик тултырыу процесы ғына түгел. Ҡайһы ваҡыт тәүге пландар яңылыш булып сыға. Һүрәттәрҙе рентген аша ҡарағанда, һанһыҙ картиналарҙа ҡул-аяҡтарҙың күсерелгәне йәки йөҙ һыҙаттарының үҙгәртелгәне асыҡлана.
Бына ошонда беҙ һынлы сәнғәттән үрнәк ала алабыҙ. Хакерлыҡ та шулай эшләргә тейеш, тип уйлайым. Программа өсөн талаптар (спецификациялар) камил булыр тип көтөү — ысынбарлыҡтан алыҫ. Быны алдан уҡ таныуығыҙ һәм программаларҙы талаптарҙы барыш ятышлай үҙгәртерлек итеп яҙыуығыҙ мең өлөш яҡшыраҡ.
(Ҙур компанияларҙың төҙөлөшө уларға быны эшләүҙе ҡатмарлаштыра, шуға күрә стартаптарҙың өҫтөнлөгө булған тағы бер урын бына ошонда.)
Хәҙер инде һәр кем ваҡытынан алда оптималләштереүҙең ҡурҡыныс булыуы тураһында беләлер. Мин ваҡытынан алда дизайнлауҙан — программаның нимә эшләргә тейешлеген бик иртә хәл итеүҙән дә шулай уҡ һаҡланырға кәрәк тип иҫәпләйем.
Дөрөҫ ҡоралдар был ҡурҡыныстан ҡотолорға ярҙам итә ала. Яҡшы программалау теле, майлы буяу кеүек үк, фекереңде үҙгәртеүҙе еңелләштерергә тейеш. Динамик типлаштырыу был йәһәттән отторош бирмәй, сөнки мәғлүмәттәрҙең аныҡ күренешен алдан уҡ раҫларға кәрәкмәй. Әммә һығылмалылыҡтың сере, минеңсә, телде бик абстракт итеүҙә ята. Үҙгәртеү өсөн иң еңел программа — бик ҡыҫҡа булған программа ул.
Был парадокс кеүек яңғырай, әммә бөйөк картина үҙе булырға тейештән дә яҡшыраҡ булырға тейеш. Мәҫәлән, Леонардо Милли галереялағы Джиневра де Бенчи портретын төшөргәндә, уның башы артына артыш ҡуағы ҡуйған. Унда ул һәр бер япраҡты ентекләп төшөргән. Күп кенә рәссамдар: был бары тик уның башын уратып алыу өсөн артҡы пландағы бер нәмә генә, уға бер кем дә шул тиклем ентекләп ҡарамаясаҡ, тип уйлар ине.
Әммә Леонардо түгел. Картинаның бер өлөшө өҫтөндә уның ни тиклем тырышып эшләгәне кемдеңдер уға ни тиклем ныҡ ҡарарын көтөүгә бөтөнләй бәйле булмаған. Ул Майкл Джордан кеүек ине. Баҫылмаҫ, туҡтауһыҙ.
Был ныҡышмалылыҡ еңә, сөнки бөтөнөһө бергә йыйылғанда, күренмәгән деталдәр күренеп ҡала. Кешеләр Джиневра де Бенчи портреты янынан үтеп барғанда, яҙыуға ҡарап Леонардо да Винчи тигәнде күргәнгә тиклем үк, уларҙың иғтибары йыш ҡына шунда уҡ тартыла. Ошо күренмәгән деталдәрҙең барыһы бергә ҡушылып, тап бер тонға ҡушылып йырлаған меңәрләгән саҡ ҡына ишетелгән тауыш кеүек, хайран ҡалдырғыс бер нәмә тыуҙыра.
Шәп программа тәьминәте лә шулай уҡ матурлыҡҡа ҡарата фанатик тоғролоҡ талап итә. Яҡшы программаның эсенә ҡараһағыҙ, уның бер кем дә күрергә тейеш булмаған өлөштәренең дә матур икәнен күрерһегеҙ. Мин үҙемде шәп программалар яҙам тип әйтмәйем, әммә кодҡа килгәндә, көндәлек тормошҡа шулай яҡынлашһам, миңә рецепт буйынса дарыуҙар бирерҙәр ине тигән торошта эш иткәнемде беләм. Тексы насар тигеҙләнгән йәки үҙгәреүсәндәргә йәмһеҙ исемдәр ҡуйылған кодты күргәндә шашыр сиккә етәм.
Әгәр хакер спецификацияны кодҡа әйләндереүсе ябай башҡарыусы ғына булһа, ул соҡор ҡаҙыусы кеүек эште бер осонан икенсе осона тиклем эшләп сыға алыр ине. Әммә хакер — ижадсы икән, беҙ илһамды ла иҫәпкә алырға тейешбеҙ.
Хакерлыҡта, һынлы сәнғәттәге кеүек, эш осорҙар (циклдар) менән бара. Ҡайһы ваҡыт һеҙ ниндәйҙер яңы проект менән рухланаһығыҙ һәм уның өҫтөндә тәүлегенә ун алты сәғәт эшләргә теләйһегеҙ. Башҡа ваҡытта иһә бер нәмә лә ҡыҙыҡ күренмәй.
Яҡшы эшләү өсөн был циклдарҙы иҫәпкә алырға кәрәк, сөнки улар һеҙҙең үҙегеҙҙе нисек тотоуығыҙға бәйле. Ҡул менән күсерелә торған тапшырыу ҡурамы (механика) булған машинаны тауға йөрөткәндә, һүнеп ҡалмаҫ өсөн ҡайһы берҙә муфтаны (сцепление) ебәрергә тура килә. Эш тиҙлеген әҙерәк кәметеү шулай уҡ маҡсатҡа ынтылыштың һүнеп ҡалыуына юл ҡуймай. Һынлы сәнғәттә лә, хакерлыҡта ла ҡот осҡос ҙур ынтылыш талап иткән эштәр ҙә, тыныс ҡына көндәлек ғәҙәти эштәр ҙә була. Ҡулдан эш бармаған мәлдәр өсөн ҡайһы бер еңел эштәрҙе һаҡлап ҡалыу — яҡшы идея.
Хакерлыҡта был тура мәғәнәһендә хаталарҙы (багтарҙы) йыйып ҡалдырыуҙы аңлата ала. Мин көйләүҙе (debugging) яратам: был хакерлыҡтың тап кешеләр уйлағанса ябай булған берҙән-бер мәле. Һеҙҙең алда тулыһынса сикләнгән мәсьәлә тора, һәм һеҙ уны хәл итергә генә тейешһегеҙ. Программағыҙ x ғәмәлен башҡарырға тейеш. Уның урынына ул y эшләй. Хата ҡайҙа киткән? Һеҙ ахыр сиктә еңәсәгегеҙҙе беләһегеҙ. Был диуарҙы буяу кеүек үк тынысландыра.
Һынлы сәнғәт миҫалы беҙҙе үҙ эшебеҙ менән идара итергә генә түгел, ә бергәләп эшләргә лә өйрәтә ала. Үткәндең күп бөйөк сәнғәт әҫәрҙәре бер нисә кешенең ҡул эше булған, музейҙағы стенала улар янында тик бер генә исем яҙылыуы ла ихтимал. Леонардо Верроккьоның оҫтаханаһында өйрәнсек булған һәм уның Христосты суҡындырыу картинаһындағы фәрештәләрҙең береһен төшөргән. Бындай хәл ҡағиҙәнән тайпылыу түгел, ә ғәҙәти ҡағиҙә булған. Микеланджело Сикстин капеллаһы түшәмендәге бөтә һүрәттәрҙе үҙе генә төшөрөргә теләгәне өсөн айырыуса тырыш тип һаналған.
Белеүемсә, рәссамдар бер картина өҫтөндә бергә эшләгәндә бер ҡасан да бер үк өлөштәре өҫтөндә эшләмәгән. Ғәҙәттә, оҫта төп һындарҙы яҙған, ә ярҙамсылары — ҡалғандарын һәм артҡы планды. Ләкин береһенең икенсеһенең эше өҫтөнән буяп төшөргәне бер ваҡытта ла булмаған.
Минеңсә, программа менән тәьмин итеүҙә лә хеҙмәттәшлек өсөн был иң дөрөҫ модел. Артыҡ тәрәнгә китергә кәрәкмәй. Код өлөшөн өс йә дүрт төрлө кеше үҙгәрткәндә һәм уларҙың береһе лә уның өсөн тулыһынса яуап бирмәгәндә, ул дөйөм бүлмә кеүек булып ҡала. Ул ташландыҡ һәм буш тойоласаҡ, һәм унда сүп-сар йыйыласаҡ. Хеҙмәттәшлек итеүҙең дөрөҫ юлы, минеңсә — проекттарҙы аныҡ билдәләнгән моduльдарға бүлеү, уларҙың һәр береһенең аныҡ хужаһы булырға тейеш, ә улар араһындағы интерфейстар программалау телдәре кеүек ентекләп уйланылған һәм, мөмкин булһа, шул тиклем аңлайышлы булырға тейеш.
Һынлы сәнғәт кеүек үк, программаларҙың күбеһе кеше аудиторияһына тәғәйенләнгән. Шуға күрә хакерҙар, рәссамдар кеүек, ысынлап та бөйөк эш эшләү өсөн эмпатияға эйә булырға тейеш. Донъяға файҙаланыусы күҙлегенән ҡарай белергә кәрәк.
Бала сағымда миңә гел башҡа кешенең күҙлегенән ҡарарға кәрәклеген әйтәләр ине. Ғәмәлдә был һәр ваҡыт мин теләгәнде түгел, ә кемдер башҡа теләгәнде эшләү тигәнде аңлата ине. Был, әлбиттә, эмпатия тураһында насар фекер тыуҙырҙы, һәм мин уны үҫтермәҫкә тырыштым.
Әллә нисек ныҡ яңылышҡанмын. Башҡа кешеләрҙең күҙлегенән сығып ҡарау, ғәмәлдә, уңыш сере булып сыҡты. Был мотлаҡ рәүештә үҙ-үҙеңде ҡорбан итеүҙе аңлатмай. Бөтөнләй улай түгел. Башҡа берәүҙең нисек күргәнен аңлау һеҙҙең уның файҙаһына эш итәсәгегеҙҙе белдермәй; ҡайһы бер осраҡтарҙа — мәҫәлән, һуғышта — һеҙ нәҡ киреһен эшләргә теләйһегеҙ. [4]
Күпселек ижадсылар нимәнелер кешеләр аудиторияһы өсөн яһай. Аудиторияны ылыҡтырыу өсөн уларға нимә кәрәклеген аңларға кәрәк. Мәҫәлән, иң бөйөк картиналарҙың барыһы ла тиерлек кешеләр һүрәтләнгән әҫәрҙәр, сөнки кешеләргә кешеләр ҡыҙыҡ.
Эмпатия, бәлки, яҡшы хакер менән бөйөк хакер араһындағы иң мөһим берҙән-бер айырмалыҡтыр. Ҡайһы бер хакерҙар бик аҡыллы, ләкин эмпатияға килгәндә улар ғәмәлдә солипсистар. Бындай кешеләргә шәп программа тәьминәте яһау ҡыйын [5], сөнки улар әйберҙәргә файҙаланыусы күҙлегенән ҡарай алмай.
Кешеләрҙең эмпатияға ни тиклем һәләтле булыуын белеүҙең бер ысулы — техник белеме булмаған берәйһенә уларҙың техник мәсьәләне нисек аңлатыуын күҙәтеү. Беҙҙең барыбыҙ ҙа тиерлек башҡа яҡтан аҡыллы, әммә бындай эштә көлкөлө дәрәжәлә яраҡһыҙ кешеләрҙе белә. Әгәр кемдер мәжлестә уларҙан программалау теле нимә ул тип һораһа, улар: «Эй, юғары кимәлдәге тел — компилятор объект кодын генерациялау өсөн инеү мәғлүмәте сифатында ҡулланған нәмә», — тип яуап бирәсәк. Юғары кимәлдәге тел? Компилятор? Объект коды? Программалау теленең нимә икәнен белмәгән кеше, әлбиттә, был төшөнсәләрҙе лә белмәй.
Программа тәьминәтенең бер өлөшө үҙ-үҙен аңлата белергә тейеш. Шуға күрә яҡшы программа яҙыу өсөн файҙаланыусыларҙың ни тиклем аҙ аңлауын төшөнөргә кәрәк. Улар бер ниндәй әҙерлекһеҙ программаға киләсәк, һәм ул улар күҙаллағанды эшләһә яҡшыраҡ, сөнки улар ҡулланманы уҡымаясаҡ. Был йәһәттән мин күргән иң яҡшы система 1985 йылғы оригиналь Macintosh ине. Ул программалар бер ҡасан да тиерлек эшләмәгәнсә эшләне: ул ябай ғына эшләне лә ҡуйҙы. [6]
Башланғыс код та үҙен аңлата белергә тейеш. Әгәр мин кешеләрҙең программалау тураһында тик бер цитатаны хәтерләүенә өлгәшә алһам, был Structure and Interpretation of Computer Programs башындағы өҙөк булыр ине.
Программалар кешеләр уҡыһын өсөн, ә машиналар уларҙы башҡарһын өсөн бары тик осраҡлы ғына яҙылырға тейеш.
Һеҙгә үҙ файҙаланыусыларығыҙға ғына түгел, үҙ уҡыусыларығыҙға ла эмпатия кәрәк. Был һеҙҙең үҙ мәнфәғәтегеҙҙә, сөнки һеҙ уларҙың береһе буласаҡһығыҙ. Күп кенә хакерҙар программа яҙғандан һуң, ярты йыл үткәс уға ҡайтып, уның нисек эшләгәнен бөтөнләй аңлай алмауын күргән. Бындай тәжрибәнән һуң Perl-дан баш тартҡан бер нисә кешене беләм. [7]
Эмпатияның булмауы аҡыл менән бәйле тип иҫәпләнә, хатта ҡайһы бер урындарҙа быға мода бар. Ләкин мин бында бер ниндәй корреляция күрмәйем. Математикала һәм тәбиғи фәндәрҙә эмпатияға өйрәнмәйсә лә уңышҡа өлгәшергә мөмкин, ә был өлкәләрҙәге кешеләр ғәҙәттә аҡыллы, шуға күрә был ике сифат бер-береһе менән бәйләнә башлаған. Әммә эмпатияһы насар булған ахмаҡ кешеләр ҙә етерлек. Ток-шоуға шылтыратып һорау биргән кешеләрҙе тыңлағыҙ. Улар нимә тураһында һораһа ла, шул тиклем буталсыҡ итеп һорайҙар, хатта алып барыусыларға йыш ҡына һорауҙы улар өсөн яңынан әйтергә тура килә.
Шулай итеп, әгәр хакерлыҡ һынлы сәнғәт һәм яҙыусылыҡ кеүек эшләй икән, ул шундай уҡ шәпме? Ахыр сиктә, тормош бер генә бирелә. Уны бөйөк бер нәмә өҫтөндә эшләп үткәреү күпкә яҡшыраҡ.
Ҡыҙғанысҡа ҡаршы, был һорауға яуап биреүе ҡыйын. Абруй мәсьәләһендә һәр ваҡыт ҙур ваҡыт артта ҡалыуы була. Был алыҫ йондоҙҙоң яҡтылығы кеүек. Һынлы сәнғәт хәҙер кешеләр биш йөҙ йыл элек эшләгән бөйөк эштәр арҡаһында абруйға эйә. Ул ваҡытта бер кем дә был картиналарҙы беҙ бөгөн һанағандай мөһим тип уйламаған. Ул осор кешеләренә Урбино герцогы Федерико да Монтефельтро бер көн килеп күберәк Пьеро делла Франческаның картинаһындағы сәйер танаулы кеше булараҡ билдәле буласаҡ тигән уй бик сәйер күренер ине.
Шуға күрә хакерлыҡ хәҙер һынлы сәнғәт кеүек шәп күренмәй тип таныһам да, һынлы сәнғәттең үҙе лә үҙенең сәскә атҡан осоронда хәҙерге кеүек шәп күренмәгәнен иҫтә тоторға тейешбеҙ.
Беҙ ышаныс менән әйтә алабыҙ: был — хакерлыҡтың данлыҡлы осоро. Күпселек өлкәләрҙә бөйөк эштәр иртә осорҙа башҡарыла. 1430 һәм 1500 йылдар араһында яһалған картиналар әле лә уҙҙырылмаған. Шекспир профессиональ театр яңы ғына барлыҡҡа килгән мәлдә пәйҙә булды һәм был сәнғәт төрөн шул тиклем алға этәрҙе, хатта унан һуңғы һәр драматург уның күләгәһендә йәшәргә мәжбүр булды. Альбрехт Дюрер гравюра менән, ә Джейн Остин роман менән шул уҡ нәмәне эшләне.
Беҙ ҡабат-ҡабат шул уҡ моделде күрәбеҙ. Яңы мөхит барлыҡҡа килә, һәм кешеләр уға шул тиклем ҡыҙыҡһына, тәүге ике быуын эсендә уның күпселек мөмкинлектәрен өйрәнеп бөтәләр. Хакерлыҡ хәҙер тап ошо фазала кеүек.
Һынлы сәнғәт Леонардо заманында уның эштәре уны нисек яһаған кеүек үк шәп булмаған. Хакерлыҡтың ни тиклем шәп булыуы беҙҙең был яңы мөхит менән нимә эшләй алыуыбыҙға бәйле буласаҡ.
Иҫкәрмәләр
[1] Фотографияның һынлы сәнғәткә килтергән иң ҙур зыяны — уның иң яҡшы көндәлек килем сығанағын юҡ итеүе булғандыр. Тарихтағы иң бөйөк рәссамдарҙың күбеһе үҙҙәрен портреттар төшөрөп тәьмин иткән.
[2] Миңә Microsoft хеҙмәткәрҙәренә хатта буш ваҡыттарында ла асыҡ кодлы проекттарға өлөш индереүҙе хупламай тип әйткәйнеләр. Ләкин хәҙер иң яҡшы хакерҙарҙың күбеһе асыҡ кодлы проекттар өҫтөндә эшләй, шуға күрә был сәйәсәттең төп эҙемтәһе — уларҙың бер ниндәй ҙә беренсе класлы программалаусыларҙы яллай алмауына килтереүе ихтимал.
[3] Колледжда программалау тураһында белгәндәрегеҙ китаптар, кейемдәр йәки танышыуҙар тураһында белгәндәрегеҙгә бик оҡшаш: мәктәптә ниндәй насар зауыҡҡа эйә булғанығыҙҙы аңлайһығыҙ.
[4] Бына ҡулланма эмпатия миҫалы. Viaweb-та ике вариант араһында ҡарар ҡабул итә алмағанда, беҙ «Көнәркәштәребеҙгә нимә иң нығы оҡшамаҫ ине?» тип һорай торғайныҡ. Бер мәлде көнәркәшебеҙ үҙ программаһына нигеҙҙә файҙаһыҙ булған функция өҫтәне, ләкин ул беҙҙә булмаған һирәк функцияларҙың береһе булғанға, улар тармаҡ матбуғатында был турала күп шауланы. Беҙ был функцияның файҙаһыҙ икәнен аңлатырға тырыша алыр инек, ләкин уны үҙебеҙ яһаһаҡ көнәркәшебеҙҙең тағы ла нығыраҡ асыуы сығыр тип ҡарар иттек, шуға күрә шул көндө төштән һуң үҙ версиябыҙҙы хак эшләп ташланыҡ.
[5] Текст редакторҙары һәм компиляторҙарҙан башҡа. Хакерҙарға уларҙы проектлау өсөн эмпатия кәрәкмәй, сөнки улар үҙҙәре типик файҙаланыусылар.
[6] Ярай, тиерлек. Улар булған оператив хәтерҙән бер аҙ ашып китте, был бик күп уңайһыҙ диск алышыуға килтерҙе, ләкин быны өҫтәмә диск сарлағы һатып алып бер нисә ай эсендә төҙәтеп була ине.
[7] Программаларҙы уҡыуҙы еңеләйтеү юлы — уларҙы аңлатмалар менән тултырыу түгел. Мин Абельсон һәм Сассмандың цитатаһын тағы бер аҙым алға алып китер инем. Программалау телдәре алгоритмдарҙы сағылдырыу өсөн, ә компьютерҙарға уларҙы нисек үтәргә кәрәклеген әйтеү өсөн бары тик осраҡлы ғына проектланырға тейеш. Яҡшы программалау теле программа тәьминәтен аңлатыу өсөн инглиз теленән яҡшыраҡ булырға тейеш. Аңлатмалар тик уҡыусыларҙы иҫкәртергә кәрәк булған ниндәйҙер етешһеҙлек булғанда ғына кәрәк, нәҡ юлда көтөлмәгән текә боролоштар булған урындарҙа ғына уҡтар торған кеүек.
Был яҙманың ҡараламаларын уҡыған өсөн Тревор Блэквеллға, Роберт Моррисҡа, Дэн Гиффинға һәм Лиза Рэндаллға, шулай уҡ сығыш яһарға саҡырған өсөн Генри Лейтнер менән Ларри Финкельштейнға рәхмәт белдерәм.