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

Еще помню курс по базам данных, который читал человек, видимо, без реального опыта работы с базами данных. А я в то время уже работал с Oracle, Microsoft Server и особенно плотно с MySQL. И я задавал вопросы практического характера, на которые хотел получить ответы - тогда они были актуальны для меня, - но мне выдали стандартную фразу из учебника. Я сказал: “Нет-нет, это не работает”.

Сейбел: Вы окончили колледж в 2002 году. Теперь вы можете лучше оценить то, чему вас учили, или нет?

Фицпатрик: Половина курсов мне очень нравилась, я или узнавал что-то новое, чего в то время еще не знал, или получал соответствующие базовые знания и изучал правильную терминологию. До того я неплохо знал программирование, но у меня не было достаточного словарного запаса, чтобы объяснить то, что я делаю. Я мог выдумать собственную терминологию, но в результате люди могли бы подумать, что я не знаю, о чем говорю. В этом плане формальное образование помогло мне.

Сейбел:

Вы сожалеете о том, что приходилось совмещать работу с учебой? Может быть стоило заниматься либо одним, либо другим?

Фицпатрик: Нет, мне кажется, это был наилучший вариант. У меня были приятели, которые только учились, но я уже знал так много, что мне было бы скучно. Один мой приятель был действительно знающим, но он считал, что пошел в колледж за знаниями, а вовсе не за дипломом, - и параллельно изучал арабский, китайский и японский. И все эти безумные языки программирования. Каждую неделю он говорил: “У меня теперь новый любимый язык. Эту неделю я программирую только на OCaml». Таким образом, он был постоянно занят. Я тоже был постоянно занят и боролся со скукой, но по-другому.

У меня были приятели, которые бросили колледж в первый же год и стали делать всякую ерунду для Сети. Некоторые занялись порносайтами и всяким таким, типа “мы заработаем кучу денег”. И они с головой уходили в работу, но делали только деньги, больше ничего. Колледж - прекрасное место для общения и вечеринок. Если бы я занимался только Живым Журналом, я бы умер от стресса.

Сейбел: Вы довольны тем, что изучали компьютерные науки?

Фицпатрик:

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

Сейбел: А о магистратуре думали?

Фицпатрик: Да. Было бы интересно, но я был слишком занят.

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

Фицпатрик:

Мы с друзьями посылаем друг другу статьи - хорошие такие статьи. Я, например, недавно читал статью насчет изменения размеров фильтров Блума во время выполнения. Потрясающая статья. Статьи с конференций по системам хранения данных, как из промышленных кругов, так и из академических, о разных прикольных системах - я стараюсь читать все это. Что-то попадалось насчет Reddit[26], то ли приятель прислал мне статью, то ли в чьем-то блоге была ссылка на нее.

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

Фицпатрик: Иногда у меня и правда возникает такое впечатление. Но часто интереснее читать статьи, основанные на практическом опыте, ведь они пытаются решать реальные проблемы, и их решения работают, в отличие от мыслей вроде: “Мы думаем, будет очень прикольно, если...”. Из научного мира исходит много безумных идей, которые на самом деле не работают, так и оставаясь безумными идеями. Может быть, позднее эти идеи превратятся в коммерческие продукты.

Сейбел:

Как вы проектируете программное обеспечение?

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

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

Фицпатрик: Более того. Я всегда проектирую ПО именно таким способом, даже без применения тестов. Сначала я проектирую интерфейсы и хранилища данных, а затем берусь за их реализацию.

Сейбел: В каком виде осуществляется проектирование? Псевдокод? Реальный код? Каракули на белой доске?

Перейти на страницу:

Похожие книги

100 мифов о Берии. Вдохновитель репрессий или талантливый организатор? 1917-1941
100 мифов о Берии. Вдохновитель репрессий или талантливый организатор? 1917-1941

Само имя — БЕРИЯ — до сих пор воспринимается в общественном сознании России как особый символ-синоним жестокого, кровавого монстра, только и способного что на самые злодейские преступления. Все убеждены в том, что это был только кровавый палач и злобный интриган, нанесший колоссальный ущерб СССР. Но так ли это? Насколько обоснованна такая, фактически монопольно господствующая в общественном сознании точка зрения? Как сложился столь негативный образ человека, который всю свою сознательную жизнь посвятил созданию и укреплению СССР, результатами деятельности которого Россия пользуется до сих пор?Ответы на эти и многие другие вопросы, связанные с жизнью и деятельностью Лаврентия Павловича Берии, читатели найдут в состоящем из двух книг новом проекте известного историка Арсена Мартиросяна — «100 мифов о Берии».В первой книге охватывается период жизни и деятельности Л.П. Берии с 1917 по 1941 год, во второй книге «От славы к проклятиям» — с 22 июня 1941 года по 26 июня 1953 года.

Арсен Беникович Мартиросян

Биографии и Мемуары / Политика / Образование и наука / Документальное
Клуб банкиров
Клуб банкиров

Дэвид Рокфеллер — один из крупнейших политических и финансовых деятелей XX века, известный американский банкир, глава дома Рокфеллеров. Внук нефтяного магната и первого в истории миллиардера Джона Д. Рокфеллера, основателя Стандарт Ойл.Рокфеллер известен как один из первых и наиболее влиятельных идеологов глобализации и неоконсерватизма, основатель знаменитого Бильдербергского клуба. На одном из заседаний Бильдербергского клуба он сказал: «В наше время мир готов шагать в сторону мирового правительства. Наднациональный суверенитет интеллектуальной элиты и мировых банкиров, несомненно, предпочтительнее национального самоопределения, практиковавшегося в былые столетия».В своей книге Д. Рокфеллер рассказывает, как создавался этот «суверенитет интеллектуальной элиты и мировых банкиров», как распространялось влияние финансовой олигархии в мире: в Европе, в Азии, в Африке и Латинской Америке. Особое внимание уделяется проникновению мировых банков в Россию, которое началось еще в брежневскую эпоху; приводятся тексты секретных переговоров Д. Рокфеллера с Брежневым, Косыгиным и другими советскими лидерами.

Дэвид Рокфеллер

Биографии и Мемуары / История / Образование и наука / Документальное