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

http://www.vanderburg.org/soft-quotes.html
  • Перевод
Несколько цитат о дизайне и разработке программ. Думаю, каждый найдет что-нибудь себе по вкусу. В дополнение к этому топику.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Преждевременная оптимизация — корень всех бед. // Неизвестный автор

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

Никакой код не может быть быстрее, чем отсутствие кода. // Taligent's Guide to Designing Programs
Поделиться публикацией
Похожие публикации
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 32
  • +5
    Преждевременная оптимизация — корень всех бед. // T. Hoare

    Ошибочно приписано сэру Хоару, о чем он сам заявлял. пруф
    • +1
      Эти цитата приписывается то Хоару, то Дэйкстре, то Кнуту. Все открущиваются. Я сам раньше считал, что цитата принадлежит Кнуту.
      Думаю, как сказал Хоар, проще отнести к народному фольклору, раз уж фраза «ничья».
    • +36
      Вот, собрано без спешки за долгие годы. cat ~/fortune
      «According to Sahlins, ethnographic data indicated that hunter-gatherers worked
      far fewer hours and enjoyed more leisure than typical members of industrial
      society, and they still ate well» ©
      en.wikipedia.org/wiki/Hunter-gatherer
      %
      «Настоящий юниксоид за 3 часа напишет программу, которая за 5 секунд сделает
      то, что обычный пользователь руками делал бы час.»
      %
      «Even big companies are nothing more than an accumulation of individuals.»
      © Linus Torvalds
      %
      «Inheritance is a powerful way to achieve code reuse, but it is not always the
      best tool for the job. Used inappropriately, it leads to fragile software.»
      © Joshua Bloch
      %
      If you are clever, you can get more done with less material or less action. ©
      Michael Feathers
      %
      Deliver yesterday, code today, think tomorrow
      %
      Whatever the advantages of planning, they're often outweighed by the advantages
      of being able to keep a program in your head. © Paul Graham
      %
      Leadership is the reduction of uncertainty. © unknown
      %
      If the programmatic interface didn’t intrinsically match that concept, we’d
      surely need to write lots of brittle glue code to compensate. © Karl Fogel
      %
      A designer knows he has achieved perfection not when there is nothing left to
      add, but when there is nothing left to take away. © A. de Saint-Exupéry
      %
      You don't have to have lots of money to be evil, but it sure helps.
      %
      Part of the inhumanity of the computer is that, once it is competently
      programmed and working smoothly, it is completely honest. © Isaac Asimov
      %
      Nevertheless I believe that at the end of the century the use of words and
      educated opinion will have altered so much that we will be able to speak of
      machines thinking without expecting to be contradicted. © A.Turing
      %
      «When I use a word, Humpty Dumpty said in a rather a scornful tone, it means
      just what I choose it to mean — neither more nor less».
      %
      …the creator of Rails in his flagship products could not keep them running for
      longer than 4 minutes on average. © Zed Shaw
      %
      Все беды в этом мире происходят оттого, что вещи не называются своими именами.
      © Конфуций
      %
      Когда ты заглядываешь в бездну, сама бездна заглядывает в тебя © Ф.Ницше
      %
      Obsessed by the idea of producing beautiful code or none at all, but yet
      unsuccessful in achieving this lifetime goal. © me
      %
      Scientific American is a low-tech version of Slashdot, and it even does not
      have comments © Roman Rolinsky
      %
      When I start seeing patterns in my code, it's time to refactor it. © Dmitry
      Kazimirov on Design Patterns.
      %
      Чрезмерная секретность – это вредительство. © unknown
      %
      Жизнь состоит не только из поездок на работу и обратно. Есть шоппинг, поездки
      за город, просто путешествия, в конце-концов. © bi-rom.livejournal.com/
      %
      И так всегда: как технарь — так интеллект налицо, как гуманитарий — туши свет.
      © Гоблин
      %
      Программист должен обладать способностью первоклассного математика к абстракции
      и логическому мышлению в сочетании с эдисоновским талантом сооружать всё, что
      угодно, из нуля и единицы. Он должен сочетать аккуратность бухгалтера с
      проницательностью разведчика, фантазию автора детективных романов с трезвой
      практичностью экономиста. © Ершов
      %
      First: «I have one rule on process: it isn't a substitute for talent.» Second:
      «I have one rule on talent: it isn't a substitute for process.» © Slashdot
      crowd
      %
      Learning a language is more about culture than syntax. © Popular wisdom
      %
      A great programmer adds function by deleting code © Jon Bentley
      %
      Instead of building computers which were genuinely capable of understanding the
      world, his colleagues had simply redefined understanding and knowledge until
      they were things of which computers were, in principle, capable. © Andrew Brown
      on Joseph Weizenbaum and John McCarthy / Marvin Minsky clique
      %
      Only wimps use tape backup: _real_ men just upload their important stuff on
      ftp, and let the rest of the world mirror it ;) © Linus Torvalds
      %
      Premature optimisation is the root of all evil in programming. © Donald Knuth
      %
      «As much as it pains me to say this, Java is the programming tool of choice for
      discriminating hackers». © zem
      %
      «Like designers, if you give a programmer a problem with parameters, they’ll
      apply every bit of genius they have to solve it in the best possible way. If
      you tell them how to do it, you’ll suffer the wrath of an angry God». © Derek
      Powazek
      %
      «Система управления обществом, основанная на внедрении в массовое сознание
      разнообразных мифов — еще хуже чем явный и неприкрытый тоталитаризм» © Vitus
      Wagner
      %
      «The key to performance is elegance, not battalions of special cases».
      © McIlroy and Bentley
      %
      «If you can't change your organization, change your organization» © Martin
      Fowler
      %
      A very senior Microsoft developer who moved to Google told me that Google works
      and thinks at a higher level of abstraction than Microsoft. “Google uses
      Bayesian filtering the way Microsoft uses the if statement,” he said.
      © Joel Spolsky
      %
      «This is the same phenomenon you see with defense contractors or fashion
      brands. The dumber the customers, the more effort you expend on the process of
      selling things to them rather than making the things you sell». © Paul Graham
      %
      «The complexity of software is an essential property, not an accidental one.
      Hence, descriptions of a software entity that abstract away its complexity
      often abstract away its essence». © Fred Brooks
      %
      «…flowchart is a very poor abstraction of software structure». © Fred Brooks
      %
      «…the most important function that the software builder performs for the client
      is the iterative extraction and refinement of the product requirements. For the
      truth is, the client does not know what he wants». © Fred Brooks
      %
      «it is really impossible for a client, even working with a software engineer,
      to specify completely, precisely, and correctly the exact requirements of a
      modern software product before trying some versions of the product».
      © Fred Brooks
      %
      «A little retrospection shows that although many fine, useful software systems
      have been designed by committees and built as part of multipart projects, those
      software systems that have excited passionate fans are those that are the
      products of one or a few designing minds, great designers». © Fred Brooks
      %
      «The only limiting factor of the Linux operating system, is his user».
      © Linus Torvalds
      %
      «Intelligence is the ability to avoid doing work, yet getting the work done».
      © Linus Torvalds
      %
      «…if you need to ask a lawyer whether what you do is «right» or not, you are
      morally corrupt. Let's not go there. We don't base our morality on law."
      © Linus Torvalds
      %
      «95 percent of all software developers believe they are in the top 5 percent,
      when it comes to knowledge and skills». © Linux Torvalds
      %
      «Software is like sex; it's better when it's free. © Linux Torvalds
      %
      «If you need more than 3 levels of indentation, you're screwed anyway, and
      should fix your program». © Linux Torvalds
      %
      «Portability is for people who cannot write new programs». © Linux Torvalds
      %
      «Talk is cheap. Show me the code». © Linus Torvalds
      %
      «Those that can, do. Those that can't, complain». © Linus Torvalds
      %
      «He who can, does. He who cannot, teaches». © George Bernard Shaw
      %
      «…the difference between a bad programmer and a good one is whether he
      considers his code or his data structures more important. Bad programmers worry
      about the code». © Linux Torvalds
      %
      «Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете,
      вот в клетках и сидите. И вообще, весь этот горький катаклизм, который я тут
      наблюдаю… и Владимир Николаевич тоже…» © Скрипач
      %
      «…Беларусь, и я настаиваю именно на таком произнесении названия нашего
      братского государства…» © Д.А.Медведев
      %
      «Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый,
      дабы разумением своим не смущать начальства». © Пётр Первый
      %
      «In the consortium projects, there's always the handshake with one hand and a
      dagger in the other». © Bruce Perens
      %
      «Если быдло одного с тобой мнения, то возможно у тебя с ним больше общего, чем
      ты готов это признать» © Иа
      %
      «For a successful technology, reality must take precedence over public
      relations, for Nature cannot be fooled». © Richard Feynman on Challenger
      disaster
      %
      «In short, nobody violates the Busybox license (or indeed any Free Software
      license) for a smart reason.» © Bruce Perens
      %
      «Русский менеджмент — бессмысленный и беспощадный» © Виктор Вагнер
      %
      «Болты бывают христианские, языческие и иудейские. Христианские — у них,
      значит, крест посередине, под крестовую отвертку. Языческие — у них прорезь.
      Под старую, значит, плоскую отвертку. А иудейские — у тех ямка шестиконечная.
      Хитрые они. Под иудейскую, значит, отвертку.» © С.Лукьяненко
      %
      «Маркетинг — многоступенчатая система по сниманию ответственности со всех
      участников процесса на всех этапах убийства мыслей.» © А.Лебедев
      %
      «It is practically impossible to teach good programming to students that have
      had a prior exposure to BASIC: as potential programmers they are mentally
      mutilated beyond hope of regeneration.» © Edsger W. Dijkstra
      %
      «…от того, что писательство становится основным способом заработка, сильно
      падает качество произведений. Нету основной деятельности, которая дает общение
      с миром, новые впечатления, которые можно переложить в книгу. Сидит человек в
      башне из слоновой кости и высасывает из пальца все новые и новые сюжеты. А они
      все скучнее и скучнее.» © Vitus Wagner
      %
      «When a distinguished but elderly scientist states that something is possible,
      he is almost certainly right. When he states that something is impossible, he
      is probably wrong.» © Arthur C. Clarke
      %
      «The only way of discovering the limits of the possible is to venture a little
      way past them into the impossible.» © Arthur C. Clarke
      %
      «Any sufficiently advanced technology is indistinguishable from magic.»
      © Arthur C. Clarke
      %
      «СССР заслуживал того, что с ним произошло только из-за того, что в нем
      секретили топографические карты.» © Vitus Wagner
      %
      «Worst thing that can happen to a code base is size» © Steve Yegge
      %
      «The most dangerous way to lose time is not to spend it having fun, but to
      spend it doing fake work.» © Paul Graham
      %
      Когда рабочий ничего не делает, это практически невозможно скрыть. Учёному
      и сисадмину гораздо проще. А маркетологу, наоборот, надо приложить усилия,
      чтобы кто-то заметил, что тот ничего не делает.» © Lex KravetskI
      %
      «Many readers are not aware that the
      the brain will automatically ignore
      a second instance of the word «the»
      when it starts a new line.»
      © Matt Might
      %
      «I'm always delighted by the light touch and stillness of early programming
      languages. Not much text; a lit gets done. Old programs read like quiet
      conversations between a well-spoken research worker and a well-studied
      mechanical colleague, not as a debate with a compiler. Who'd have guessed
      sophistication bought such noise.» © Dick Gabriel
      %
      «…the recent resurgence of evangelical Christianity in the US is partly a
      reaction to drugs.» © Paul Graham
      %
      «Old programmers never die. They just decompile» © Stackoverflow crowd
      %
      «HR is the most massive problem in the IT sector today.» © Slashdot wisdom
      %
      «Сначала они тебя не замечают, потом смеются над тобой, затем борются с
      тобой. А потом ты побеждаешь.» © M.Gandhi
      %
      «Choose a job you love, and you will never have to work a day in your life.»
      @ Confucius
      %
      «Хорошим человеком быть выгодно.» @ Фёдор Михалыч Достоевский
      %
      «In business, innovation can be easily distinguished from invention.
      Invention is the conversion of cash into ideas. Innovation is the
      conversion of ideas into cash. This is best described by comparing Thomas
      Edison with Nikola Tesla. Thomas Edison was as innovator because he made
      money from his ideas. Nikola Tesla was an inventor. Tesla spent money to
      create his inventions but was unable to monetize them.»
      © en.wikipedia.org/wiki/Invention#Invention_and_innovation
      %
      «Make everything as simple as possible, but not simpler.»
      © Albert Einstein
      %
      «If you only have a hammer, every problem starts looking like a nail.»
      © Abraham Maslow
      %
      «The amount of noise generated by a change is inversely proportional to
      the complexity of the change.» © Poul-Henning Kamp
      %
      «It’s easier to change your environment than to change your mind.»
      %
      «Rara avis in terris nigroque simillima cygno» © Iuvenalis
      %
      «I take my courage where I can, but I take my weapons from science»
      © Randall Munroe
      %
      «I have always wished for my computer to be as easy to use as my telephone;
      my wish has come true because I can no longer figure out how to use my
      telephone.» © Bjarne Stroustrup
      %
      «Walking on water and developing software from a specification are easy if
      both are frozen.» © Edward V Berard
      %
      «Talk is cheap. Show me the code.» © Linus Torvalds
      %
      «Perfection is achieved, not when there is nothing more to add, but when
      there is nothing left to take away.» © Antoine de Saint-Exupéry
      %
      «Measuring programming progress by lines of code is like measuring aircraft
      building progress by weight.» © Bill Gates
      %
      «The trouble with programmers is that you can never tell what a programmer
      is doing until it’s too late.» © Seymour Cray
      %
      «If you have an apple and I have an apple and we exchange these apples then
      you and I will still each have one apple. But if you have an idea and I have
      an idea and we exchange these ideas, then each of us will have two ideas.»
      © George Bernard Shaw
      %
      «Jack of all trades, master of none, though often better than a master of one.»
      © Adam Savage
      %
      «Specialization is for insects.»
      © Heinlein
      %
      «The graveyards are full of indispensable men.»
      @ Charles de Gaulle
      %
      «If you're typing, you're not working.»
      © Crowd wisdom
      %
      «In contrast to «normal» people, engineers have rational objectives for
      social interactions: (1) Get it over with as soon as possible; (2) Avoid
      getting invited to something unpleasant; (3) Demonstrate mental superiority
      and mastery of all subjects.»
      © Scott Adams
      %
      «Being a creator of software systems is like being a god. Only without the
      omnipotence, omnipresence or omniscience.» © Brent Snook
      %
      «If I owe you a pound, I have a problem; but if I owe you a million, the
      problem is yours» © John Maynard Keynes
      %
      «Les bons artistes copient, les grands artistes volent» © Pablo Picasso
      %
      «Женщина-программист — как морская свинка: и не морская, и не свинья.»
      %
      «Freedom is the freedom to say that two plus two make four.»
      © George Orwell
      %
      «(какой-то функциональный тест написанный таким образом падал и разработчик решил проблему использованием datetime2).»
      © цитата с Хабра
      %
      «…products are intimately constrained by what is technically and algorithmically
      feasible. In my experience, having a technical understanding of the range of
      related problems can inspire product ideas that might not occur to someone
      without this understanding» © Aria Haghighi
      %
      OOP will die and be replaced by a «usable programming paradigm» © Zed Shaw
      %
      • +8
        Настоящий юниксоид за 3 часа напишет программу, которая за 5 секунд сделает
        то, что обычный пользователь руками делал бы час.


        Прямо про меня на этапе восторга от Линукса :) Да ещё не одну программу, а 5, передающих всё друг другу по пайпу
        • +1
          Создайте проект на github — все вместе дополним.
        • +2
          Про душ жизненно! Обожаю там все обдумывать!

          А еще поражает количество цитат со словом «простота». Невольно прислушаешься…
          • +7
            Жаль только, что разные люди под ней разное имеют в виду…
            • +1
              Не, жаль, что для определения, что такое «простота», нужно килограмм бумаги исписать и до седых волос спорить с коллегами.
              • 0
                Как раз потому что разные люди под этим разное имеют в виду.
            • 0
              Ага, пора там уже маркерную доску вешать.
              • +2
                А зря смеетесь, я все собираюсь прикупить блокнот для записей в душе.
                В сети продаются такие, правда за бугром.

                Не мокнут и пишут хоть в пару, хоть прямо в воде.
                • 0
                  А я думал, что пишут ручки/карандаши :)
                  • 0
                    Там набор: немокнущая бумага и пишущий по ней карандаш. По отдельности оно бы не заработало.
                    • 0
                      Там еще вместо бумаги спец пластик
              • +1
                Последняя прикольная.
                • +1
                  PEP 20 туда же…
                  • +16
                    Впору вводить метрику «Покрытие кода цитатами»
                      • +3
                        А мне показалось, что отсутсвие ссылок — это «задумка режиссёра», «их длжен знать каждый».
                      • 0
                        Неленивый программист — плохой программист.
                        • +1
                          Проще говоря: Ленивый программист — хороший программист.

                          То есть стремление не делать рутинную работу или тратить время на то, с чем справится компьютер. И избегать работы завтра, создавая качественный код сегодня.
                          • +1
                            >> Проще говоря: Ленивый программист — хороший программист.
                            вот это не всегда верно :)

                            А вообще вы верно поняли и раскрыли мою мысль. Поэтому вам плюс а мне минус.

                            Добавлю, что здоровое количество лени заставит вас сначала хорошенько подумать, как бы сделать попроще да получше, вместо того чтобы писать сотни однообразного кода, копипастить, а потом выбросить все это на помойку.
                            • +1
                              Настоящий юниксоид за 3 часа напишет программу, которая за 5 секунд сделает то, что обычный пользователь руками делал бы час.

                              :)
                          • +1
                            Кто нибудь в курсе кого это высказывание (точную формулировку не помню):
                            «Только гений может создать машину которой сможет пользоваться любой глупец, глупец же создаст машину которой сможет пользоваться только гений.»
                            • 0
                              Созвучно, но немного различается по смыслу:
                              Принцип ШОУ:
                              Создайте систему, которой сможет пользоваться даже дурак, и только дурак захочет ею пользоваться.
                              • +1
                                Apple успешно опровергает это утверждение
                          • 0
                            Во мне борются две сущности: наука и искусство, и обе они выбрали в своей борьбе очень страшное оружие — лень… //me
                            • 0
                              >Ничто так не раскрывает недостатки дизайна как реализация. // J. Horton

                              по-моему, здесь корректнее перевести не «дизайна», а «проектирования»
                              • 0
                                В случае с версткой web интерфейсов (в частности конечно) возможно оставить и дизайн.
                                • 0
                                  Диза́йн (англ. design замысел, план, намерение, цель и от лат. designare отмерять, намечать) — творческая деятельность, целью которой является определение формальных качеств промышленных изделий. Эти качества включают и внешние черты изделия, но главным образом те структурные и функциональные взаимосвязи, которые превращают изделие в единое целое как с точки зрения потребителя, так и с точки зрения изготовителя. Дизайн стремится охватить все аспекты окружающей человека среды, которая обусловлена промышленным производством.
                                  ByWiki
                                • +1
                                  Zawinski's Law of Software Envelopment: Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can. — Правило Завинского разработки програмного обеспечения: Каждая програма стремится к расширению пока не сможет читать электронную почту. Те програмы которые не смогут так расширится будут заменены теми которые смогут.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.