Интересные и вдохновляющие компьютерные ученые прошлого и настоящего, которыми я восхищаюсь

Я люблю читать об ученых и инженерах, которые на протяжении многих лет внесли свой вклад в информатику. Это вдохновляет меня узнавать об их удивительной работе - у некоторых не было формального образования, а у большинства был меньший доступ к исследованиям, чем у нас сейчас. Это не список лучших, это лишь некоторые из моих любимых.

Джон фон Нейман

Джонни (как его называют друзья), несомненно, получил бы премию Тьюринга, если бы он не скончался до эры этой награды. В Cantor’s Paradise есть отличная статья о Джонни, в которой подробно рассказывается о его биографии.

Его таланты и кругозор широки (включая двойную докторскую степень по математике и химии), и в компьютерных науках сегодня люди могут узнать его имя только по варианту сегодняшней архитектуры + созданное ею ограничение (архитектура фон Неймана и узкое место) . Но не забывайте, что он также изобрел сортировку слиянием и построил некоторые из первых компьютеров. Он также выполнил большую часть математических расчетов взрыва атомной бомбы, использовал компьютеры первого поколения для разработки B-бомбы и внес свой вклад в метод Монте-Карло.

Ходили разные истории о том, что Джонни был расточительным математиком и обладал памятью: в 6 лет он был способен мысленно делить 2-8-значные числа менее чем за секунду. У него также была фотографическая память, он мог читать целые книги по памяти. Говорят, что он взял с собой в туалет две книги, опасаясь, что дочитает первую до того, как закончит!

Джонни умер от рака, прежде чем смог завершить свою новую страсть в области искусственного интеллекта. Он начал писать «Компьютер и мозг», который, к сожалению, не очень согласован в его нынешнем виде. Кто знает, насколько продвинулись бы искусственный интеллект и машинное обучение, если бы Джонни прожил еще 20 лет!

Фред Брукс

«Более половины времени, которое вы тратите на работу над проектом (порядка 70 процентов), тратится на размышления, и ни один инструмент, каким бы продвинутым он ни был, не может думать за вас. Следовательно, даже если инструмент делал все, кроме того, что думал за вас - если он написал 100 процентов кода, написал 100 процентов документации, выполнил 100 процентов тестирования, записал компакт-диски, поместил их в коробки и отправил по почте. их клиентам - лучшее, на что вы можете надеяться, - это повышение производительности на 30 процентов. Чтобы добиться большего, вы должны изменить свое мышление ».

Я думаю, что Фред наиболее известен своей книгой «Мифический человеко-месяц» - своего рода классикой и своего рода библией по разработке программного обеспечения, которая удивительно неподвластна времени в своих советах. Возможно, один из самых цитируемых компьютерных ученых в мире, он на самом деле больше, чем просто отличные цитаты и классные названия книг.

Помимо того, что он был лауреатом премии Тьюринга и архитектором IBM System / 360, на которой основана его знаменитая книга, он также известен разработкой компьютера Harvard Mark I и первого компьютера IBM на базе транзисторов (который провалился).

Большинство людей понятия не имеют, что это была за System / 360 (включая меня). Мэйнфреймы предшествовали большинству из нас, но, очевидно, до 360, каждый «компьютер» имел совершенно разные архитектуры и каждый раз требовал полной перезаписи программного обеспечения. Концепция «архитектуры», которая включает совместимый набор аппаратных регистров и инструкций, началась с Brooks и 360. Это может быть первым примером современной «компьютерной архитектуры».

Эндрю Таненбаум

Хотя я не был самым известным из ученых с исторической точки зрения, я любил его книги, особенно «Компьютерные сети», и имел честь преследовать его в его офисе в Амстердамском университете, чтобы любезно попросить его подписать мой третий экземпляр его книги. (Я бы не стал его беспокоить, я работал поблизости, а мой коллега был его бывшим учеником и посоветовал мне пойти на это)

Энди, или аст, довольно известен своей работой по исследованию операционных систем и публикацией исходного кода Unix для своей операционной системы minix в своей книге еще в 1974 году. Линус Торвальдс использовал это как основу своей операционной системы linux. . Интересно, что Энди не одобрил - он считал, что все новые исследования должны быть на микроядрах, а не на другом моноядре. Есть архивная ветка USENET, которая в результате стала довольно известной.

Энди написал несколько известных книг в области операционных систем и распределенных систем, и у него есть известные студенты, защитившие докторскую диссертацию. семейное древо. Вайнер Фогельс (технический директор AWS) был одним из самых известных его докторов наук. студенты. Франс Каашук из Массачусетского технологического института был еще одним студентом, учеником которого был Доусон Энглер, который преподавал передовые операционные системы в Стэнфорде. Я упоминаю Энглера, потому что он был классным парнем, и я прошел его курс - так что я тоже родственник! (Если серьезно, мои навыки позволяют мне только стричь их лужайку ...)

