Цитаты из книги «Кодеры за работой»


Самообразование начинается с чтения полезных книг.

Одной из таковых, с моей точки зрения, является книга Питера Сейбела «Кодеры за работой: Размышления о ремесле программиста» (Peter Seibel, Coders at work: Reflections on the Craft of Programming, 2009) — это 15 интервью с наиболее известными профессионалами в нашей области — Дональдом Кнутом, Кеном Томпсоном, Брэдом Фицпатриком и другими.

Книга не содержит детальных рецептов о том, как стать правильным программистом. Это книга — персонифицированный взгляд в историю computer science и программирования.

Почему мне показалось это важным? Вот цитата из книги:
Я на каждом шагу сталкиваюсь с тем, что люди не осознают всё великолепие нашей истории. Многим программистам кажется странной мысль о том, что в 1970-х люди тоже что-то знали, понимали и умели. (Дональд Кнут, стр.523)
И, главное — интервьюируемые так четко и ясно излагают свое виденье процесса разработки (равно как и других аспектов программирования), что я решил сделать небольшую подборку наиболее интересных, с моей точки зрения, цитат.

О красоте и читаемости кода
Красота кода — это когда что-то выражено очень верно — лаконично и по сути, — вроде хорошо сформулированного афоризма или мгновенной карикатуры, выполненной одним росчерком пера и очень похожей на оригинал. (Джейми Завински, стр.37)
По большему счету, понятия «красоты» и «простоты сопровождения» эквивалентны. Или, по крайней мере, тесно связаны. (Джейми Завински, стр.53)
Код сам по себе — почти чепуха, его можно переписывать. Даже если ничего не меняется, он все равно по какой-то причине портится. (Кен Томпсон, стр.401)
Компьютеру нужен двоичный код, а текстовый файл нужен мне. (Берни Козелл, стр.472)
Как говорит Кнут, программа — это прежде всего литературное произведение. Программа должна быть читаемой. (Джошуа Блох, стр.161)

О сложности программ, качестве кода и багах
Тони Хоар, на вручении премии Тьюринга, блестяще сказал: «Есть два способа проектировать систему. Один — сделать её настолько простой, что в ней совершенно очевидно не будет недостатков, второй — сделать её настолько сложной, что в ней не будет очевидных недостатков.» (Джошуа Блох, стр.184)
Чем сложнее программа, тем важнее, чтобы её делали действительно хорошие программисты. (Питер Дойч, стр.365)
Закон отладки Джо — «все ошибки будут не дальше трех операторов в ту или другую сторону от места последнего изменения программы». (Джо Армстронг, стр.209)
У нас в Netscape была такая шутка: «Мы стопроцентно преданы качеству. Мы собираемся выпустить продукт самого высокого, насколько получится, качества к 31 марта». (Джейми Завински, стр.44)
Чтобы получать удовольствие от обнаружения ошибок, нужно просто забыть, что программу написал ты сам. (Дональд Кнут, стр.516)

О ключевых навыках программистов
Чем хороший программист отличается от плохого: хороший программист легко переходит от одного уровня абстракции к другому, он способен не смешивать эти уровни при внесении изменений и точно определять уровень, на котором изменения нужно внести. (Джейми Завински, стр.39)
Мыслить как учёный; за один раз изменять только что-то одно. Терпение и стремление понять коренную сущность вещей. Это особенно ценно при отладке или проектировании чего-то, что не желает работать. (Брэд Фицпатрик, стр.90)
Умение писать. Кажется, Дейкстра сказал: «Если у вас плохо с английским (имеется в виду, с родным языком — прим.), вы никогда не станете хорошим программистом.» (Джо Армстронг, стр.214)
По-настоящему хороший программист много программирует. Исключений я не встречал. Если я не программирую два-три дня, то ощущаю зуд. (Джо Армстронг, стр.205)

Об обучении
Очень важно не бояться собственного незнания. Если не понимаешь, как что-то работает, спроси у того, кто понимает. Многие боятся. А что тут такого? Ведь чего-то не знаешь не потому, что тупой, а просто пока не знаешь. (Джейми Завински, стр.48)
Читайте чужой код. (Брэд Фицпатрик, стр.74) Только не стоит читать тех программистов, которые пишут так же, как и вы. (Дональд Кнут, стр.525)
Программируйте больше. Теоретические занятия дают знания, но программирование — это ремесло, и единственным путем к мастерству является практика. (Берни Козелл, стр.459)
Всегда старайтесь делать что-то чуть более трудное, чем раньше, то, что вам не по зубам. (Брэд Фицпатрик, стр.75)

