50 правил программирования

Нашел прекрасный перевод, очень нужных правил от очень интересных людей.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook
49. Lisp — это не язык, а строительный материал.
— Alan Kay
48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
47. Они больше не делают баги, как Банни (Bugs Bunny).
— Olav Mjelde.
46. Низкоуровневый язык — это когда требуется внимание к вещам, которые никак не связаны с программами на этом языке.
— Alan J. Perlis.
45. Программирование на С похоже на быстрые танцы на только что отполированном полу людей с острыми бритвами в руках
— Waldi Ravens.
44. Я всегда мечтал о том, чтобы моим компьютером можно было пользоваться так же легко, как телефоном; моя мечта сбылась: я уже не могу разобраться, как пользоваться моим телефоном.
— Bjarne Stroustrup
43. Обучение программированию не может научить быть экспертом, также как и изучение кистей и красок не может превратить кого-либо в художника.
— Eric S. Raymond
42. Не волнуйтесь, если что-то не работает. Если бы всё работало, вас бы уволили.
— Mosher’s Law of Software Engineering
41. Я думаю, что Microsoft назвал технологию .Net для того, чтобы она не показывалась в списках директорий Unix.
— Oktal
40. Хорошо, Java, ВОЗМОЖНО, хороший пример того как должен выглядеть язык. Но тогда программы на Java — это хороший пример как НЕЛЬЗЯ писать программы.
— pixadel
39. Учитывая текущее плачевное состояние наших программ, можно сказать, что программирование определенно все ещё черная магия и, пока, мы не можем называть его технической дисциплиной.
— Bill Clinton
38. Использование COBOL калечит разум; исходя из этого, обучение этому языку должно быть признано уголовно наказуемым преступлением.
— E. W. Dijkstra
37. Объектно-ориентированная версия «спагетти кода» — это, конечно, «лазанья код» (очень много слоев).
— Roberto Waltman
36. FORTRAN — это не цветок, а сорняк: он вынослив, иногда расцветает и произрастает в каждом компьютере
— Alan J. Perlis.
35. Для меня долгое время было загадкой, как что-то очень дорогое и технологичное может быть столь бесполезным. И вскоре я осознал, что компьютер — это глупая машина, обладающая способностями выполнять невероятно умные вещи, тогда как программисты — это умные люди, у которых талант делать невероятные глупости. Короче, они нашли друг друга.
— Bill Bryson
34. По моему эгоистическому мнению, большинство программ на C должны быть отформатированы с отступами на 2 метра вниз и засыпанными землей.
— Blair P. Houghton.
33. Когда кто-то говорит: «Я хочу язык программирования, который может делать все, что ему скажу», то я даю этому человеку леденец.
— Alan J. Perlis
32. Эволюция языков: FORTRAN — не строго типизированный язык, С — слабо типизированный язык. Ada — сильно типизированный язык. С++ — сильно раздутый язык.
— Ron Sercely
31. В хорошем дизайне добавление вещи стоит дешевле, чем сама эта вещь.
— Thomas C. Gale
30. Если называть Python заменой BASIC, то тогда и трансформер Optimus Prime — это только замена грузовика.
— Cory Dodt
29. Болтовня ничего не стоит. Покажите мне код.
— Linus Torvalds
28. Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять.
— Antoine de Saint-Exupéry (моя любимая цитата на все времена – boombick)
27. С — это причудливый, несовершенный, но невероятно успешный язык.
— Dennis M. Ritchie.
26. В теории, теория и практика неразделимы. На практике это не так.
— Yoggi Berra
25. Вы не можете создавать хорошие программы без хорошей команды, но большинство софтверных команд ведут себя как проблемная семья.
— Jim McCarthy
24. PHP — это маленькое зло, созданное некомпетентными новичками, в то время как Perl — это большое и коварное зло, созданное умелыми, но извращёнными профессионалами.
— Jon Ribbens
23. Программирование — это как бить себя по лицу, рано или поздно ваш нос будет кровоточить.
— Kyle Woodbury
22. Perl — это тот язык, который одинаково выглядит как до, так и после RSA шифрования…
— Keith Bostic
21. Намного легче портировать шелл, чем скрипт на шелле.
— Larry Wall
20. Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом.
— Alan Kay
19. Изучение программирования имеет такое же отношение к проектированию интерактивных систем, как обучение слепой печати к написанию стихов.
— Ted Nelson
18. Лучшие программисты не чуть-чуть лучше хороших. Они на порядок лучше по любым меркам: концептуальное мышление, скорость, изобретательность и способность находить решения.
— Randall E. Stross
17. Если бы McDonalds была бы софтверной компанией, то у них один из ста Биг Маков был бы отравленным, и их ответ на это был бы: «Мы сожалеем, вот вам купон на ещё два Биг Мака.”
— Mark Minasi
16. Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
15. Анализ компьютерных систем — это как воспитание детей; можно нанести огромный вред, но нельзя гарантировать успех.
— Tom DeMarco
14. Меня не интересует, будет ли это работаеть на ваших машинах! Мы не отдаем их заказчику!
— Vidiu Platon.
13. Иногда лучше остаться спать дома в понедельник, чем провести всю неделю отлаживая написанный в понедельник код.
— Christopher Thompson
12. Измерять продуктивность программирования подсчетом строк кода — это так же, как оценивать постройку самолета по его весу.
— Bill Gates
11. Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
— Brian W. Kernighan.
10. Люди считают, что программирование — это наука избранных, но в реальности все наоборот — просто много людей создают программы, которые используют чужие программы, как-будто строя стену из маленьких кирпичиков.
— Donald Knuth
9. Сначала учите науку программирования и всю теорию. Далее выработаете свой программистский стиль. Затем забудьте все и просто программируйте.
— George Carrette
8. Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня.
— Larry Wall
7. Большинство программ на сегодняшний день подобны египетским пирамидам из миллиона кирпичиков друг на друге и без конструктивной целостности — они просто построены грубой силой и тысячами рабов.
— Alan Kay
6. Трудность работы с програмистом заключается в том, что вы не можете понять что он делает до тех пор пока не стало слишком поздно.
— Seymour Cray
5. Итерация свойственна человеку, рекурсия божественна.
— L. Peter Deutsch
4. Меня два раза спрашивали [члены Парламента]: «Скажите на милось, мистер Бэббидж, что случится, если вы введете в машину неверные цифры? Cможем ли мы получить правильный ответ?» Я не могу себе даже представить какая путаница в голове может привести к подобному вопросу.
— Charles Babbage
3. Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
— Linus Torvalds
2. Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
— Martin Golding
1. Есть два способа создания дизайна программы. Один из них, это сделать его настолько простым, что в нем, очевидно, не будет недостатков. Другой способ — сделать его настолько запутанным, что в нем не будет очевидных недостатков.
— C.A. R. Hoare

50 правил программирования