100 ярких цитат о программировании
Не буду пытаться вводить вас в заблуждение — эти цитаты о программировании были собраны уже давно и публиковались неоднократно. Просто думаю, что эта подборка станет хорошим дополнением статьи «Как стать программистом?» Ведь теперь можно сравнить то, что правильно и то, что получается на самом деле.
Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы с большей и лучшей идиотоустойчивостью, и вселенной, которая пытается создать больше отборных идиотов. Пока вселенная побеждает.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Низкоуровневый язык — это когда требуется внимание к вещам, которые никак не связаны с программами на этом языке.
A programming language is low level when its programs require attention to the irrelevant.
Программирование на С похоже на быстрые танцы на только что отполированном полу людей с острыми бритвами в руках.
Не волнуйтесь, если что-то не работает. Если бы всё работало, вас бы уволили.
Для меня долгое время было загадкой, как что-то очень дорогое и технологичное может быть столь бесполезным. И вскоре я осознал, что компьютер — это глупая машина, обладающая способностями выполнять невероятно умные вещи, тогда как программисты — это умные люди, у которых талант делать невероятные глупости. Короче, они нашли друг друга.
В хорошем дизайне добавление чего-то стоит дешевле, чем сама эта вещь.
В теории, теория и практика неразделимы. На практике это не так.
Perl — это тот язык, который одинаково выглядит как до, так и после RSA шифрования.
Я изобрел понятие «объектно-ориентированный», и могу заявить, что не имел в виду C++.
Иногда лучше остаться спать дома в понедельник, чем провести всю неделю в отладке написанного в понедельник кода.
Измерять продуктивность программиста подсчетом строк кода — это так же, как оценивать постройку самолета по его весу.
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня.
Большинство программ на сегодняшний день подобны египетским пирамидам из миллиона кирпичиков друг на друге и без конструктивной целостности — они просто построены грубой силой и тысячами рабов.
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Программы должны писаться для людей, которые будут их читать, а машины, которые будут эти программы исполнять — второстепенны.
Люди, которые думают, что ненавидят компьютеры, на самом деле ненавидят плохих программистов.
Если вы дадите человеку программу, то займете его на один день. Если вы научите человека программировать, то займете его на всю жизнь.
Язык, который не меняет вашего представления о программировании, недостоин изучения.
Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее.
Иногда лучшие программы создаются на бумажке. Запрограммировать их — второстепенная вещь.
Отладка кода — это как охота. Охота на баги.
Любой дурак сможет написать код, который поймет машина. Хорошие программисты пишут код, который сможет понять человек.
Программирование — это разбиение чего-то большого и невозможного на что-то маленькое и вполне реальное.
Программисты — не математики, как бы нам этого не хотелось.
Программирование — это сложно. Основные правила, на которых все строится, очень просты, но по мере разработки программа сама начинает вводить свои правила и законы. Таким образом, программист строит лабиринт, в котором сам же может и потеряться.
Функции, которые производят значения, легче комбинировать новыми способами, чем те, которые производят сайд-эффекты.
Простота — залог надежности.
Если вы хотите, чтобы код было легко и быстро писать — делайте его удобным для чтения.
Если вы хорошо отлаживаете программы, значит, вы провели много времени, делая это. Я не хочу уметь хорошо отлаживать программы.
Работает? Не трогай.
При помощи C вы легко можете выстрелить себе в ногу. При помощи C++ это сделать сложнее, но если это произойдёт, вам оторвёт всю ногу целиком.
Последние нововведения в C++ были созданы, чтобы исправить предыдущие нововведения.
Java — это C++, из которого убрали все пистолеты, ножи и дубинки.
Если бы в Java действительно работала сборка мусора, большинство программ бы удаляли сами себя при первом же запуске.
Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.
Плохое имя метода сродни предвыборным обещаниям политиков. Вроде о чем-то оно говорит, но если задуматься — непонятно о чем.
Неработающая программа обычно приносит меньше вреда, чем работающая плохо.
Насколько проще было бы писать программы, если бы не заказчики.
Молодые специалисты не умеют работать, а опытные специалисты умеют не работать.
Почаще задавайте себе вопрос «Что мне скрыть?» и вы удивитесь, сколько проблем проектирования растает на ваших глазах.
Преждевременная оптимизация — корень всех зол.
Чтобы написать чистый код, мы сначала пишем грязный код, а затем рефакторим его.
Помимо математических способностей, жизненно важным качеством программиста является исключительно хорошее владение родным языком.
Для каждой сложной задачи существует решение, которое является быстрым, простым и неправильным.
Механизмы управления доступом в С++ обеспечивают защиту от несчастного случая, но не от мошенников.
Думаю, искусство программировать немногим сложнее других человеческих навыков. Программирование делает вас лучше точно так же, как вам помогают развиваться изучение иностранного языка, математики или чтение книг.
Аналогично тому, как написание картины является искусством для души, так и написание программы является искусством для разума.
Тестирование не позволяет обнаружить такие ошибки, как создание не того приложения.
Некоторые люди во время решения некой проблемы думают: «Почему бы мне не использовать регулярные выражения?». После этого у них уже две проблемы…
Я не умею делать скриншоты, потому что я обычно работаю на компьютере в текстовом режиме.
Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
Я думаю, что Microsoft назвал технологию .NET для того, чтобы она не показывалась в списках директорий Unix.
Учитывая текущее плачевное состояние наших программ, можно сказать, что программирование определенно всё ещё черная магия, и пока мы не можем называть его технической дисциплиной.
Намного легче портировать шелл, чем скрипт на шелле.
Изучение программирования имеет такое же отношение к проектированию интерактивных систем, как обучение слепой печати к написанию стихов.
Сначала учите науку программирования и всю теорию. Далее выработайте свой программистский стиль. Затем забудьте всё и просто программируйте.
Трудность работы с программистом заключается в том, что вы не можете понять, что он делает, до тех пор, пока не стало слишком поздно.
Меня два раза спрашивали [члены Парламента]: «Скажите на милость, мистер Бэббидж, что случится, если вы введёте в машину неверные цифры? Cможем ли мы получить правильный ответ?» Я не могу себе даже представить, какая путаница в голове может привести к подобному вопросу.
С имеет мощь ассемблера и удобство… ассемблера.
UNIX невероятно прост, но нужно быть гением, чтобы понять эту простоту.
Нельзя доверять коду, который вы не написали полностью сами.
Ограничение возможностей языка с целью предотвращения программистских ошибок в лучшем случае опасно.
Если вы считаете, что С++ труден, попытайтесь выучить английский.
Что бы нового мы ни создавали, мы должны дать людям возможность переходить от старых инструментов и идей к новым.
Небольшие программы случайно компилируются и выполняются правильно при первой же попытке. Но если это происходит с любой не тривиальной программой, то это очень и очень подозрительно.
Модульность — фундаментальный аспект всех успешно работающих крупных систем.
Доказательство с помощью аналогий — это обман.
Программа, которая не тестировалась, не является рабочей.
Программирование — это не наука, а ремесло.
Люди думают, что безопасность — это существительное, что-то, что можно купить. На самом же деле безопасность — это абстрактное понятие, как счастье.
Если бы меня попросили выбрать какой-нибудь современный язык на замену Java, я бы выбрал Scala.
Проблема С++ в том, что необходимо узнать всё о нём перед тем, как начать писать на нём все что угодно.
Дизайн языка программирования — это как прогулка по парку. Парку Юрского Периода.
Думаю, это будет новой фичей. Только не говорите никому, что она возникла случайно.
Тяжело улучшать код, который до этого уже улучшали много раз.
Лень — главное достоинство программиста.
Чтобы понять алгоритм, нужно его увидеть.
У меня предчувствие, что неизвестные цепочки ДНК расшифруются в копирайты и патенты.
Если вы наслаждаетесь используемыми инструментами, то работа будет выполнена успешно.
Помните, что обычно есть решение проще и быстрее того, что первым приходит вам в голову.
Если оптимизировать всё, что можно, то вы будете вечно несчастным.
Алгоритм Евклида — дед всех алгоритмов, потому что это старейший нетривиальный алгоритм, доживший до наших дней.
Легче изобрести будущее, чем предсказать его.
Программированию обычно учат на примерах.
Программы становятся медленнее быстрее, чем «железо» становится быстрее.
Я называю это моей ошибкой на миллиард. Изобретение нулевого указателя (null —прим. ред.) в 1965.
Некоторые проблемы лучше не решать, а избегать.
Одно аккуратное измерение стоит тысячи мнений экспертов.
У людей аллергия на перемены.
Мы не можем перекладывать свои ошибки на используемые технологии.
Лень — естественное состояние программиста, после которого он рождает хороший алгоритм.
Магия перестаёт существовать после того, как вы понимаете, как она работает.
Программирование — это как бить себя по лицу: рано или поздно ваш нос будет кровоточить.
Способ использования интеллекта важнее, чем его уровень.
Компьютер позволяет нам совершать ошибки гораздо быстрее, чем любые другие изобретения человечества, за исключением, пожалуй, текилы и оружия.
640 Кб должно хватить для любых задач.
Основная проблема программистов состоит в том, что их ошибки невозможно предугадать.
Два самых известных продукта, созданных в Университете Беркли — это UNIX и LSD. Это не может быть просто совпадением.
Короткая ссылка: http://goo.gl/fb/3bUpgA
Никто ещё не оставил комментариев, станьте первым.