Кодеры за работой - Coders at Work
Эта статья слишком полагается на Рекомендации к основные источники.Январь 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Автор | Питер Сейбел |
---|---|
Предмет | Разработка программного обеспечения |
Издатель | Apress |
Дата публикации | 16 сентября 2009 г. |
ISBN | 1-4302-1948-3 |
Кодеры за работой: размышления о ремесле программирования (ISBN 1-430-21948-3) - это книга Питера Зайбеля 2009 года, содержащая интервью с 15 высококлассными программистами. Основные темы этих интервью включают в себя то, как респонденты изучали программирование, как они отлаживать код, их любимые языки и инструменты, их мнение о грамотном программировании, доказательствах, чтении кода и так далее.
Собеседники
- Джейми Завински
- Брэд Фицпатрик
- Для изучения Perl он рекомендует Perl высшего порядка Марка Джейсона Доминуса.
- Дуглас Крокфорд
- Брендан Эйх
- Джошуа Блох
- Джо Армстронг
- Саймон Пейтон Джонс
- Упоминает статью Дэвида Тернера о комбинаторах S-K (см. Расчет комбинатора SKI ). Комбинаторы S-K - это способ перевода и последующего выполнения лямбда-исчисления. Тернер показал в своей статье, как преобразовать лямбда-исчисление в три комбинатора S, K и I, которые являются просто замкнутыми лямбда-членами и I = SKK. По сути, вы берете лямбда-член и компилируете только в Ss и Ks.
- Вспоминает свой первый случай изучения функционального программирования во время прохождения курса Артура Нормана, который показал, как создавать двусвязные списки без каких-либо побочных эффектов.
- Упоминается статья Джона Бэкуса «Можно ли освободить программирование от стиля фон Неймана».
- Хочет, чтобы Джон Хьюз написал статью для журнала функционального программирования о том, почему статическая типизация - это плохо. Хьюз написал популярную статью «Почему так важно функциональное программирование».
- Упоминается структура данных под названием «застежка-молния», которая является очень полезной функциональной структурой данных. Пейтон Джонс также упоминает программу из 4-5 строк, которую Хьюз написал для ленивого вычисления произвольного количества цифр e.
- Упоминается, что последовательная реализация двусторонняя очередь это задача по программированию на первом курсе бакалавриата. Для параллельной реализации с блокировкой на узел это проблема исследовательской работы. С транзакционной памятью это снова проблема студентов.
- Любимые книги / авторы: Жемчуг программирования Джона Бентли, глава «Написание программ для 'Книги'» Брайана Хейса из книги Красивый код где он исследует проблему определения, с какой стороны от линии находится данная точка, Искусство программирования к Дон Кнут, Чисто функциональные структуры данных Крис Окасаки изучает, как создавать структуры данных, такие как очереди и кучи, без побочных эффектов и разумных ограничений сложности, Структура и интерпретация компьютерных программ Абельсоном и Сассманом, Компиляция с продолжениями Эндрю Аппель, Дисциплина программирования Дейкстра, книга Пера Бринча Хансена о написании параллельных операционных систем.
- Пейтон Джонс упоминает статью Фреда Брука, которую он перечитал и которая ему понравилась, «Ученый-компьютерщик как инструментальщик».
- Питер Норвиг
- В 1972/73 году, когда Норвиг еще учился в средней школе, он нашел алгоритм Кнута для тасования карт.
- Первой интересной программой, которую написал Норвиг, была Game of Life.
- Написал эссе под названием «Научитесь программировать за десять лет».
- Что касается практического применения академических концепций, он упоминает, что часть проблемы состоит в том, что ученые не видят всей проблемы, а другая часть - в образовании. Если у вас есть группа программистов, которые не понимают, что такое монада, и не посещали курсы теории категорий, есть пробел.
- Книги / Авторы, которые он рекомендует, включают Кнута; Кормен, Лейзерсон и Ривест; Салли Голдман, Абельсон и Сассман, Code Complete.
- Кнут написал эссе о разработке TeX, в котором он говорит о том, как он обратился к своей чистой, деструктивной личности QA и сделал все возможное, чтобы взломать свой собственный код.
- Говорит о процессе собеседования в Google и говорит, что лучший сигнал - это то, что кто-то работал с одним из их сотрудников, и они могут поручиться за кандидата. Он также говорит о «предсказателе резюме», который принимает такие атрибуты резюме, как опыт, победа в конкурсе по программированию, работа над проектом с открытым исходным кодом и т. Д., И предсказывает соответствие. Он также упоминает, что интервьюеры выставляют оценки от 1 до 4 и обычно отклоняют кандидатов, получивших 1 балл от любого из интервьюеров, если только кто-то в Google не борется за их прием на работу.
- Гай Стил
- Сотрудничал с Джеральд Сассман о серии статей, теперь известных как «Лямбда-документы», которые включали исходное определение языка программирования Scheme.
- Получив степень в области компьютерных наук, Гай упоминает, что он намеревался изучать чистую математику, но он понял, что у него нет никакой интуиции для бесконечномерных банаховых пространств, и именно поэтому он переключился на специальность прикладной математики.
- Любимые авторы и книги: Кнут; Ахо, Хопкрофт и Ульман (Гай говорит, что именно в этой книге он научился сортировке «по-настоящему»), Джеральд Вайнберг о Психология компьютерного программирования, Мифический человеко-месяц Фреда Брука
- Предлагает вам разработать спецификацию того, что находится посередине, таким образом, чтобы она, естественно, также была правильной по границам, а не рассматривала границы как особые случаи.
- Алгоритм параллельного сборщика мусора, разработанный Dijkstra которые умещаются на половине страницы. Дэвид Грис написал статью для CACM используя методы, разработанные его учеником Сьюзан Овики чтобы доказать правильность этого алгоритма.
- Дэн Ингаллс
- L Питер Дойч
- Кен Томпсон
- Фрэн Аллен
- Берни Козелл
- Дональд Кнут