Тоні Гоар

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Чарлз Ентоні Річард Гоар
Charles Antony Richard Hoare
CAR Hoare.jpg
Народився 11 січня 1934(1934-01-11) (84 роки)
Коломбо, Цейлон, Британська імперія, сьогодні Шрі-Ланка
Громадянство Велика Британія
Діяльність вчений у галузі інформатики, інженер, програміст, письменник, викладач університету
Відомий завдяки інформатика
Alma mater Оксфордський університет, МГУ
Володіє мовами англійська
Заклад Microsoft і Університет Оксфорду
Членство Лондонське королівське товариство, Національна академія деї Лінчеї, Європейська академія і Баварська академія наук
Magnum opus Швидке сортування, Логіка Гоара і Взаємодія послідовних процесів
Відомий завдяки:

алгоритм швидкого сортування

Логіка Гоара
Нагороди Премія Тюрінга

Сер Чарлз Ентоні Річард Гоар (англ. Charles Antony Richard Hoare або Tony Hoare або C.A.R. Hoare, народився 11 січня 1934, Коломбо, Цейлон, Британська імперія, сьогодні Шрі-Ланка) — англійський вчений, що працює в галузі інформатики та обчислювальної техніки. Найбільш відомий як розробник алгоритму «швидкого сортування» (англ. «quick sort»).

Інші відомі результати його праці: мова Z специфікацій та паралельна модель взаємодії послідовних процесів (CSP, Communicating Sequential Processes). Серед його досягнень — розробка логіки Гоара, наукової основи для конструювання коректних програм, яка використовується для визначення та розробки мов програмування. Гоар написав низку праць зі створення специфікацій, проектування, реалізації та супроводу програм, що висвітлюють важливість наукових досліджень для збільшення продуктивності комп'ютерів та збільшення надійності програмного забезпечення.

Біографія[ред. | ред. код]

Народився в Коломбо в Шрі-Ланці. Отримав ступінь бакалавра з класичних мов в Оксфордському університеті у 1956 році. Проходив службу у ВМС Великої Британії у 1956–1958 роках. Вивчивши російську мову, навчався комп'ютерного перекладу під керівництвом А. Н. Колмогорова в Московському Державному Університеті. У 1960 він залишив СРСР через політичну кризу (знищення розвідувального літака U-2) та почав працювати в невеликій компанії з виробництва комп'ютерів Elliot Brothers, де працював над реалізацією мови програмування ALGOL60. Тоді ж розпочав займатися розробкою алгоритмів.

1968 року Гоар став професором інформатики та обчислювальної техніки в Королівському Університеті Белфаста

1977 повернувся в Оксфорд як професор з обчислювальної техніки, щоб взяти під керівництво дослідницьку групу Programming Research Group, до задач якої входили зміцнення промислових, академічних та державних структур, що працюють в індустрії інформаційних технологій. Тема його досліджень в Оксфорді: коректність програмних специфікацій, проектування та розробка критичних та некритичних систем.

1999 року вийшов на пенсію у званні почесного професора та перейшов на посаду дослідника в Microsoft Research в Кембриджі, де й працює сьогодні.

1980 Гоар отримав Премію Тюринґа за «видатні досягнення у визначенні та дизайні мов програмування».[1]

У 2000 році Чарлз Ентоні Річард Гоар був відзначений лицарським званням; того ж року — Премією Кіото у галузі освіти та комп'ютерних наук.

У 2011 отримав Медаль Джона фон Неймана.

Наукові досягнення[ред. | ред. код]

Зізнання[ред. | ред. код]

Виступаючи на конференції QCon London в 2009, він вибачився за винайдення нульового вказівника:[2]

«

Я називаю це своєю помилкою на мільярд доларів. Це було винайдення нульового вказівника в 1965. В той час я розробляв першу вичерпну систему типів для посилань в об'єктно-орієнтованій мові (ALGOL W). На меті в мене було забезпечити те що всі використання посилань мають бути цілком безпечні, з перевіркою що виконується компілятором автоматично. Але я не зміг втриматись від спокуси додати нульовий вказівник, просто тому що його було легко реалізувати. Це призвело до незліченних помилок, вразливостей і відмов систем, які напевне спричинили мільярдні збитки і шкоду за останні сорок років.

Оригінальний текст(англ.)
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.
»

Протягом багатьох років під його керівництвом відділ[en] в Оксфорді працював над мовами формальної специфікації, такими як CSP та Z. Але індустрія програмного забезпечення не підхопила цю ідею як очікувалося, тому в 1995 Гоар переглянув початкові припущення:[3]

«

Десятиліття тому, дослідники формальних методів (і я серед них помилявся найбільше) передбачали що світ програмування з вдячністю прийме будь-яку допомогу яку надасть формалізація у розв'язанні проблем надійності, яка виникає коли програми стають великими і більш критичними щодо безпеки. Зараз програми стали дуже великими і дуже критичними - далеко за маштабами з якими можна комфортно працювати за допомогою формальних методів. Було багато проблем і невдач, але їх завжди приписували недостатньому аналізу вимог чи недостатньому контролю з боку менеджменту. Виявилось що світ ще не достатньо страждає від проблем які початково намагалися вирішити наші дослідження.

Оригінальний текст(англ.)
Ten years ago, researchers into formal methods (and I was the most mistaken among them) predicted that the programming world would embrace with gratitude every assistance promised by formalisation to solve the problems of reliability that arise when programs get large and more safety-critical. Programs have now got very large and very critical – well beyond the scale which can be comfortably tackled by formal methods. There have been many problems and failures, but these have nearly always been attributable to inadequate analysis of requirements or inadequate management control. It has turned out that the world just does not suffer significantly from the kind of problem that our research was originally intended to solve.
»

Примітки[ред. | ред. код]

  1. http://awards.acm.org/citation.cfm?id=4622167&srt=year&year=1980&aw=140&ao=AMTURING ACM Award Citation / C.Antony R. Hoare
  2. Hoare, Tony (25 August 2009). Null References: The Billion Dollar Mistake. InfoQ.com. 
  3. Hoare, C. A. R. (1996). Unification of Theories: A Challenge for Computing Science. Selected papers from the 11th Workshop on Specification of Abstract Data Types Joint with the 8th COMPASS Workshop on Recent Trends in Data Type Specification. Springer-Verlag. с. 49–57. ISBN 3-540-61629-2. 

Бібліографія[ред. | ред. код]

Посилання[ред. | ред. код]