Удивительные люди современной эпохи

Поскольку эти люди моложе (или еще живы) - я помещаю их в другую категорию, чтобы отдать дань уважения пожилым людям (таким как я).

Джон Кармак

Люди могут не узнать гения, стоящего за Doom и Quake. Послушайте его подкаст Джо Рогана когда-нибудь, и вы почувствуете, насколько разносторонний его гений - немного похож на миниатюрного фон Неймана, он может прыгать от игр к ракетам, к общему искусственному интеллекту.

Как хакер-самоучка и программист игр, о его работе ходят легенды. Следует прочитать «Мастера судьбы», чтобы полностью понять, насколько талантливым был Кармак и почему программист с 10-кратным увеличением (в случае Джона с 100-кратным увеличением) не является мифом.

Кармак вдохновляет меня сосредоточиться на 110%, если вы хотите быть в чем-то хорошим или великим (хотя вполне вероятно, что у него и других гениев есть какая-то форма Аспергера). Его способность выходить за рамки просто игр вдохновляет меня на смелые шаги (хотя мне, как и ему, сначала нужно иметь несколько миллионов долларов в банке).

Крис Латтнер

Я узнал о таланте Криса, когда слушал его в AI Podcast. Это парень, который не только создал теперь стандартные компилятор и оптимизатор LLVM, но и создал язык Swift в Apple, а затем в Google создал для него поддержку TensorFlow.

Я боюсь, что в наши дни большинство людей потеряли связь с оборудованием, поскольку языки программирования стали более высокоуровневыми, но, к счастью, такие легенды, как Крис, все еще работают на самом низком уровне компиляторов и языков. Причина, по которой GCC просуществовал десятилетия, заключается в том, что ни у кого не хватило амбициозности заменить такой де-факто инструмент. Написание компиляторов - действительно тяжелая работа - это занятие, которое вы посещаете в колледже, чтобы просто познакомиться с оборудованием, прежде чем бежать в горы от шока и трепета.

Следите за его текущим стартапом SiFive и пространством настраиваемых чипов RISC-V. Если бы у меня был лишний биткойн, я бы поставил его на Криса.

Джефф Дин

Джефф и Санджай Гемават, вероятно, самые известные стипендиаты в истории Google и стремление каждого практического инженера, который хочет добиться успеха в качестве кодировщика, а не быть вынужденным руководить (Джефф, однако, немного ушел в менеджмент, но мы не будем это против него).

Джефф стоял за не менее чем 5 ключевыми инновациями в Google, каждого из которых было бы достаточно, чтобы присвоить ему статус члена и легенды (в произвольном порядке: TensorFlow, MapReduce, BigTable, Spanner и LevelDB). Эндрю Нг в интервью назвал Джеффа, возможно, лучшим программистом в мире.

Джей Крепс, Матей Захария

Мне нравится новая волна генеральных директоров / технических директоров, таких как Джей и Матей - люди, которые взяли внутренний продукт компании или исследования университета и открыли его исходный код, а затем, после достаточного принятия, создали компанию. Эта модель повторялась уже несколько раз, и возникает вопрос, не помешает ли она фирмам спонсировать OSS в будущем?

Крепс и Кафка открыли новое измерение того, как можно собирать сообщения и базы данных вместе с семантикой на основе журналов. Его журнал, опубликованный на Linkedin, должен быть обязательным к прочтению для всех разработчиков программного обеспечения и систем.

Матей взял Spark - можно было подумать, что это довольно устоявшийся OSS, и доказал, что детали реализации имеют значение. Разница в удобстве использования между DataBricks, EMR, Spark на Kube или Spark на YARN, чтобы быть похожей на разницу между моим самодельным коробчатым автомобилем и Ferrari.

Список далеко не полный. Я лично благодарю многих предпринимателей, которые помогают стимулировать инновации и прогресс для всех нас. В моем списке были и другие имена, такие как Стоунбрейкер, Джикстра, Ривест, Уэс МакКинни, о которых я тоже хотел поговорить - возможно, в будущей части 2.

использованная литература

  1. ComputePhile на JVN - https://www.youtube.com/watch?v=Ml3-kVYLNr8
  2. Истории JVM - https://cs.stanford.edu/people/eroberts/courses/soco/projects/1998-99/game-theory/neumann.html
  3. Победители ACM Turn Award - https://amturing.acm.org/byyear.cfm
  4. Документ, который должен прочитать каждый инженер - https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying
  5. История Apache Spark - https://spark.apache.org/research.html
  6. Джефф и Санджай в Google - https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge
  7. Аспергера в ученых - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC539373/