Известные программисты, начинавшие с нуля — это разработчики, которые создали технологии, лежащие в основе современного IT, когда готовых курсов, фреймворков и туториалов еще не существовало и учиться приходилось по ходу дела. Ниже — пять таких имен: что каждый из них сделал, с чего начинал и какой урок отсюда полезен новичку.
Содержание
Сразу честная оговорка про «с нуля». Почти у всех героев этого списка было сильное образование, и «нуля» в смысле «без базы» тут не было. «С нуля» здесь означает другое: они работали в эпоху, когда сама область только формировалась, готовых учебников по их задачам не было, а решения приходилось изобретать первыми. Именно этому — учиться в условиях, когда ответа еще нет, — у них и стоит поучиться.
1. Тим Бернерс-Ли — создатель Всемирной паутины
Британский ученый Тим Бернерс-Ли придумал World Wide Web (Всемирную паутину) в 1989-1991 годах, работая в европейской лаборатории CERN. Важно не путать: интернет как сеть существовал и раньше, а Бернерс-Ли создал именно веб — способ связывать документы гиперссылками поверх интернета.
Он собрал три опоры, на которых веб держится до сих пор: протокол HTTP (как браузер и сервер обмениваются данными), язык разметки HTML (как размечена страница) и адрес URL (как найти ресурс). Первый в мире веб-сайт заработал в 1991 году.
По образованию он физик, окончил Куинз-колледж Оксфордского университета в 1976 году. Программированием увлекся во время работы в британской компании Plessey Telecommunications. В 1994 году основал W3C — консорциум, который до сих пор развивает стандарты веба.
За вклад в развитие интернета королева Елизавета II посвятила его в рыцари в 2004 году. Известен он и своей позицией: веб должен оставаться открытым и общедоступным.
Есть у него и знаменитая самоирония по поводу синтаксиса адресов:
Если бы я знал, сколько людей по всему миру будут набирать URL, я бы не стал ставить в синтаксисе двойной слэш.
Урок для новичка: самые устойчивые вещи получаются из простых, открытых соглашений. HTTP и HTML легко было освоить и внедрить — поэтому веб и разошелся по миру.
2. Дональд Кнут — отец анализа алгоритмов
Американский ученый Дональд Кнут известен прежде всего многотомником «The Art of Computer Programming» («Искусство программирования»), который он пишет с 1968 года и который стал настольной книгой по алгоритмам для нескольких поколений разработчиков. За фундаментальный вклад он получил премию Тьюринга в 1974 году.
Кнут — это про строгий анализ: как оценивать, сколько операций и памяти потребует алгоритм, и доказывать это, а не полагаться на интуицию. Отсюда и прозвище «отец анализа алгоритмов».
Помимо теории, он оставил и практический инструмент: систему компьютерной верстки TeX и связанный с ней язык описания шрифтов METAFONT. На TeX и его надстройках до сих пор верстают научные статьи и книги по математике.
Учился он на математика в Case Institute of Technology (сейчас часть Case Western Reserve University), позже стал профессором Стэнфордского университета, где преподает и сегодня как почетный профессор. Ему приписывают формулу об осознанном понимании:
Лучший способ по-настоящему понять что-то — попробовать объяснить это компьютеру.
Урок для новичка: привычка спрашивать «а сколько это стоит по времени и памяти?» отличает инженера от того, кто просто заставил код заработать.
3. Брендан Айк — создатель JavaScript
Американский программист Брендан Айк создал язык JavaScript в 1995 году, работая в компании Netscape. По известной истории, первый рабочий прототип он собрал примерно за десять дней. Сегодня JavaScript — основной язык веб-страниц, на нем так или иначе работает почти каждый сайт.
Позже Айк стал одним из основателей проекта Mozilla и участвовал в создании браузера, из которого вырос Firefox. Некоторое время он был техническим директором, а затем и генеральным директором Mozilla.
В 2015-2016 годах он запустил собственный проект — браузер Brave с упором на приватность и блокировку слежки, и до сих пор руководит этой компанией. По образованию учился в Университете Санта-Клары и в магистратуре Иллинойского университета в Урбане-Шампейне.
Урок для новичка: язык, который «сделали за пару недель под конкретную задачу», спустя годы стал одним из самых массовых в мире. Готовый идеальный дизайн не обязателен для старта — важнее, чтобы инструментом было удобно решать реальную задачу здесь и сейчас.
4. Соломон Хайкс — создатель Docker
Франко-американский программист Соломон Хайкс подарил индустрии Docker — инструмент, который упаковывает приложение вместе со всем окружением в контейнер и одинаково запускает его на любой машине. Публично он представил Docker в 2013 году; проект вырос из его компании dotCloud.
Важное уточнение против частого мифа: Хайкс не «изобрел контейнеры первым в мире». Изоляция процессов на уровне операционной системы существовала и до него — механизмы ядра Linux (namespaces, cgroups), а еще раньше FreeBSD Jails и Solaris Zones. Заслуга Docker в другом: он сделал контейнеры простыми и удобными, и они стали массовым стандартом.
Стоит развести и два близких понятия. Контейнер — это не то же самое, что виртуальная машина: виртуальная машина эмулирует целый компьютер со своей операционной системой, а контейнер использует ядро хозяйской системы и изолирует только процесс. Поэтому контейнер стартует быстрее и весит меньше, но это не «просто быстрая виртуалка».
Из Docker Хайкс ушел в 2018 году и позже занялся новыми инструментами для разработчиков.
Урок для новичка: сильная идея часто не в том, чтобы придумать технологию с нуля, а в том, чтобы сделать уже существующую доступной каждому.
5. Брэм Коэн — создатель BitTorrent
Американский программист Брэм Коэн придумал протокол BitTorrent в 2001 году и представил его на конференции CodeCon в 2002 году (одним из организаторов которой он был). BitTorrent — это способ раздавать файлы напрямую между пользователями: чем больше людей качают файл, тем больше источников его отдают, и нагрузка не ложится на один сервер.
Технология оказалась полезной далеко за пределами файлообмена: по протоколу BitTorrent распространяют, например, крупные обновления игр и дистрибутивы, а сам подход к распределенной передаче данных применяют многие сервисы.
По одной из историй, программировать Коэн начал еще ребенком. Позже, в 2017 году, он основал проект Chia Network — криптовалюту с необычным механизмом на основе свободного места на дисках вместо энергоемких вычислений.
О старте BitTorrent он вспоминал с самоиронией — что писал протокол, будучи безработным и сидя дома. Это и есть та самая работа «с нуля»: без гарантий, без команды и без уверенности, что получится.
Урок для новичка: масштабируемое решение рождается из правильной идеи, а не из большого бюджета. Один человек с рабочим протоколом изменил то, как весь мир передает большие файлы.
Коротко: кто что создал
| Программист | Что создал | Год | Где встречаем сегодня |
|---|---|---|---|
| Тим Бернерс-Ли | World Wide Web (HTTP, HTML, URL) | 1989-1991 | любой сайт и ссылка |
| Дональд Кнут | анализ алгоритмов, TeX | с 1968 | учебники по алгоритмам, научная верстка |
| Брендан Айк | язык JavaScript | 1995 | интерактив почти на каждом сайте |
| Соломон Хайкс | Docker | 2013 | контейнеры в разработке и на серверах |
| Брэм Коэн | протокол BitTorrent | 2001 | распределенная раздача файлов |
Что общего у всех пятерых: они не ждали готового учебника по своей задаче, разбирались в смежных областях и доводили идею до работающего инструмента, которым потом пользуются миллионы. Ни у кого из них не было курса «как сделать веб» или «как написать язык» — его просто не существовало.
Выводы
- «С нуля» у героев списка — это не отсутствие образования (у большинства сильная база в физике, математике, информатике), а работа в эпоху, когда готовых учебников и курсов по их задачам еще не было.
- Каждый довел идею до работающего инструмента, которым сегодня пользуются миллионы: Бернерс-Ли — веб (HTTP, HTML, URL), Кнут — анализ алгоритмов и TeX, Айк — JavaScript, Хайкс — Docker, Коэн — BitTorrent.
- Сильная идея часто не в том, чтобы изобрести технологию первым: Docker популяризировал уже существовавшую контейнеризацию, а веб вырос на простых и открытых соглашениях.
- Масштаб не требует большого бюджета — JavaScript собран за считаные дни, а BitTorrent написан одним безработным программистом дома.
- Общий урок для новичка: разбираться в смежных областях, задавать вопрос о цене решения по времени и памяти и доводить идею до удобного рабочего инструмента.
С чего начать сегодня, если хочется так же
Хорошая новость для тех, кто вдохновился: начинать сейчас проще, чем героям этого списка. Там, где им приходилось изобретать подход первыми, у вас есть структурированные программы, разобранные примеры и живая обратная связь. «С нуля» больше не значит «в одиночку и вслепую».
Освойте тему на практике
Типичная точка входа — Python: у него простой синтаксис, на нем пишут и первые скрипты, и серьезные проекты, поэтому его часто берут как первый язык. Если хочется системно освоить базу программирования, а не собирать знания обрывками, посмотрите курс Основы программирования (Python). Понять формат и уровень до старта помогают бесплатные открытые уроки Otus — живые занятия с преподавателями, куда можно прийти и задать вопрос.
FAQ
Правда ли, что все эти программисты начинали совсем без образования? Нет. У большинства было сильное профильное образование (физика, математика, информатика). «С нуля» тут — про эпоху, когда готовых учебников и курсов по их задачам еще не было, а не про отсутствие базы.
Кто из них считается «изобретателем интернета»? Точнее говорить не «интернета», а «Всемирной паутины». Интернет как сеть создавали раньше и коллективно; Тим Бернерс-Ли придумал веб — систему связанных гиперссылками страниц поверх интернета.
С какого языка новичку логичнее начинать — как эти герои? Повторять их путь буквально не нужно: они писали на C, ассемблере и языках своего времени под конкретные задачи. Сегодня для старта чаще берут Python из-за простого синтаксиса и широкого применения.

