Есть два способа построения дизайна программного обеспечения: один из способов - сделать его настолько простым, что, очевидно, нет недостатков, а другой - сделать его настолько сложным, что нет очевидных недостатков. Первый метод гораздо сложнее.
Неизлетная цена надежности - простота.
Внутри каждой большой программы находится небольшая программа, пытающаяся выйти.
Я называю это своей ошибкой в миллиард долларов. Это было изобретение нулевой ссылки в 1965 году.
Некоторые проблемы лучше уклоняются, чем решены.
Вот язык настолько впереди своего времени, что это было не только улучшение его предшественников, но и почти всех его преемников.
Превосходная оптимизация является корнем всего зла в программировании.
Реальная ценность тестов заключается не в том, что они обнаруживают ошибки в коде, а в том, что они обнаруживают недостатки в методах, концентрации и навыках тех, кто разрабатывает и производит код.
В развитии понимания сложных явлений наиболее мощным инструментом, доступным для человеческого интеллекта, является абстракция. Абстракция возникает из -за признания сходства между определенными объектами, ситуациями или процессами в реальном мире и решения о том, чтобы сосредоточиться на этих сходствах и игнорировать, в настоящее время их различия.
Сначала я надеялся, что такой технически неопровержимый проект разрушится, но вскоре я понял, что он обречен на успех. Почти все в программном обеспечении может быть реализовано, продано и даже используется с учетом достаточного определения. Нет ничего, что просто ученый не может сказать, что противостоит наводнению в ста миллионов долларов. Но есть одно качество, которое нельзя купить таким образом - и это надежность. Цена надежности - это стремление к максимальной простоте. Это цена, которую очень богатым находит самую трудную плату.
Программисты всегда окружены сложностью; Мы не можем избежать этого ... если наш основной инструмент, язык, на котором мы разрабатываем и кодируем наши программы, также сложный, сам язык становится частью проблемы, а не частью его решения.
Цена надежности - это стремление к максимальной простоте. Это цена, которую очень богатым может быть трудно заплатить.
Я не смог устоять перед искушением поставить нулевую ссылку, просто потому, что его было так легко реализовать. Это привело к бесчисленным ошибкам, уязвимостям и авариям системы, которые, вероятно, вызвали миллиард долларов боли и повреждения за последние сорок лет.
Вы не можете научить новичков сверху вниз программированию, потому что они не знают, какой конец истечет.
Я не знаю, как будет выглядеть язык 2000 года, но я знаю, что его будут вызвать Fortran.
Конечной задачей сустава для биологических и вычислительных наук является понимание механизмов человеческого мозга и его взаимосвязь с человеческим разумом.
Каково центральное ядро предмета [информатики]? Что это отличает его от отдельных предметов, с которыми он связан? Что такое связывая нить, которая собирает эти разрозненные ветви в единую дисциплину. Мой ответ на эти вопросы просто -это искусство программирования компьютера. Это искусство проектирования эффективных и элегантных методов получения компьютера для решения проблем, теоретических или практических, малых или крупных, простых или сложных. Это искусство перевода этого дизайна в эффективную и точную компьютерную программу.
Работа формальных методов заключается в выяснении предположений, от которых зависит формальная правильность.
В конечном итоге я был убежден в необходимости проектирования обозначений программирования, чтобы максимизировать количество ошибок, которые не могут быть допущены, или, если они сделаны, могут быть достоверно обнаружены во время компиляции.