Д. Кнут программист?
Вика писал(а):
Окончил с отличием отделение математики Кейсовского технологического института (бакалавр, 1960). ... Спустя три года получил докторскую степень в Калифорнийском технологическом институте. Преподавал там же математику и одновременно консультировал по проблемам разработки программного обеспечения в компании Burroughs Corporation.
...Приглашенный профессор математики в университете Осло, Норвегия (1972, 1973). В Стэнфорде под его руководством защищено 28 докторских диссертаций.
whitefox, он скорее примат (прикладной математик). по крайней мере, больше известен как примат.
Давайте я уточню: я здесь говорю о чистых программистах, т.е. тех, кто научен только программировать и все, а других достижений (математика, физика) не имеет.
По такой же причине не подходят Дейкстра, Тьюринг, Маккарти и кто там еще был. Зато Вася Калиткин (который БлинГейтс) подходит.
Программисты не разрабатывают алгоритмы: они либо берут их из книжек/интернетов, либо эти алгоритмы настолько просты, что назвать их алгоритмами язык не поворачивается
А что есть алгоритм?
Хороший вопрос. Конечно, в данном контексте я не имел ввиду алгоритм в формальном смысле, иначе даже хеллоуворлдщик может гордо именовать себя программистом. Попытаюсь объяснить, как смогу. Прежде всего, алгоритмы понимаются с точностью до изоморфизма, алгоритм должен решать некую неделимую задачу (иначе можно было бы выписывать композиции и гордо объявлять себя программистом). Алгоритм не должен быть уже известен программисту или быть достаточно простым и давно изобретенным, чтобы фактор культурного прогресса позволял программисту выдумывать его. Вот такой алгоритм программист изобрести не может. Примеры: КС-языки для синтаксического анализа, любое быстрое умножение, сортировки за
, регулярные выражения, поиск по строке, проверка чисел на простоту, проверка изоморфизма графов - это изобретали люди, у которых квалификация была выше, чем у программистов.
С другой стороны, мое утверждение достаточно зыбко. Например, в универе я видел такой алгоритм поиска НОДа: делаем 1 шаг алгоритма Евклида и проверяем, делятся ли числа на 2 (в двоичной системе это очень быстро), если хотя бы одно из чисел делится (что очень вероятно), то аргументы можно заменить более простыми. В принципе это модификация не очень сложная, с др. стороны - существенная. Т.е. жесткого деления здесь не будет точно, скорее всего "плавный переход" (если мое утверждение вообще имеет смысл).