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

в 9:51, , рубрики: Песочница, рецензия, Читальный зал, метки:

Цитаты из книги «Кодеры за работой»
Самообразование начинается с чтения полезных книг.

Одной из таковых, с моей точки зрения, является книга Питера Сейбела «Кодеры за работой: Размышления о ремесле программиста» (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)

Мыслить как учёный; за один раз изменять только что-то одно. Терпение и стремление понять коренную сущность вещей. Это особенно ценно при отладке или проектировании чего-то, что не желает работать. (стр.51)

Умение писать. Если у вас плохо с английским (имеется в виду, с родным языком — прим.), вы никогда не станете хорошим программистом. (стр.214)

По-настоящему хороший программист много программирует. Исключений я не встречал. Если я не программирую два-три дня, то ощущаю зуд. (стр.205)

Об обучении

Очень важно не бояться собственного незнания. Если не понимаешь, как что-то работает, спроси у того, кто понимает. Многие боятся. А что тут такого? Ведь чего-то не знаешь не потому, что тупой, а просто пока не знаешь. (стр.48)

Читайте чужой код. (стр.75) Только не стоит читать тех программистов, которые пишут так же, как и вы. (стр.525)

Программируйте больше. Теоретические занятия дают знания, но программирование — это ремесло, и единственным путем к мастерству является практика. (стр.459)

Всегда старайтесь делать что-то чуть более трудное, чем раньше, то, что вам не по зубам. (стр.75)

О смежных науках

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

Не каждому программисту нужна математика, но она упорядочивает понятия, с которыми программисты сталкиваются ежедневно. (стр.300)

Автор: vtimashkov

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js