Чтение онлайн

на главную - закладки

Жанры

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

Сейбел Питер

Шрифт:

Я пошел в этот музей, состоящий из длинной анфилады старинных гостиных с высокими потолками. Он начинается с очень старых музыкальных инструментов - может быть, эпохи неолита - и дальше до современных. Естественно, большинство музыкальных инструментов там датированы последними двумя столетиями и сделаны в Западной Европе. Я на самом деле не все там посмотрел; я не дошел до конца одну-две гостиные, когда увидел фортепиано, принадлежавшее Леопольду Моцарту. И фортепиано, на котором репетировал Брамс. И фортепиано, которое стояло дома у Гайдна.

И тогда меня осенило: причина, по которой я не мог найти другой проект, связанный

с ПО, который меня бы заинтересовал, была не в том, что я не мог найти проект. Дело было в том, что ПО меня больше не интересовало. Каким бы безумием это ни казалось сейчас, но главная причина, по которой я в первую очередь когда-то стал заниматься разработкой ПО, заключалась в том, что я думал: это поможет мне сделать мир лучше. Сейчас я в это больше не верю. Не очень-то верю. Уже не так сильно верю.

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

Сейбел: Но вы до сих пор программируете.

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

Первый - это технология спам-фильтра для моего почтового сервера. Я бы сказал, что это не очень прикольно, но достаточно интересно. Судя по логам, которые я время от времени просматриваю, фильтр действительно отсеивает - в зависимости от того, кто в тот или иной момент выигрывает в гонке вооружений, - от 80 до 95% входящего спама.

Другой значительный проект, связанный с ПО, к которому я постоянно возвращаюсь, - это музыкальный редактор. И делаю я это потому, что достаточно глубоко исследовал эту область. Мне приходилось пару раз работать с Finale - в гостях у одного знакомого. Полный отстой. Качество этой системы настолько низкое, что даже не знаю, как вам его описать. Я раздобыл диск с Sibelius. Нет, сначала я обзавелся ноутбуком Макинтош, чтобы запустить этот диск. И обнаружил, что пользовательский интерфейс там устроен так, что без клавиши Num Lock с этой программой практически невозможно работать. В ноутбуках Макинтош нет клавиши Num Lock. В их пользовательском интерфейсе были и другие моменты, которые мне не понравились. Поэтому я решил сделать собственный редактор.

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

Итак, в результате я пришел к архитектуре для части, отвечающей за визуализацию программы - что, по моему мнению, является самым сложным, - и основанной на программировании уравнений. Вы определяете значения переменных в терминах уравнений, после чего позволяете реализации решать, когда их нужно вычислять. Оказывается, это не так уж сложно сделать на Python. Насколько я знаю, подобное уже делали как минимум дважды. Мне нравится этот подход, потому что при таком варианте используется меньше повторяющегося кода.

Да, я до сих пор немного программирую

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

Сейбел: Вы сказали, что раньше думали, будто разрабатывая ПО, сможете изменить мир к лучшему. Как вы себе это представляли?

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

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

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

И мне кажется, весьма вероятно, что если Microsoft правильно распорядится своими возможностями, то единолично завладеет Интернетом. Я уверен, что Microsoft не против такого развития событий, но мне кажется, им может хватить ума увидеть связь между тем положением, в котором они находятся сейчас, и положением, в котором у них, по сути, будет контроль над всем ПО, используемым в Интернете.

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

12. Кен Томпсон

Кен Томпсон - один из первых бородатых великих хакеров UNIX. На протяжении своей карьеры он занимался всем, что только казалось ему интересным, в том числе - в разное время - аналоговыми вычислениями, системным программированием, регулярными выражениями и компьютерными шахматами.

Он работал исследователем в проекте MULTICS Bell Labs. Когда Bell Labs решила прекратить разработку MULTICS, Томпсон вместе с Денисом Ричи продолжил работу над UNIX - за что его вполне могли уволить. Также он изобрел язык программирования Би - предшественник языка Си, созданного Денисом Ричи.

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

Поделиться:
Популярные книги

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Отец моего жениха

Салах Алайна
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Отец моего жениха

Вадбольский

Никитин Юрий Александрович
1. Вадбольский
Фантастика:
попаданцы
5.00
рейтинг книги
Вадбольский

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Таня Гроттер и магический контрабас

Емец Дмитрий Александрович
1. Таня Гроттер
Фантастика:
фэнтези
8.52
рейтинг книги
Таня Гроттер и магический контрабас

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Кодекс Крови. Книга ХI

Борзых М.
11. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХI

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Потусторонний. Книга 1

Погуляй Юрий Александрович
1. Господин Артемьев
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Потусторонний. Книга 1