Должен существовать один — и, желательно, только один — очевидный способ сделать это.
Хотя он поначалу может быть и не очевиден, если вы не голландец.
Сейчас лучше, чем никогда.
Хотя никогда зачастую лучше, чем прямо сейчас.
Если реализацию сложно объяснить — идея плоха.
Если реализацию легко объяснить — идея, возможно, хороша.
Пространства имён — отличная штука! Будем делать их побольше!
Относительно Салинса, этнографические данные подтверждают что охотники-собиратели работали меньше часов и имели больше досуга нежели индустриальное общество. и при этом хорошо ели.
Настоящий юниксоид за 3 часа напишет программу, которая за 5 секунд сделает то, что обычный пользователь руками делал бы час.
Даже больше компании не больше чем составляющие их индивидуальности.
Наследование мощный инструмент для переиспользования кода, но не всегда лучший инструмент чтоб сделать работу. Использований неправильно ведет к хрупкому ПО
Если ты умный, то можешь сделать больше с меньшим количеством материалов или действий.
Какие б не были приемущества планирования, часто они перевешиваються возможностю помнить всю програму.
Лидерство это подавление неуверенности.
Если программный интерфейс действительно не отвечает концепту, то мы для компенсации, однозначно должны написать много хрупкого "клея".
Проектировщик знает что достиг совершенства не тогда когда нечего додать, а тогда когда нечего убрать.
Вы не обязательно должны иметь много денег что быть злим, но они действительно помогают.
Часть бесчеловечности компьютера в том что однажды грамотно запрограммирован он работает хорошо, и это грамотная честность.
Тем не менее, к концу века, я убежден, употребление слов и мнения, разделяемые большинством образованных людей, изменятся настолько, что можно будет говорить о мыслящих машинах, не боясь, что тебя поймут неправильно.
Шалтай Болтай сказал презрительным тоном: когда я использую слово оно значит только то, что я хотел чтоб оно значило, и не больше и не меньше.
создатель Rails в своих передовых продуктах не мог заставить их исполняться не более чем в среднем 4 минуты.
Все беды в этом мире происходят оттого, что вещи не называются своими именами.
Когда ты заглядываешь в бездну, сама бездна заглядывает в тебя.
Одержимый идеей написания или красивого кода или никакого вообще, но пока неуспешен в достижении этой жизненной цели.
Журнал "Scientific American" это низкотехнологичная версия Slashdot и он даже не имеет комментариев.
Когда я начинаю видеть шаблоны в коде, это сигнал что пора отрефакторить его.
Чрезмерная секретность – это вредительство.
Жизнь состоит не только из поездок на работу и обратно. Есть шоппинг, поездки
за город, просто путешествия, в конце-концов.
И так всегда: как технарь — так интеллект налицо, как гуманитарий — туши свет.
Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать всё, что угодно, из нуля и единицы. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов с трезвой практичностью экономиста.
Во-первых: «У меня есть одно правило для процессов: но оно не применимо для талантов.»
Во-вторых: «У меня есть одно правило для талантов: но оно не применимо к процессам.»
Изучение языка - больше о культуре нежели о синтаксисе.
Великий программист добавляет функционал удаля код.
Вместо того чтоб создавать компьютеры которые своей гениальностью могут понять мир, его коллеги просто переопределяли понятия знаний пока вещи которыми есть компьютер не стали совместимыми.
Только слабаки используют резервное копирование: реальные парни просто выгружать свои важные вещи на ФТП и пускай весь клонирует его ;).
Преждевременная оптимизация корень всех зол.
Мне больно признавать, что Java есть средство программирования для проницательных хакеров.
Как и дизайнерам, если вы дадите программисту задачу с данными, он применит всю свою гениальность чтоб ее решить в наилучшем виде. Но если вы скажете как он должен сделать это вы почувствуете всю ярость Бога.
Система управления обществом, основанная на внедрении в массовое сознание
разнообразных мифов — еще хуже чем явный и неприкрытый тоталитаризм
Колючем к производительности есть элегантность, а не батальон особых случаев.
Если вы не можете сменить организацию то смените организацию.
Хороший программист из Microsoft который перешел работать в Google, сказал мне что в Google работают и думают на высшем уровне абстракции нежели Microsoft. Он говорит: "Google используют Байесовскую фильтрацию в том месте где Microsoft использует условный оператор if".
Это тот самый феномен который вы видите с военными подрядчиками или модными брендами. Чем тупее клиент, тем больше усилий вы потратите чтоб продать вещи, нежели собственно на их производство.
Сложность ПО важное свойство, и не случайно. Поэтому, описывая сущность ПО которое абстрагируется от ее сложности часто абстрагируется от ее сущности.
…блок-схемы очень бедная абстракция структуры программ.
…очень важную функцию которую делают программисты для клиента это итеративное добывание и уточнение требований продукта. Правда в том что клиент не знает чего хочет.
Практически невозможно для клиента, даже с поддержкой программиста, полностью, точно и правильно описать требования к продукту для современного ПО перед этим не используя никакой версии этого продукта.
Небольшая ретроспектива показывает что хотя много хороших и полезных программных систем были разработаны комитетами и построены как части множества проектов. Эти системы имеют страстных и великих фанатов которые спроектировали эти продукты.
Единственным ограничивающем факторов в операционной системе Linux это ее пользователь.
Интеллект — это способность избегать выполнения работы, но так, чтобы она при этом была сделана.
…Если вам нужно спросить адвоката что, независимо от того что вы делаете, это "правильно" или нет, то вы морально испорчены. Давайте не делать этого. Мы не основывали нашу мораль на законе.
95 процентов разработчиков верят что они в 5% лучших, когда идет разговор о знаниях и умениях.
Программы — как секс: лучше, когда бесплатно.
Если тебе надо больше 3 уровней отступов, ты потерпел неудачу и должен востановить свою програму.
Портативность это для людей которые не могут писать новые программы.
Слова ничто. Покажи мне код.
Те которые могут делать - делают. Те которые не могут - жалуются.
Те которые могут делать - делают. Те которые не могут - учат.
…различие между плохим программистом и хорошим, в том что хороший обдумывает свой код или свои структуры данных. Плохой программист волнуется только о коде.
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите. И вообще, весь этот горький катаклизм, который я тут наблюдаю… и Владимир Николаевич тоже…»
Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальства.
В консорциумный проектах всегда одна рука исользуется для рукопожатия а другая для ножа.
Если быдло одного с тобой мнения, то возможно у тебя с ним больше общего, чем ты готов это признать.
Для любой успешной технологии, реальность должна быть выше публичных отношений, природу обдурить нельзя.
Если коротко, то никто не нарушает лицензию Busybox (и тем более любую Free Software лицензию) по умной причине.
Русский менеджмент — бессмысленный и беспощадный
Болты бывают христианские, языческие и иудейские. Христианские — у них, значит, крест посередине, под крестовую отвертку. Языческие — у них прорезь. Под старую, значит, плоскую отвертку. А иудейские — у тех ямка шестиконечная. Хитрые они. Под иудейскую, значит, отвертку.
Маркетинг — многоступенчатая система по сниманию ответственности со всех участников процесса на всех этапах убийства мыслей. >
Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.
…от того, что писательство становится основным способом заработка, сильно падает качество произведений. Нету основной деятельности, которая дает общение с миром, новые впечатления, которые можно переложить в книгу. Сидит человек в
башне из слоновой кости и высасывает из пальца все новые и новые сюжеты. А они все скучнее и скучнее.
Когда выдающийся но пожилой ученый утверждает что что-то возможно, он наверика почти прав. Когда он утверждает что что то не возможно, от вероятно ошибается.
Единственный путь познания ограничений реальности это осмелиться пройти мимо их в невозможное.
Любая достаточно продвинутая техонология неотличимая от магии.
СССР заслуживал того, что с ним произошло только из-за того, что в нем секретили топографические карты.
Самая ужасная вещь которая может случиться с кодом это его размер.
Особо опасный случай это не потеря времени на развлечения, а потеря времени на ложную работу.
Когда рабочий ничего не делает, это практически невозможно скрыть. Учёному и сисадмину гораздо проще. А маркетологу, наоборот, надо приложить усилия, чтобы кто-то заметил, что тот ничего не делает.
Множество читателей могут не
не замечать как их мозг автоматически игнорирует повнорно слово "не" когда оно начинается на новой строке.
…недавнее возрождение Евангелизма в США частичная реакция на наркотики.
Старые программисты не умирают, они просто декомпилируются.
Сегодня наибольшая проблема в ИТ секторе это HR.
Сначала они тебя не замечают, потом смеются над тобой, затем борются с тобой. А потом ты побеждаешь.
Выбери работу которую полюбишь и тебе не пройдется работать ни дня.
Хорошим человеком быть выгодно.
Инновации в бизнесе могут быть легко отличимы от изобретений. Изобретени это конвертация денег в идеи. Инновации - конвертация идей в деньги. Это хорошо может быть видно при сравнении Томасона Едисноа и Николая Теслы. Тесла потратил деньги на создания изобренетий но не смог и монетизировать.
Делай все простым насколько возможно, но не проще.
Если у вас есть только молоток, то все проблемы кажутся гвоздями.
Количество шума генерируемое при изменениях обратно пропорционально сложности изменений.
Всегда легче изменить свое окружение чем свое мировоззрение.
Редкая птица на земле подобна черному лебедю
Я беру смелость, где я могу, но я беру свое оружие от науки.
Я всегда желал чтоб мой компьютер было б легко использовать как мой телефон. Мои желания стали реальностью: я больше не могу сообразить как пользоваться телефоном.
Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
Идеал достигнут не тогда когда нечего добавить, но тогда когда отнять.
Измерять продуктивность программиста подсчетом строк кода — это так же, как оценивать постройку самолета по его весу.
Трудность работы с программистом заключается в том, что вы не можете понять, что он делает, до тех пор, пока не стало слишком поздно.
Если у вас есть яблоко и у меня есть яблоко и мы обменяемся ими. То тогда мы все еще будем иметь по яблоку. Но если вы имеете идею и я также и мы обменяемся ими, то тогда каждый из нас будет иметь две идеи.
Мастер на все руки, матеро никто, хотя часто лучше чем мастер одно.
Специализация для насекомых.
Кладбища полны незаменимых людей.
Если ты печатаеш то ты не работаешь.
В отличие нормальных людей, инженеры имеют рациональные причины для социального взаимодействия:
(1) Получить это как можно скорее;
(2) Избегать приглашению к чему нибудь неприятному;
*(3) Демонстрировать ментальное превосходство и мастерство всем субъектам.
Быть создателем программных систем это как быть богом. Только без всемогущества, всеведения или вездесущности.
Если я должен тебе фунт, у меня есть проблема, Но, если я должен вам миллион, проблема твоя.
Женщина-программист — как морская свинка: и не морская, и не свинья.
Свобода это свобода сказать что два плюс два четыре.
…Продукты сильно ограничены техническими или алгоритмическими причинами. По моему опыту имея техническое понимание, диапазона связных проблем может вдохновить идею о продукте которой может и не быть без этого знания.
ООП умрет и будет заменено "Удобной Парадигмой Программирования"
У нас есть постоянные объекты, они называются файлы.
Проблема этого мира в том, что дураки и фанатики всегда уверены в себе, тогда как мудрые люди полны сомнений.
Компьютеры не решают задачи, они выполняют решения.
[...], меня также огорчает, что так много "программистов" и "разработчиков ПО" сегодня не отностятся к нашей науке как к другим наукам. Можете ли вы представить физика, который бы не изучал работы Ньютона, Бора или Резерфорда потому что они "родились до нашего времени". В программировании сегодня создается впечатление, что люди хотят быстро его освоить, выучить самый последний популярный язык и начать делать деньги. Возможно что это причина почему у нас так много плохого ПО.
Если компания решает написать ПО на сравнительно эзотерическом языке, они смогут нанять лучших программистов, потому что они привлекут только тех, кому было интересно выучить его.
Если язык программирования не учит вас новым взглядам на решение задач, он не стоит изучения.
вещи которые не имеют состояния не могут быть сломаны - они просто существуют.
Ученые от Франклина до Морзе думали ясно и не создавали ошибочных теорий. Современные ученые думают глубоко вместо того, чтобы думать ясно. Человек должен быть в своем уме чтобы думать ясно, но можно мыслить глубоко и быть достаточно безумным.
Простота это власть. Власть делать меньше того что не имеет значения, и больше того, что имеет.
Упростить сложности это первая необходимость для успеха.
Простота играет центральную роль во всех неустаревающих дизайнах. Мы ценим решения которые (при прочих равных) решают задачи ясным, экономичным способом. Самые мощные дизайны это всегда результат постоянного процесса упрощения и очищения.
Делать простое сложным это распространенная практика, а сделать сложное простым, удивительно простым это креативность.
Простота это явный знак и символ глубины мысли.
Простота это не вершина искусства, но обычно мы приходим к простоте когда мы приближаемся к пониманию истинной природы вещей.
Способность упрощать означает удалять ненужное, чтобы увидеть нужное.
Не усложняй и хорошие вещи случатся.
Простота это самое сложное.
Фундаментальная теорема разработки ПО: Все проблемы могут быть решены добавлением еще одного уровня абстракции.
Тестирование не может доказать отсутствие багов, только их наличие.
Если отладка это процесс удаления багов, то программирование должно быть процессом их добавления.
Писать легко, понимать трудно.
Не существует языка программирования, не важно как структурированного, который бы не дал программистам писать плохие программы.