Роб Пайк
Роб Пайк (полное имя — Роберт С. Пайк, англ. Robert C. Pike; род. 1956) — американский программист, инженер и писатель, известный своим вкладом в разработку операционных систем, языков программирования и систем с открытым исходным кодом. Наиболее известен как один из создателей языка программирования Go (совместно с Кеном Томпсоном и Робертом Гриземером), а также как участник проектов Plan 9 от Bell Labs и Inferno. Пайк также является автором нескольких книг по программированию, включая «The Practice of Programming» (в соавторстве с Брайаном Керниганом).
Биография
Роб Пайк родился в 1956 году в Канаде. Получил степень бакалавра математики в Университете Торонто в 1978 году. После окончания университета он начал работать в Bell Labs (подразделение компании AT&T, позже — Lucent Technologies), где провёл значительную часть своей карьеры. В Bell Labs он присоединился к исследовательской группе, занимавшейся разработкой операционных систем и языков программирования. В 1990-х годах Пайк перешёл в компанию Google, где продолжил работу над системами и языками.
Основные достижения
Операционные системы
Пайк внёс значительный вклад в разработку операционных систем Plan 9 от Bell Labs и Inferno. Plan 9, созданная в Bell Labs в 1980-х годах, была попыткой переосмыслить концепции Unix, включая распределённые вычисления и использование файловой системы как универсального интерфейса для всех ресурсов. Inferno, разработанная в 1990-х годах, была ориентирована на встраиваемые системы и сетевые приложения, и включала виртуальную машину Dis.
Языки программирования
Пайк участвовал в создании нескольких языков программирования. Наиболее известным из них является Go (также известный как Golang), разработанный в Google в 2007–2009 годах. Go был спроектирован как язык для системного программирования с акцентом на простоту, производительность и поддержку параллелизма. Пайк также участвовал в разработке языка Limbo, который использовался в операционной системе Inferno, и языка Newsqueak, который был предшественником Go в области параллельного программирования.
Инструменты и утилиты
Пайк является автором нескольких известных утилит и инструментов для Unix-подобных систем. Среди них:
- blit — терминальный мультиплексор, предшественник современных инструментов вроде tmux.
- sam — текстовый редактор, разработанный для Plan 9, известный своим уникальным интерфейсом и поддержкой регулярных выражений.
- acme — среда разработки и текстовый редактор для Plan 9, интегрирующая редактирование, отладку и управление файлами.
Книги
В соавторстве с Брайаном Керниганом Пайк написал две книги:
- «The Practice of Programming» (1999) — сборник советов по стилю, отладке, тестированию и проектированию программного обеспечения.
- «The Unix Programming Environment» (1984) — учебник по программированию в среде Unix, ставший классическим пособием для разработчиков.
Вклад в развитие Go
Язык Go был создан в Google для решения проблем, связанных с масштабируемостью и производительностью приложений. Пайк, вместе с Кеном Томпсоном и Робертом Гриземером, разработал синтаксис и основные концепции языка, включая горутины (легковесные потоки) и каналы для обмена данными между ними. Go был официально анонсирован в 2009 году и с тех пор стал широко использоваться в таких областях, как веб-разработка, облачные вычисления, DevOps и системное программирование.
Критика
Работа Пайка, включая язык Go, подвергалась критике за отсутствие некоторых современных возможностей, таких как дженерики (обобщённое программирование), которые были добавлены только в версии 1.18 (2022 год). Также отмечалось, что Go не поддерживает наследование в классическом объектно-ориентированном стиле, что ограничивает его применение в некоторых проектах. Однако сторонники языка утверждают, что эти ограничения способствуют простоте и читаемости кода.
Интересные факты
- Роб Пайк является автором известного эссе «Systems Software Research is Irrelevant» (2000), в котором критиковал состояние академических исследований в области системного программного обеспечения.
- Пайк также известен как один из разработчиков шрифта Go Font, созданного для использования в среде языка Go.
- Он был одним из первых пользователей и популяризаторов системы контроля версий Mercurial, которую он использовал для разработки Go.
Источники
- «The Practice of Programming» (1999), Брайан Керниган, Роб Пайк
- «The Unix Programming Environment» (1984), Брайан Керниган, Роб Пайк
- Официальный сайт языка Go: golang.org
- Документация Plan 9 от Bell Labs: plan9.bell-labs.com
- Эссе «Systems Software Research is Irrelevant» (2000), Роб Пайк
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →