Coders at Work: Reflections on the craft of programming / Программисты на работе: Размышления о ремесле программирования: Jamie Zawinski

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Хакеры языка Lisp, ранние разработчики графического интерфейса Netscape и владелец ночного клуба Джеймс Завински, иначе JWZ, являются членами избранной группы хакеров, которые известны по трем буквам инициалов их полных имен.

catekaterina 01.03.12 в 06:42

1

Гуру лиспа, разработчик браузера Netscape и владелец ночного клуба Джеймс Завински, также известный как jwz, относится к той группе хакеров, чьи трехбуквенные прозвища, также хороше известны как и полные имена.

freecozoid 01.05.12 в 17:43

1

Завински начал работать программистом в подростковом возрасте, когда он был нанят, чтобы взломать Lisp в лаборатории искусственного интеллекта Карнеги-Меллона.
После посещения колледжа достаточно долгого, чтобы обнаружить, что он его ненавидел, он работал в мире Lisp и AI в течение почти десятилетия, получив странное вхождение в субкультуру слабеющих хакеров, когда другие программисты его возраста росли с микрокомпьютерами.

catekaterina 01.03.12 в 07:54

-1

Он работал в Калифорнийском университете в Беркли на Питера Норвига, который описал его как "одного из лучших программистов, которых он когда-либо нанимал", и позднее в Lucid, лисповой компании, где он завершил ведущую роль в разработке Lucid Emacs, позднее переименованного в XEmacs, который впоследствии привел к великому расколу Emacs, одному из самых известных форков в мире open source.

starius 06.03.12 в 23:15

1

В 1994 он окончательно ушел из Lucid и мира Lisp и присоединился к Netscape, тогда молодому начинанию, где он был одним из первых разработчиков версии браузера Netscape для Unix и позднее почтового клиента Netscape.

starius 06.03.12 в 23:19

1

В 1998 году Завински был одним из главных инициаторов, вместе с Бренданом Ич, за mozilla.org, организации, которая взяла Netscape браузер с открытым исходным кодом.
Через год, разочарованный отсутствием прогресса в деле освобождения он покинул проект и купил ночной клуб Сан-Франциско, ДНК, Lounge, в котором он сейчас работает.
В настоящее время он посвятил свою энергию на борьбу с Калифорнийским департаментом управления алкогольными напитками в попытке преобразовать клубы всех возрастов в место для живой музыки.

catekaterina 11.03.12 в 11:46

0

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

catekaterina 15.03.12 в 09:29

0

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

catekaterina 15.03.12 в 09:30

0

Завински: Вау, это было так давно, что я с трудом могу вспомнить. Первый раз я на самом деле использовал компьютер в связи с программированием где-то в восьмом классе, кажется. У нас было несколько TRS-80s и возможность немного повозиться с BASIC. Не уверен, были ли это даже занятия - скорее что-то внеклассное. Я помню что не было способа сохранять программы, так что мы просто перебивали их вручную из журналов и всего такого. Думаю, потом я прочитал кучу книг. Помню как я читал книги о языках, которые у меня не было возможности запустить и писала на бумаге программы для языков, о которых мне приходилось только читать.

Voldemar88 15.03.12 в 10:24

1

Сибел: И какие это были языки?

Voldemar88 15.03.12 в 10:25

1

Завински: Одним из них, я помню, был APL. Я прочел о нем статью и мне он казался очень изящным.

Voldemar88 15.03.12 в 10:26

1

Seibel: Ну, это избавляет от необходимости иметь воображение клавиатуры. Когда вы были в школе у вас все классы были с компьютерами?

catekaterina 16.03.12 в 11:07

0

Завински: В старших классах я изучал Фортран. Вот и все.

Voldemar88 15.03.12 в 10:28

1

Seibel: И как-то вы были увлечены Lisp.

catekaterina 16.03.12 в 11:09

0

