- PVSM.RU - https://www.pvsm.ru -

Цитаты о разработке программного обеспечения

Несколько цитат о дизайне и разработке программ. Думаю, каждый найдет что-нибудь себе по вкусу. В дополнение к этому топику [1].

Простота — дух эффективности. // A. Freeman [2]

Простота — ключ к надежности. // E. Dijkstra [3]

Искусство простоты — это сложная головоломка. // D. Horton [4]

Ничто так не раскрывает недостатки дизайна как реализация. // J. Horton [5]

Самая главная вещь при разработке программ — ясно представлять конечную цель. // B. Stroustrup

Если вы не можете понять структуру всей программы, пока принимаете душ, вы еще не готовы ее реализовать. // R. Pattis [6]

Цель абстракции не быть расплывчатой, а создать новый семантический уровень, который будет совершенно прозрачным. // E. Dijkstra [3]

Когда я работаю над задачей, я не задумываюсь о красоте. Я думаю только о том, как решить проблему. Но когда законченное решение выглядит некрасиво, я знаю, оно — ошибочно. // B. Fuller [7]

Если хотите совершенствовать свой код, не зацикливайтесь на тестах; разрабатывайте лучше. // S. McConnell [8]

Управление сложностью — квинтэссенция программирования. // B. Kernighan

Неизбежная цена удобства — простота. // T. Hoare [9]

Все должно быть сделано так просто, как это возможно. Но не проще. // A. Einstein

Есть два метода создания программного обеспечения. Один из них — сделать программу настолько простой, что, очевидно, в ней нет недостатков. И другой, сделать приложение настолько сложным, что в нем невидно явных недостатков. // T. Hoare [9]

Некто пожелал, чтобы компьютером можно было пользоваться также легко как и телефоном. Мечта сбылась: я уже не могу разобраться, как пользоваться телефоном. // B. Stroustrup

Технические навыки — это мастерство сложности, а творчество — мастерство простоты. // E. Zeeman [10]

Сложность [применения, прим. пер] — признак технической незрелости. Простота использования — знак хорошо спроектированного продукта, будь то банкомат или ракета. // Daniel T. Ling [11]

Стоимость добавления нового функционала, это не только затраты на написание кода. Цена также включает в себя препятствия для дальнейшего расширения… Трюк в том, что следует подбирать функции, которые не конфликтуют друг с другом. // John Carmack

Умные структуры данных и тупой код работают куда лучше, чем наоборот. // E. Raymond [12]

Если бы автомобиль проходил цикл разработки компьютера, то Роллс-Ройс стоил 100$, проходил миллион миль на галлон и взрывался каждый год, убивая всех пассажиров. R. Cringely [13]

Пролистав книгу о принципах магии и не взглянув на обложку, сложно не решить, что это книга о разработке программного обеспечения. // B. Tognazzini [14]

Компания, которая относится к своим программистам как к идиотам, скоро получит разработчиков, которые только и могут вести себя как идиоты. // B. Stroustrup

Основная ошибка людей, которые проектируют что-то полностью идиотоустойчивое, — это недооценка
изобретательности законченных идиотов.
// D. Adams [15]

Проблема в том, что идиоты — самоуверены, а умные — полны сомнений. // B. Russell [16]

Архитектор — тот, кто знает разницу между тем, что можно сделать и тем, что следует сделать. // L. McVoy [17]

Плохой архитектор поддается каждому соблазну, а хороший им сопротивляется. L. Wittgenstein [18]

Ходить по воде и разрабатывать программы согласно ТЗ очень просто, если они заморожены. E. Berard [19]

Если проекты рушатся под градом правок, внесенных в ТЗ, это означает, что в них есть недостаток. Мы должны найти способ сделать проекты устойчивыми к таким изменениям и защитить их от разложения. // R. Martin [20]

Преждевременная оптимизация — корень всех бед. // T. Hoare [9]

В теории нет разницы между практикой и теорией. Но на практике она есть. // Jan van de Snepscheut [21]

Никакой код не может быть быстрее, чем отсутствие кода. // Taligent's Guide to Designing Programs

Автор: icc


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/9704

Ссылки в тексте:

[1] топику: http://habrahabr.ru/post/111348/

[2] A. Freeman: http://en.wikipedia.org/wiki/R._Austin_Freeman

[3] E. Dijkstra: http://en.wikipedia.org/wiki/Edsger_W._Dijkstra

[4] D. Horton: http://en.wikipedia.org/wiki/Douglas_Horton_%28clergyman%29

[5] J. Horton: http://www.cs.unb.ca/~jdh/

[6] R. Pattis: http://en.wikipedia.org/wiki/Richard_E._Pattis

[7] B. Fuller: http://en.wikipedia.org/wiki/Buckminster_Fuller

[8] S. McConnell: http://en.wikipedia.org/wiki/Steve_McConnell

[9] T. Hoare: http://en.wikipedia.org/wiki/C._A._R._Hoare

[10] E. Zeeman: http://en.wikipedia.org/wiki/Christopher_Zeeman

[11] Daniel T. Ling: https://www.systemsbiology.org/daniel-t-ling-0

[12] E. Raymond: http://en.wikipedia.org/wiki/Eric_S._Raymond

[13] R. Cringely: http://en.wikipedia.org/wiki/Robert_X._Cringely

[14] B. Tognazzini: http://en.wikipedia.org/wiki/Bruce_Tognazzini

[15] D. Adams: http://en.wikipedia.org/wiki/Douglas_Adams

[16] B. Russell: http://en.wikipedia.org/wiki/Bertrand_Russell

[17] L. McVoy: http://en.wikipedia.org/wiki/Larry_McVoy

[18] L. Wittgenstein: http://en.wikipedia.org/wiki/Ludwig_Wittgenstein

[19] E. Berard: http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/b/Berard:Edward_V=.html

[20] R. Martin: http://en.wikipedia.org/wiki/Robert_C._Martin

[21] Jan van de Snepscheut: http://en.wikipedia.org/wiki/Jan_L._A._van_de_Snepscheut