О смежных науках
Программирование ближе к литературе, чем к математике. Словно пишешь рассказ, пытаясь передать его смысл очень тупому парню с ограниченным словарем, то есть компьютеру. У тебя есть некоторая идея, которую нужно объяснить, и ограниченные средства для объяснения. Какие подберешь слова, как будет выглядеть введение, заключение? Что-то в этом роде. (Джейми Завински, стр.52)
Не каждому программисту нужна математика, но она упорядочивает понятия, с которыми программисты сталкиваются ежедневно. (Гай Стил, стр.300)

Поделиться публикацией
Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

Зачем оно вам?
Реклама
Комментарии 21
  • 0
    Цитаты вы перепечатывали вручную? Или ошибки, которые я вижу, присутствуют в самой книге?
    • +1
      Всё ошибки, конечно же, мои! Буду признателен, если укажите, спасибо!
      • 0
        Ждите в личке
        • +3
          Исправил, спасибо Вам за потраченное время!
    • +4
      Название следовало бы поменять на «Цитаты из книги...». Рецензия предполагает свои мысли и суждения.
      • +3
        Вы правы — цитат на полтора порядка больше, чем своих мыслей и суждений. Поменял.
      • 0
        Если речь про этого дядьку en.wikipedia.org/wiki/Ken_Thompson, то зовут его Кен. а не Кент
        (ну или уже Кеннет тогда =)
        • +1
          Спасибо! Исправил.
          ( Что-то я совсем обкурился, пока пост писал :-( )
        • 0
          a почему не указаны авторы цитат?
          • 0
            Я долго думал — указывать авторов или нет.
            Решил всё-таки не указывать — чтобы в процессе осмысления цитаты, не находиться под давлением имени автора (там что ни автор, то любого задавит именем :-)).
            Но, всё же, думаю что вы правы — надо переделать — иначе выглядит как неуважение к авторам.
            Укажу.
          • +1
            В 70-е программисты знали даже больше. Это сейчас мы лепим абстракции, а тогда нужно было понимать каждую инструкцию в процессоре, правильно писать в видеопамять, чтобы что-то нарисовать, отлаживать программы на листочке и пр.
            • 0
              Это личное мнение или цитата? Если цитата — то сейчас попытаюсь найти в книжке и добавлю в текст! Если личное — то 100%, целиком и полностью согласен :-)
          • Код сам по себе — почти чепуха, его можно переписывать. Даже если ничего не меняется, он все равно по какой-то причине портится. (Кен Томпсон, стр.401)

            Этой цитате надо просто памятник поставить, она будет жить вечно :)
            • 0
              Есть очень ценные мысли, которые я себе даже записал в блокнот чтобы стараться применять в работе, но вот от одной фразы хочется блевать: «Если я не программирую два-три дня, то ощущаю зуд.»
              • 0
                У нас в Netscape была такая шутка: «Мы стопроцентно преданы качеству. Мы собираемся выпустить продукт самого высокого, насколько получится, качества к 31 марта».
                Спасибо за обзор.
                Подскажите смысл шутки, пожалуйста, а то что-то не смешно. :-)
                • 0
                  Тут ключевые слова — «насколько получится» :-)
                  В книге рассказывается история о том, что разработчики пытались внедрить высокие стандарты качества, но менеджеры проекта были заинтересованы исключительно сроками сдачи. Отсюда родилась эта горькая шутка :-(
                  • 0
                    Спасибо за контекст, стало понятно :-).
                • 0
                  «Не каждому программисту нужна математика, но она упорядочивает понятия, с которыми программисты сталкиваются ежедневно. (Гай Стил, стр.300)»

                  Господи, наконец-то первое адекватное мнение на тему «программисты и математика».
                  • 0
                    Я как-то готовил доклад на тему «Нужна ли программисту математика» на одной из провинциальных конференций, общий тезис был таким же :) может опубликую в каком-то виде позже.
                  • –1
                    Распечатала на стенку, спасибо :)

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

                    Самое читаемое