Завински: Я читал много фантастики.
Я думал, AI был очень лаконичен, компьютеры захватывают весь мир.
Так я узнал немного об этом.
У меня был друг в школе, Дэн Зигмунд, и мы торговали книгами, поэтому мы и узнали, Lisp.
Однажды он отправился к группе пользователей Apple на встречу в Carnegie Mellon - на самом деле это было просто программное обеспечение, торговой ситуации, потому что он хотел получить свободные деньги.
Он разговаривал с некоторыми студентами колледжа, которые там были: "О, вот этот 15-летний, который знает Lisp; это новинка,. Вы должны пойти предложить работу на Скотта Фалмана".
Дэн сделал. И Фалман дал ему работу.
И тогда Дэн сказал: "О, Вы должны нанять также моего друга", и это был я.
Так Фалман нанял нас. Я думаю, что его мотивацей было быть что-то подобное линиям, Вау, вот два школьника, которые действительно заинтересованы в этой вещи, это действительно не может мне навредитьнавредить, чтобы казнить их в лаборатории.
Так что на нас пришлась основная чернная работа, это набор вещей необходимых перекомпилировать, потому что есть новая версия компилятора; пойти выяснить, как это сделать.
Что было довольно удивительным.
Нас двое - двое маленьких детей - в окружении всех этих аспирантов делающих язык и исследующих AI.

catekaterina 16.03.12 в 11:49

0

Seibel: Это был первый шанс, на самом деле вам пришлось бежать из Lisp, там в CMU.

catekaterina 16.03.12 в 11:51

0

Завински: Я так думаю. Я знаю, в какой-то момент мы отдыхали с XLISP, которая работала на Макинтош.Но я думаю, что было потом. Но это было действительно занимательной чертой в этой группе. Я узнал, какова программа для реального использования рабочих станций PERQ, которые были частью Spice проекта, используя Spice Lisp который стал CMU Common Lisp.
Это было такое странное окружение. Мы были должны еженеделно холить на встречи, изучать, как программное обеспечение развивает работу просто слушая об этом.
Как человек, который был своего рода нашим менеджером - следил за нами - МакЛахлан, с гигантскими блондинистыми волосами, парень, прхижий на варвара.
Очень пугающий вид. И он не разговаривал много.
Я помню много времени когда я сидел там - это было что то наподобии открытой кабинки - работал, делал что то, писал некоторые программы Lisp.
Он приходил шоркая, с керамической кружкой пива, голыми ногами и просто стоял позади меня.
Я сказал "Привет".
Он ворчал или не говорил ничего.
Он просто стоял там и наблюдал за мной.
В какой то момент, я делал что то, и онт говорил, "Пххх, неравильно!" и уходил.


Это было похоже на Дзен-подход - мастер бъет меня палкой, а я должен медитировать.

catekaterina 21.03.12 в 11:25

0

Seibel: Я написал Фалману, и он сказал, что ты талантливый и очень быстро учишься. Но он также упомянул, что ты немного недисциплинированный. Как он выразился: "Мы попытались научить его работать в группе и писать код, который ты сам, или кто-то другой, сможет разобрать через месяц". Помнишь какие-нибудь из этих уроков?

karinoso 19.04.12 в 23:23

1

Завински: Но не их изучение. Конечно, одна из самых важных вещей-писать код, к которому ты можешь вернуться позже. Но мне почти 39, а тогда мне было 15, так что это все немного расплывчато.

karinoso 19.04.12 в 23:24

1

Seibel: В каком году ты начал?

karinoso 19.04.12 в 23:25

1

Завински: Это был 84-ый или 85-ый. Мне кажется, я начал летом между 10 и 11 классами. После школы, в 4 часа, я шел прямо туда и оставался до 8 или 9. Не думаю, что так было каждый день, но я провел там достаточное количество времени.

karinoso 19.04.12 в 23:26

1

Seibel: И ты почти сразу пошел в CMU после того, как закончил школу.

karinoso 19.04.12 в 23:27

1

