Введение

Американский учёный в области компьютерных наук Карл Сассенрат (род. 1957 в Калифорнии) — архитектор операционных систем и компьютерных языков. Он внедрил многозадачность в персональные компьютеры в 1985 году, создав ядро операционной системы Amiga Computer, и является разработчиком компьютерного языка REBOL, среды совместной работы REBOL/IOS, системы приватных сообщений Safeworlds AltME и других продуктов. В настоящее время Карл занимает должность ведущего инженера в 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. в разработке продуктов.

Личное

Сассенрат живет в Укиа, штат Калифорния, где выращивает виноград и производит вино, а также интересуется любительским радио, видеопроизводством, квантовой электродинамикой и катанием на лодках. Он сотрудничает с Ассоциацией улучшения телевидения, общественной организацией, которая обеспечивает бесплатное эфирное телевизионное вещание в районе Укиа.