Умер Тони Хоар. Тот самый, который гениально ускорил работу компьютеров и случайно создал самую разрушительную уязвимость в истории IT
NewsMakerПрощай, отец Quicksort и null, без которого современной разработки не было бы.
Умер Чарльз Энтони Ричард Хоар - один из людей, которые в буквальном смысле помогли создать современное программирование в его нынешнем виде. Ему было 92 года. Даже те, кто никогда не слышал полного имени Хоара, скорее всего сталкивались с его идеями напрямую: через алгоритмы сортировки , через способы проверки кода на корректность, через модели параллельной работы программ и даже через старую, болезненно знакомую ошибку с null .
Чаще всего Хоара вспоминают как создателя Quicksort. Алгоритм он придумал в 1959 году, а первую реализацию написал в Elliott Computers в 1960-м. По воспоминаниям современников, толчком стал спор с начальником. История выглядит почти буднично, но результат оказался редким по живучести. Спустя десятилетия Quicksort всё ещё остаётся одним из самых быстрых и удобных способов сортировки во множестве практических задач.
Смысл Quicksort на первый взгляд простой. Программа выбирает один элемент как опорный, затем раскладывает все остальные значения по двум группам: меньше опорного и больше него. После этого та же операция повторяется для каждой группы отдельно, пока массив не выстроится в порядок. Важность идеи в том, что Хоар предложил очень удачное сочетание скорости, простоты и практичности. Алгоритм не просто красиво смотрелся в теории, а отлично работал на реальных машинах. Именно поэтому Quicksort использовали в реализации команды sort в Unix, а затем включали в библиотеки разных языков программирования. Для студентов и преподавателей он давно стал классическим примером того, как рекурсия и хороший инженерный расчёт дают решение, которое не стареет вместе с железом.
Но одной сортировкой вклад Хоара не ограничился. В конце 1960-х он разработал то, что позже стали называть логикой Хоара. Звучит сухо, однако суть у этой работы очень прикладная. Когда программист пишет код, всегда возникает вопрос: как доказать, что программа действительно делает именно то, что задумано, а не просто кажется правильной на нескольких тестах? Логика Хоара предложила для этого строгий метод. Она позволяет формулировать условия до выполнения фрагмента программы и после него, а затем проверять, сохраняется ли нужный результат. В упрощённом виде подход выглядит так: если на входе верно одно утверждение, то после выполнения команды должно стать верным другое. Для мира разработки такой способ рассуждения оказался крайне важен. С его помощью можно не только искать баги, но и заранее доказывать корректность особенно критичных систем, где ошибка слишком дорого стоит.
Умер Чарльз Энтони Ричард Хоар - один из людей, которые в буквальном смысле помогли создать современное программирование в его нынешнем виде. Ему было 92 года. Даже те, кто никогда не слышал полного имени Хоара, скорее всего сталкивались с его идеями напрямую: через алгоритмы сортировки , через способы проверки кода на корректность, через модели параллельной работы программ и даже через старую, болезненно знакомую ошибку с null .
Чаще всего Хоара вспоминают как создателя Quicksort. Алгоритм он придумал в 1959 году, а первую реализацию написал в Elliott Computers в 1960-м. По воспоминаниям современников, толчком стал спор с начальником. История выглядит почти буднично, но результат оказался редким по живучести. Спустя десятилетия Quicksort всё ещё остаётся одним из самых быстрых и удобных способов сортировки во множестве практических задач.
Смысл Quicksort на первый взгляд простой. Программа выбирает один элемент как опорный, затем раскладывает все остальные значения по двум группам: меньше опорного и больше него. После этого та же операция повторяется для каждой группы отдельно, пока массив не выстроится в порядок. Важность идеи в том, что Хоар предложил очень удачное сочетание скорости, простоты и практичности. Алгоритм не просто красиво смотрелся в теории, а отлично работал на реальных машинах. Именно поэтому Quicksort использовали в реализации команды sort в Unix, а затем включали в библиотеки разных языков программирования. Для студентов и преподавателей он давно стал классическим примером того, как рекурсия и хороший инженерный расчёт дают решение, которое не стареет вместе с железом.
Но одной сортировкой вклад Хоара не ограничился. В конце 1960-х он разработал то, что позже стали называть логикой Хоара. Звучит сухо, однако суть у этой работы очень прикладная. Когда программист пишет код, всегда возникает вопрос: как доказать, что программа действительно делает именно то, что задумано, а не просто кажется правильной на нескольких тестах? Логика Хоара предложила для этого строгий метод. Она позволяет формулировать условия до выполнения фрагмента программы и после него, а затем проверять, сохраняется ли нужный результат. В упрощённом виде подход выглядит так: если на входе верно одно утверждение, то после выполнения команды должно стать верным другое. Для мира разработки такой способ рассуждения оказался крайне важен. С его помощью можно не только искать баги, но и заранее доказывать корректность особенно критичных систем, где ошибка слишком дорого стоит.