Шрифт:
3. Дуглас Крокфорд
Старший архитектор JavaScript в Yahoo! Дуглас Крокфорд занимается программированием с середины 1970-х — тогда, в колледже, не получив студийного времени по своему основному предмету — телевещанию, он прослушал курс Фортрана. Всю карьеру он совмещал программирование и медийную деятельность в таких компаниях, как Atari, Lucasfilm, Electric Communities, а теперь — Yahoo!.
Крокфорд по натуре склонен к простоте и аккуратности. Он изобрел JSON — формат передачи данных, широко применяемый в Ajax-приложениях, поскольку XML, с его точки зрения, слишком сложен. В его недавней книге «JavaScript: The Good Parts» (JavaScript: положительные стороны) утверждается, что JavaScript — весьма неплохой язык, если избегать некоторых его возможностей. В беседе со мной Крокфорд подчеркивает важность иерархии как способа борьбы со сложностью и описывает свой метод чтения кода, который начинается с его чистки.
Ко времени нашего интервью Крокфорд уже был известен как непримиримый критик ECMAScript 4 (ES4) — новой версии стандарта языка ECMAScript (JavaScript), поскольку считает ее слишком сложной. Он высказывался в пользу версии с менее масштабными изменениями — ES3.1. В конце концов, точка зрения Крокфорда и других защитников ES3.1 возобладала, версия ES3.1 получила название ES5, a ES4 была официально отвергнута.
Мы с Крокфордом беседовали о том, что ему не нравится в ES4, о важности чтения кода как части работы в команде и о том, как совершенствовать Сеть, несмотря на имеющиеся в ней старые системы.
Сейбел: Как вы начали заниматься программированием?
Крокфорд: Я учился в Университете Сан-Франциско. Поступил туда потому, что там была хорошая система подготовки специалистов для телевидения. Но в первый год мне не удалось получить доступ к студии, и по счастливой случайности я решил посещать курс языка Фортран на математическом факультете. Оказалось, у меня прекрасно получается, так что я продолжил изучение в следующем семестре.
Это был 1971-1972 учебный год. В библиотеке хранилось множество перфокарт. Разделение времени только-только начало внедряться. В Университете Сан-Франциско не было сильного инженерного факультета, который бы занимался всеми компьютерами. Вместо этого они были распределены по всему колледжу. Свои лаборатории были на факультете естественных наук, в школе бизнеса, на гуманитарном и педагогическом факультетах. Интересно, что все эти факультеты использовали компьютеры.
Сначала я работал в научной лаборатории, потом в лаборатории факультета гуманитарных наук. Поэтому я встречался с приходившими туда экономистами, психологами, географами — все это были очень интересные люди. Узнавая о задачах, над которыми они работают, я многое понял насчет того, как чувствует себя обычный человек, общаясь с этими жуткими машинами, и стал задумываться над тем, как облегчить им жизнь.
Потом я все же получил доступ к студии и занялся всякими телевизионными делами. Это было весело, но в конце концов я решил посвятить себя компьютерам. При этом постоянно думал, как объединить обе эти вещи. Я предчувствовал многое из того, что сейчас называют мультимедиа и цифровым мультимедиа. Впоследствии я не раз возвращался к работе с медиа, а потом опять к компьютерам.
Сейбел: Итак, вы начали с Фортрана и поняли, что делаете в нем успехи. Чем еще привлекало вас программирование, кроме мысли о том, что у вас это получается?
Крокфорд: Только это. Это был мой первый семестр в колледже, надо было прослушать один курс на математическом факультете, я выбрал его наугад, и это оказался курс Фортрана. Так что я не шел туда специально для того, чтобы научиться программированию. Просто так вышло.
Сейбел: Помните свою первую действительно интересную программу?
Крокфорд: Давно это было. Кажется это была программа дизассембли-рования работающей системы на Фортране для системы с разделением времени, которую я использовал. В процессе ее написания я понял, как работает система, и многое узнал о программировании, основанном на этой модели, включая некоторые вещи из того, что обычно не публиковалось.
Сейбел: По сравнению с тем временем, что больше всего изменилось в вашем подходе к программированию?
Крокфорд: Был период, лет десять, когда важнейшим фактором была производительность. Кажется, это было в самом начале эры микропроцессоров, когда объем памяти был крайне небольшим, а процессоры работали очень медленно. Мы засели за ассемблер для разработки игр или прослушивания музыки, чтобы они влезали в доступную память и работали достаточно быстро. Но этот этап пройден, и сегодня мы создаем большие приложения на JavaScript, работающие в браузере. Это чрезвычайно неэффективная среда по сравнению с теми, в которых мы привыкли работать, но благодаря закону Мура мы вполне можем себе это позволить.
Сейбел: Есть ли сожаления по поводу того пути, который вы выбрали, изучая программирование?
Крокфорд: Есть интересные языки, поработать с которыми мне так и не пришлось. Я много читал об APL и понимаю, почему он погиб, но это был очень логичный язык; жаль, что так и не удалось им позаниматься. Были и другие подобные языки, которыми я интересовался, читал о них кое-что, но так никогда и не получил шанса научиться думать на них.
Сейбел: Получив диплом телеведущего, чем вы занялись?
Крокфорд: Я поступал в магистратуру по технологиям образования. Но скоро понял, что знаю намного больше, чем мне преподают, и что все это пустая трата времени. Я бросил это дело где-то через год и пошел работать в Стэнфордский исследовательский институт в Менло-Парке. Потом я перешел в компанию Basic Four, которая производила миникомпьютеры для бизнеса, и проработал там довольно долго. Я разрабатывал текстовый процессор для компании и начал кое-какие исследования насчет переносных машин и персональных компьютеров. Я пытался обратить внимание компании на персональные компьютеры. Первым в компании купил персональный компьютер и оставил его на своем столе, чтобы инженеры приходили и смотрели на детище IBM.