Завински: Да. Получилось так, что я ненавидел школу. Это было худшее время в моей жизни. Почти перед выпуском я спросил у Фалмана, возьмет ли он меня на постоянную работу, а он сказал: "Нет, но у меня есть друзья, которые запускают старт-ап; иди, поговори с ними". Это были Expert Technologies-ETI. Мне кажется, он был в их команде. Они делали эту экспертную систему, чтобы автоматически нумеровать желтые страницы. Они использовали Lisp, и я знал нескольких человек, которые уже были в группе Фалмана. Они наняли меня, и все шло отлично, но через год я запаниковал: "О, господи! Я попал на эту работу только по счастливой случайности. Такого больше не случится. Когда я перестану здесь работать, я буду продавать бургеры, если у меня не будет диплома колледжа, так что мне надо пойти и получить его"

karinoso 19.04.12 в 23:32

1

План состоял в том, что я буду работать асть времени в ETI, и тогда я буду часть времени посещать школу. Это превратилось в то, что я работал полный рабочий день и ходил в школу полный день и это продолжалось, я думаю, шесть недель. Может быть, это было девять недель. Я знаю, это продолжалось достаточно долго, что я пропустил период ввода/вывода, так что я не получил своих денег обратно. Но не достаточно долго, что я на самом деле получал любые оценки. Так что сомнительно, что я на самом деле заполучил.

catekaterina 25.07.12 в 05:25

0

Это было ужасно. Когда ты учишься в школе, все говорят тебе: "Тут очень много повторяющегося дерьма и стандартных тестов. Все будет лучше, когда ты поступишь в колледж." И потом начинается твой первый год в колледже, и они говорят: "О нет, лучше становится только в аспиратуре". Так что это то же самое дерьмо каждый день - я не мог этого выдержать. Вставать в 8 утра, постоянно что-то запоминать. Они не разрешали мне пропускать предмет, который назывался Знакомство с основами, где они учили тебя, как обращаться с мышкой. Я говорил что-то вроде: "Я работаю в этом университете полтора года, я знаю как обращаться с мышкой". Но меня не выпускали - "Таковы правила". И все в таком духе. Я не мог это терпеть, поэтому я ушел. И я рад, что сделал это.

karinoso 19.04.12 в 23:44

1

Потом я работал в ETI еще 4 года, пока компания не начала испаряться. Мы использовали машины TI Explorer Lisp в ETI, поэтому я тратил кучу времени не только на работу над экспертной системой, но и на разбор пользовательского интерфейса и копание в том, как эти штуки работают. Мне они нравились-мне нравилось копаться в операционной системе и узнавать, как это все работало вместе.

karinoso 19.04.12 в 23:47

1

Я написал кучу кода, и там была какая-то новостная группа, куда я написал о том, что ищу работу, и, кстати, вот вам куча кода. Питер Норвиг увидел это и назначил мне интервью. Моя девушка в это время переехала учиться в Беркли, и я последовал за ней.

karinoso 19.04.12 в 23:49

1

Seibel: Норвиг тогда был в Беркли?

karinoso 19.04.12 в 23:49

1

Завински: Да. Это была очень странная работа. Там была целая толпа аспирантов, которые исследовали понимание естественного языка. Они были лингвистами, которые немного разбирались в программировании. Поэтому им нужен был человек, который соберет оставленные ими куски куда в одну работающую программу.

karinoso 19.04.12 в 23:50

1

Это было необычайно сложно, потому что у меня не было никакой базы знаний, чтобы понять, чем они вообще занимались. Поэтому часто было так: я смотрел на что-то; я полностью зависал. Я не имею ни малейшего понятия, что это значит, что мне делать дальше, что мне нужно прочитать, чтобы понять это. Тогда я спрашивал Питера. Он относился с пониманием - он говорил: "Это нормально, что ты этого пока не понимаешь. Я сяду и объясню тебе это во вторник". Так что теперь мне нечего делать. Поэтому я тратил кучу времени на развлечение с окошками, заставками и всякими штуками из серии пользовательского интерфейса, с которыми я развлекался раньше.

karinoso 19.04.12 в 23:54

1

После 6 или 8 таких месяцев у меня было чувство вроде "вау, да я правда просто теряю время, я же ничего для них не делаю", и я чувствовал себя на отдыхе. Были времена, когда я правда очень много работал, и тогда я оглядывался назад и думал "Зачем ты бросил эту работу-отдых? Они же платили тебе, чтобы ты писал заставки".

