Введение
Американский учёный в области компьютерных наук Карл Сассенрат (род. 1957 в Калифорнии) — архитектор операционных систем и компьютерных языков. Он внедрил многозадачность в персональные компьютеры в 1985 году, создав ядро операционной системы Amiga Computer, и является разработчиком компьютерного языка REBOL, среды совместной работы REBOL/IOS, системы приватных сообщений Safeworlds AltME и других продуктов. В настоящее время Карл занимает должность ведущего инженера в Roku, Inc.
Carl Sassenrath (born 1957 in California) is an architect of operating systems and computer languages. He brought multitasking to personal computers in 1985 with the creation of the Amiga Computer operating system kernel, and he is the designer of the REBOL computer language, REBOL/IOS collaboration environment, the Safeworlds AltME private messaging system, and other products. Carl is currently a Principal Engineer at Roku, Inc.
Предыстория
Карл Сассенрат родился в 1957 году в Калифорнии в семье Чарльза и Кэролин Сассенрат. Его отец был инженером-химиком, занимавшимся исследованиями и разработками в области нефтепереработки, производства бумаги и систем контроля загрязнения воздуха. В конце 1960-х годов его семья переехала из района залива Сан-Франциско в небольшой городок Еврика, штат Калифорния. С раннего детства Сассенрат активно увлекался электроникой, любительским радио, фотографией и киносъемкой. В тринадцать лет Сассенрат начал работать на телеканале KEET, осуществляющем общественное вещание PBS. Год спустя он стал оператором на KVIQ (тогда являвшемся филиалом ABC) и продвинулся до должности технического директора и режиссера новостей, рекламных роликов и местных программ. В 1980 году Сассенрат окончил Калифорнийский университет в Дэвисе, получив степень бакалавра наук в области электротехники и компьютерных наук (EECS). Во время учебы он заинтересовался операционными системами, параллельными вычислениями, языками программирования и нейрофизиологией. Он был ассистентом преподавателя на курсах компьютерных языков для студентов магистратуры и научным сотрудником в области нейробиологии и поведенческой биологии. Его дядя, доктор Джулиус Сассенрат, возглавлял кафедру педагогической психологии в Калифорнийском университете в Дэвисе, а его тетя, доктор Этель Сассенрат, была одним из первых исследователей ТГК в Калифорнийском национальном исследовательском центре приматов.
Hewlett-Packard
В последний год обучения в университете Сассенрат присоединился к подразделению компьютерных систем Hewlett Packard в качестве члена группы разработки файловых систем Multi Programming Executive (MPE) для компьютеров HP 3000. Его задачей было создание компилятора для нового типа языка управления под названием Outqueue — сложная задача, поскольку язык был одновременно описательным и процедурным. Год спустя Сассенрат стал членом команды разработчиков ядра MPE IV OS, а затем — частью группы разработчиков ядра HPE. Работая в HP, Сассенрат заинтересовался минимизацией высокой сложности, свойственной большинству операционных систем того времени, и начал формулировать собственные концепции операционной системы на основе микроядра. Он предложил их HP, но обнаружил, что крупная компания не проявляла особого интереса к идеям "упрощенной ОС". В конце 1981 и начале 1982 года Сассенрат взял академический отпуск для проведения исследований в области атмосферной физики для Национального научного фонда на станции Амундсена — Скотта на Южном полюсе. По возвращении Сассенрат достиг соглашения с HP о проведении независимых исследований в новых областях вычислительной техники, включая графические пользовательские интерфейсы и методы удаленного вызова процедур в распределенных вычислениях. Позже, в 1982 году, впечатленный новыми вычислительными идеями, опубликованными в Xerox PARC, Сассенрат организовал проект HP по разработке современного стиля оконных графических интерфейсов, управляемых мышью. Проект, названный Probus (для профессиональной бизнес-рабочей станции), был создан на прототипе рабочей станции Sun Microsystems, одолженной у Энди Бектольсхайма, когда он учился в Стэнфордском университете. Probus наглядно продемонстрировал возможности графических пользовательских интерфейсов, а система также включала гиперссылки и ранние концепции распределенных вычислений. В HP Сассенрат участвовал и находился под влиянием ряда языковых проектов HP, включая Ada, Pascal, Smalltalk, Lisp, Forth, SPL и различные экспериментальные языки.
Амига
В 1983 году Карл Сассенрат присоединился к Amiga Computer, Inc., небольшой стартап-компании в Силиконовой долине. На должности менеджера операционных систем ему было поручено разработать новую операционную систему для Amiga – передовой мультимедийной персональной компьютерной системы, впоследствии известной как Amiga. Учитывая сложность компьютера для своего времени (Amiga использовала 28 каналов DMA и несколько сопроцессоров), Сассенрат решил создать операционную систему с вытесняющей многозадачностью на основе микроядра. Это был новаторский подход для 1983 года, когда другие операционные системы персональных компьютеров, такие как MS DOS (1981) и Macintosh (1984), работали в однозадачном режиме. Многозадачное ядро Amiga также стало одним из первых, реализовавших методологию микроядра ОС, основанную на ядре обмена сообщениями в реальном времени (межпроцессное взаимодействие), известном как Exec (от англ. executive – исполнительный модуль), с динамически загружаемыми библиотеками и устройствами в качестве дополнительных модулей, окружающих ядро. Такая конструкция обеспечила Amiga OS высокую расширяемость и гибкость в условиях ограниченной памяти компьютеров 1980-х годов. Позже Сассенрат отметил, что такая конструкция стала необходимостью, чтобы интегрировать в ПЗУ десятки внутренних библиотек и устройств, включая графику, звук, графический пользовательский интерфейс, дисковод гибких дисков, файловые системы и другие компоненты. Этот динамический модульный подход также позволил внешним разработчикам добавлять сотни дополнительных модулей на протяжении многих лет. После выпуска Amiga в 1985 году Сассенрат покинул Commodore Amiga, чтобы заняться разработкой новых идей языков программирования, которые он обдумывал еще со студенческих времен.
Компьютер Apple
В 1986 году Сассенрат был приглашен в группу передовых технологий Apple Computer (ATG) для разработки операционных систем нового поколения. Он участвовал в проекте Aquarius – проекте четырехъядерного процессора (смоделированного на Cray XMP 48, принадлежащем Apple), который задумывался как трехмерный преемник Macintosh. В то время язык C++ только появился, но Сассенрат, как и многие другие исследователи Apple, отдавал предпочтение более строгой объектно-ориентированной реализации языка Smalltalk. Работа в ATG вместе с такими легендами компьютерной техники, как Алан Кей, Ларри Теслер, Дэн Ингаллс, Билл Аткинсон и другие, предоставила Сассенрату богатые ресурсы и знания, которые повлияли на его представления о языках и системах программирования.
Исследования Сассенра
В 1988 году Сассенрат покинул Кремниевую долину и переехал в горы долины Укиа, расположенной в двух часах езды к северу от Сан-Франциско. Там он основал компании, специализирующиеся на мультимедийных технологиях, такие как Pantaray, American Multimedia и VideoStream. Он также портировал язык программирования Logo на платформу Amiga, руководил разработкой программного обеспечения для ОС CDTV – одной из первых приставок для телевизора с CD-ROM, и разработал ОС для Viscorp Ed – одной из первых приставок для интернет-телевидения.
REBOL Technologies
В 1996 году, наблюдая за ростом и развитием языков программирования, таких как Java, Perl и Python, Сассенрат решил опубликовать свои собственные идеи в области компьютерных языков. Результатом стал REBOL – объектный язык, основанный на относительных выражениях. REBOL задуман как легковесный и предназначен, в частности, для поддержки эффективных распределённых вычислений. Сассенрат описывает REBOL как баланс между концепциями контекста и символизма, позволяющий пользователям создавать новые связи между символами и их значениями. Таким образом, он стремится объединить понятия кода, данных и метаданных. Сассенрат считает REBOL экспериментальным, поскольку он предоставляет больший контроль над контекстом, чем большинство других языков программирования. Слова могут использоваться для формирования различных грамматик в разных контекстах (это называется диалектированием). Сассенрат утверждает, что REBOL является конечной точкой эволюции методологий языков разметки, таких как XML. В 1998 году Сассенрат основал компанию REBOL Technologies, которой он до сих пор руководит. Компания выпустила несколько версий REBOL и разработала дополнительные продукты, такие как REBOL/View, REBOL/Command, REBOL/SDK и REBOL/IOS. Сассенрат реализовал REBOL V3.0 и опубликовал его на GitHub 12 декабря 2012 года: https://github.com/rebol/r3.
Року
С 2010 года Сассенрат работает в Roku, Inc. в разработке продуктов.
Личное
Сассенрат живет в Укиа, штат Калифорния, где выращивает виноград и производит вино, а также интересуется любительским радио, видеопроизводством, квантовой электродинамикой и катанием на лодках. Он сотрудничает с Ассоциацией улучшения телевидения, общественной организацией, которая обеспечивает бесплатное эфирное телевизионное вещание в районе Укиа.