-->

Кодеры за работой. Размышления о ремесле программиста

На нашем литературном портале можно бесплатно читать книгу Кодеры за работой. Размышления о ремесле программиста, Сейбел Питер-- . Жанр: Прочая компьютерная литература / Программирование / Биографии и мемуары. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Кодеры за работой. Размышления о ремесле программиста
Название: Кодеры за работой. Размышления о ремесле программиста
Дата добавления: 16 январь 2020
Количество просмотров: 436
Читать онлайн

Кодеры за работой. Размышления о ремесле программиста читать книгу онлайн

Кодеры за работой. Размышления о ремесле программиста - читать бесплатно онлайн , автор Сейбел Питер

Программисты — люди не очень публичные, многие работают поодиночке или в небольших группах. Причем самая важная и интересная часть их работы никому не видна, потому что происходит у них в голове. Питер Сейбел, писатель-программист, снимает покров таинственности с этой профессии. Он взял интервью у 15 величайших профессионалов: Кена Томпсона, создателя UNIX, Верни Козелла, участника первой реализации сети ARPANET, Дональда Кнута, Гая Стила, Саймона Пейтон-Джонса, Питера Норвига, Джошуа Блоха, Брэда Фицпатрика, создателя Живого Журнала, и других. Все они «подсели» на программирование еще в школе. Тогда, на заре зарождения отрасли, лишь в немногих учебных заведениях читались курсы по компьютерным наукам. Поэтому будущим гуру приходилось покорять профессиональные вершины самостоятельно, но всех их отличает творческое горение и полная самоотдача любимому делу.

Вы узнаете, что они думают о будущем программирования и как сами научились программировать, как, по их мнению, нужно проектировать ПО, как выбор языка программирования влияет на продуктивность и можно ли облегчить выявление труднонаходимых ошибок.

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

1 ... 11 12 13 14 15 16 17 18 19 ... 153 ВПЕРЕД
Перейти на страницу:

После этого мою учетную запись в AOL заблокировали, а я зарегистрировал учетную запись у одного из местных shell-провайдеров. Тогда я, по сути, и научился работать с UNIX. Я не мог запускать CGI-скрипты, но мог загружать данные на сервер по FTP, поэтому я запускал разную ерунду, написанную на Perl на домашнем компьютере, которая создавала сайт целиком и затем загружала его на сервер. Потом я получил временную летнюю работу в Tektronix. Я хорошо знал Perl и всякие веб-штуки, но никогда не работал с динамическими веб-страницами. Это был 1994 или 1995 год — Сеть тогда была делом совсем новым.

Итак, я пришел в Tektronix. В первый же день они поставили меня перед чем-то и говорят: «Вот твой компьютер». Это была большая рабочая станция SPARCstation или что-то вроде того, где крутились X и Motif. А потом: «Вот твой браузер». Кажется, это был Netscape 2, точно не помню. И еще: «Все свои CGI-скрипты записывай в этот каталог». Помню, как взял какой-то элементарный CGI-скрипт в три строки, чтобы посмотреть его вечером, и подумал: «Черт, здорово-то как!» На следующий день я был на работе уже в шесть утра, просто тронулся на этих CGI.

Потом я занялся динамическим веб-программированием для себя. Где-то в то же время я нашел веб-сервер под Windows с поддержкой CGI. Я убедил своего провайдера — я был на хорошем счету, по крайней мере, вел себя достаточно умно, чтобы мне начали доверять, — и мне сказали: «Ладно, запустим твои CGI, но сначала их проверим». Они просмотрели их и разместили в своем каталоге. Так и начался мой скрипт Voting Booth, где можно создать тему, например «Твой любимый фильм», добавлять нужную информацию и голосовать. Он становился все популярнее. Потом я еще пару лет занимался им параллельно основной работе.

Сейбел: Так был создан сайт FreeVote?

Фицпатрик: Да, он стал сайтом FreeVote после того, как мой компьютер перестал справляться с нагрузкой. В то время реклама на баннерах была уже весьма популярна (или стремительно становилась популярной), и я получал все больше и больше денег, заключал все более выгодные контракты с более высокой платой за щелчок. Я дошел до 27 центов за щелчок на одном баннере, а это и по сегодняшним меркам до нелепости много. Так что я получал до 25-27 тысяч в месяц за дурацкие щелчки на баннерах.

Все это было в старших классах — я занимался этим одновременно с учебой. На Intel я работал в течение двух летних каникул, а в последнее лето перед колледжем приступил к работе над Живым Журналом. На первом курсе колледжа я продал FreeVote приятелю за бесценок — где-то за 11 тысяч, — просто потому, что хотел избавиться от него и от юридической ответственности за него.

Сейбел: Когда вы начали работать с UNIX, это сильно изменило ваш подход к программированию?

Фицпатрик: Да. Но не скажу, что я был от него без ума. Я не мог понять, что происходит в Windows. Видели, наверное, Windows API: по двадцать параметров на каждую функцию, и все это флаги, половина из которых равны нулю. Совершенно непонятно, что происходит. И нельзя заглянуть внутрь, если что-то волшебным образом не работает.

Сейбел: Велика ли разница между вашим первоначальным подходом к программированию, или стилем программирования, и сегодняшним взглядом на эти вещи?

Фицпатрик: Я прошел через множество стилей: сначала объектно-ориентированный, потом функциональный, а затем непонятная смесь того и другого. Вот почему я люблю Perl. С его уродливым синтаксисом, с накопившимся за много лет багажом и изъянами, он никогда не парит мне мозги, задавая стандарт оформления кода. Любой стиль, который вам нравится, хорош. Можно сделать свой код красивым и последовательным, но нет никакого стандарта, определяемого самим языком. Только после перехода в Google я перестал много писать на Perl.

После работы над Живым Журналом я много занимался тестированием. Особенно когда начал работать с другими людьми. Однажды я осознал, что написанный код никуда не исчезает, и мне придется сопровождать его до конца своих дней. Я получаю комментарии к постам в бло-ге, написанным мною 10 лет назад. «Привет, я нашел этот код и нашел в нем ошибку». И мне внезапно приходится исправлять этот код.

Сейчас я сопровождаю огромный объем кода, над которым работают и другие люди, и если в нем будет хоть какая-то заумь, наверняка найдутся те, кто не сможет понять некоторые мои идеи. Поэтому каждый раз, когда пишу что-то сложное, я обязательно создаю тест, который громко сообщит пользователю о том, что тот запутался. Мне приходилось заставлять многих писать тесты, в основном тех, кто работал на меня. Я пишу тесты, чтобы защитить свой собственный код от поломок, поэтому когда код написан, я говорю: «Вы в самом деле уверены, что он работает? Напишите тест. Докажите мне это». И в какой-то момент человек понимает, что все это окупится, особенно при последующем сопровождении.

Сейбел: Когда вы начали работать с другими людьми?

Фицпатрик: Где-то под конец учебы в колледже. Тогда я стал нанимать других, особенно в Портленде, куда вернулся после колледжа.

Первые работники занимались только технической поддержкой, то есть никакого кода не писали. Затем понемногу я начал брать на работу и программистов. Первым был мой приятель по Сети Брэд Уиттакер: у каждого из нас был сайт с названием вроде BradleyLand или Bradley World, так что мы нашли сайты друг друга. Я опережал его в области веб-программирования на год или два, и он спрашивал меня: «Слушай, как ты это сделал?», — шла ли речь об HTML, фреймах, CGI или Perl. Потом мне начали предлагать проекты, и те, что мне не нравились, я передавал ему. И вот однажды нам достался такой крупный проект, что ни один из нас самостоятельно его бы не потянул, и мы сказали заказчику: «Для этого проекта нужны двое». И он отправил нас в Пенсильванию. В Питтсбург? Я вообще не знаю восточное побережье, ведь сам я с западного. Или в Филадельфию? В общем, туда, где любят чизстейки.

Сейбел: Это Филадельфия.

Фицпатрик: Да. Мы там встретились впервые, в каком-то дешевом отеле, но у меня было такое чувство, будто я его уже знаю. Он был очень общительный. Пошел в туалет в моем номере и даже не закрыл дверь, хотя я стоял рядом. Я сказал что-то вроде: «Отлично, будь как дома».

Казалось, будто мы знаем друг друга лет пять, хотя на самом деле никогда не встречались. И мы начали работать над проектом вместе.

Он перебрался в мою просторную спальню, мы выкинули из кухни почти все, поставили компьютерные столы и там работали. Мы просыпались в 10-11 утра, работали до полудня, сидя в трусах, потом немного смотрели телевизор, после чего трудились в непрерывном режиме до 3-4 часов ночи. Потом к нам на лето присоединился еще один мой приятель — он учился в Университете Вашингтона. Летом после первого курса колледжа мы работали втроем. Мой третий друг жил в центре города. Он приезжал утром на метро, от станции катил до нас на скейтборде. Сидел на скамеечке рядом с домом и работал по Wi-Fi, пока мы не просыпались и не впускали его.

Когда нас стало трое, места оказалось уже маловато, и я предложил: «Давайте снимем офис». Мы сняли офис и сказали друг другу: «Столько места! Давайте возьмем еще людей». Мы понемногу росли, и через пару лет нас стало уже 12 человек. Живой Журнал становился все популярнее, но и нагрузка повысилась, так как я занимался персоналом.

Моя мама тоже занималась персоналом, и мы с ней постоянно ссорились, потому что она работала на меня. Мне даже пришлось выработать правила: «Мама, если ты звонишь мне, это должно быть по личному делу либо по работе. Либо то, либо это. Нельзя перескакивать с личных дел на работу и обратно». Я просто бросал трубку, когда она так делала. А когда она перезванивала, я говорил ей: «Все, хватит». Так что нервотрепки хватало. Мама была счастлива, когда я продал это дело, — она больше на меня не работала, и мы перестали ссориться.

Сейбел: Ваша компания тогда работала и по контрактам или занималась только Живым Журналом?

1 ... 11 12 13 14 15 16 17 18 19 ... 153 ВПЕРЕД
Перейти на страницу:
Комментариев (0)
название