karinoso 19.04.12 в 23:58

1

Я ушел из Lucid. В то время она была одной из двух организаций, занимающейся разработкой на Lisp.Основная причина по которой я ушел, было осознание того, что я не сделал ничего. К тому же я был окружен людьми, которые по сути не были программистами. Я до сих пор дружу с некоторыми из них, они клёвый народ, но они лингвисты. Их гораздо больше интересовали какие-то абстрактные вещи, чем решение конкретных проблем.А я хотел сделать что-то, после чего мог бы сказать "Смотри, эту классную штуку я сделал"

(анонимно) 12.05.12 в 07:16

1

Сейблl: Ваша работа на Lucid в конечном счете привела к XEmacs, но когда вы попали туда, первоначально вы работали над сутью Lisp?

catekaterina 25.07.12 в 05:31

0

Да, одним из первых проектов над которым я работал был - не помню, как называлась та машина, это был 16-процессорный параллельный компьютер, мы использовали версию Common Lisp компании Lucid, и некоторые управляющие структуры, позволяющие распараллелить вычисления между несколькими процессорами.

freecozoid 12.05.12 в 11:02

1

Я работал немного на заднем конце того чтобы накладные расходы на порожденный процесс были ниже, чтобы вы могли сделать что-то вроде параллельной реализации Фибоначчи, который был не только полностью завален издержками на создание новой группы для каждого потока . Я действительно наслаждался этим. Это был первый раз, когда я получил использовать довольно странные машины в этом роде.

catekaterina 25.07.12 в 06:38

0

До этого я был воспитанн на новых машинах Лисп. Это означает, в основном, что кто-то уже написал в конце компилятор назад для новой архитектуры, а затем они собрали загрузки кусок кода. Так что я получил этот файл, полный двоичный исполняемый код якобы для этого другой машине и теперь я должен расшифровать их погрузчика формате, так что я могу написать небольшую программу, C, которая будет загружать в том, что, сделать страницу исполняемого файла, и переходить к нему. Тогда, надеюсь, вы получите приглашение Lisp и в этот момент вы можете начать загрузку программы вручную.

catekaterina 25.07.12 в 06:58

0

Какая для каждой архитектуры было странно, потому что это никогде на было документально провильно. Так что это вопрос составления программы С с последующей, глядя на него байт в байт-байт редактирования в Emacs. Давайте посмотрим, что произойдет, если я изменю это на нуль, оно прекратится?

catekaterina 25.07.12 в 07:12

0

Seibel: Когда вы говорите, он не был документально прав, было, что он не был документально корректен, иначе не был описан всеми?

catekaterina 25.07.12 в 07:38

0

Завински: Это, как правило, документально, и это, как правило, неправильно. Или, может быть, это было всего лишь осле трех изменений - кто знает? Но в какой-то момент вы настраиваете немного, а затем он будет недолго счить, что это был исполняемый файл, и вы должны были понять, что там происходит.

catekaterina 26.07.12 в 07:51

0

Seibel: Вот то, что происходит все время, начиная с нижнего уровня системы программирования высокого уровня API, где вещи просто не работают так, как вы ожидали, или, как они описаны. Как вы справляетесь с этим?

catekaterina 26.07.12 в 07:54

0

Seibel: Вот то, что происходит все время, начиная с нижнего уровня системы программирования высокого уровня API, где вещи просто не работают так, как вы ожидали, или, как они описаны. Как вы справляетесь с этим?

catekaterina 26.07.12 в 07:54

0

Завински: Ну, вы только приехали, чтобы ожидать этого. Чем раньше вы осознаете, что ваша карта является неправильной, тем быстрее вы сможете выяснить, где что-то пошло не так. В моем случае, я стараюсь производить исполняемый файл. Ну, я знаю,что компилятор C будет производить кто-то один. Возьмите что-то хорошее и начните преобразовывать это в плохое, пока это не перестает работать. Это основной инструмент обратной инженерии.

catekaterina 06.09.12 в 12:30

0
Минутку...

Следующая страница →