В феврале 2022 года в возрасте 77 лет ушла из жизни Лоринда Черри — одна из разработчиц userspace для Unix, dc, bc, wwb и eqn. В Сети практически нет информации о личной жизни и детстве Лоринды. Доходит до того, что те редкие ресурсы, которые про неё пишут, не уверены даже в корректности её года рождения. Тем не менее, Лоринда внесла большой вклад в развитие Unix, став одной из важнейших персон в истории IT. В русскоязычном пространстве о ней практически ничего не написано, что, на наш взгляд, несправедливо. В материале вспоминаем заслуги Лоринды и представляем известные данные о её жизни.
Предположительно Лоринда Черри родилась 18 ноября 1944 года. О её дате рождения говорит только один источник, который нам пришлось вытаскивать из кеша Google. В 1966 году в возрасте 22 лет она получила степень бакалавра математики в Делавэрском университете. В 1969 году в Технологическом института Стивенса Лоринда доучилась до степени магистра информатики. В разговорах с журналистами Черри указывала, что на тот момент упор даже на компьютерных специальностях делался на математику. Обучение помогло получить ей только базовые навыки в своей сфере. Большую часть информации пришлось получать уже после окончания учёбы при взаимодействии с действующими специалистами и другими пионерами программирования. Но и эти специалисты в основном обучались математике или инженерии, получая свои знания в ходе экспериментов.
Сама Лоринда описывала себя как практика, а не теоретика. Она стремилась писать программы под любым предлогом или любым видом деятельности. Практически всё, чем она занималась в своей жизни, так или иначе было связано с программированием. Черри участвовала в выставках собак вместе со своим доберманом, и даже там вела статистику судейства, публиковала статьи, есть ли у судей предубеждения по цвету, выставляли ли судьи щенков или они давали очки только взрослым собакам. Кроме того, в 1967 году Черри присоединилась к отделению Американского клуба спортивных автомобилей и в течение многих лет организовывала и руководила гонками, а также участвовала в них.
Черри начала свою карьеру с программирования на Fortran — около полутора лет. Она всегда считала невероятно скучным писать программы, основанные на чужих идеях. Мечтой всей её жизни была работа над целыми системами и оригинальными проектами. К сожалению, для такой работы было сравнительно мало возможностей. Соответствующие компании предпочитали набирать студентов с нуля, чтобы адаптировать их под собственные языки программирования. У Черри на тот момент уже был слишком большой опыт в Fortran и квалификация по смежным направлениям. Она вспоминает, что в то время каждый развивался сам по себе со своими собственными системами. Тогда стать универсальным сотрудником было куда сложнее, чем сейчас.
Черри рассказывала, что одно время работала с пионером компьютерной графики Кеном Нолтоном, совмещая работу с учёбой. В основном она создавала графику и помогала в создании Beflix. В частности, вместе с Манфредом Шредером она создавала обложки для некоторых компьютерных программ и работы для выставок в Бруклинском музее. Работая с Кеном и Шредером, Черри совместно с другими разработчиками создали программу для обработки изображений наподобие Speech. Лоринда точно не помнит и не указывает, что именно программа из себя представляла. Кроме того, Черри вместе с Кеном участвовала в разработке шаростержневой модели атома через Fortran.
В конце концов Лоринда попала в Bell Labs, в которой начала плотно работать над зарождающейся операционной системой Unix. Компания поощряла творческие начинания, благодаря чему молодая разработчица смогла раскрыть свой потенциал на полную мощь. Около года Черри проработала в проекте системы противоракетной обороны Safeguard Program, сохраняя своё место в The Bell. Ради оборонного проекта ей вместе с мужем пришлось переехать сначала в Нью-Джерси, а после на один из островов атолла Кваджалейн в Тихом океане. Лоринда описывала этот опыт как не самый удачный в её жизни.
В Сети сохранилось интервью с Черри, проведённое Принстонским университетом. В нём она упоминает, что начала работу над Unix в 1972 году, когда у Bell Labs уже были некоторые наработки, если точнее — на очень ранней стадии. Её усадили за старый громоздкий телетайп и велели печатать. Каждый итоговый продукт под Unix создавался вручную, с соответствующими драйверами устройств и тому подобным. Черри разработала несколько первых продуктов ориентировочно в 1972 году. Она уточняет, что это была работа над ассемблером под Unix. Команда также разработала множество инструментов для обработки текста. Их компилирование привело к созданию Typo. Это одно из самых ранних средств проверки орфографии, идентифицирующее опечатки и работающее на основе триграммного индекса. После появился Spell, и по мере его развития им заменили Typo.
В 1976 году Черри повысили, благодаря чему она смогла заниматься собственными продуктами. До этого момента она программировала в других проектах, работая рядовым техническим специалистом. При этом руководство компании не ограничивало сотрудников в выдвижении предложений. Черри начала работу над eqn и tex сразу после того, как Bell Labs получила TROFF. Вскоре к ней присоединился Брайан Керниган. Также в разработке продукта (прорабатывал некоторые проблемы) несколько месяцев участвовал некий летний студент Кернигана. Главным приоритетом при создании eqn было сделать его максимально понятным и простым в освоении. Как указывала Лоринда, с математической точки зрения уже на момент создания можно было бы найти продукт получше. Но с ним нельзя было работать также естественно и относительно просто, как с eqn.
Отдельного внимания стоит инструмент writer’s workbench (wwb), разработанный Черри и её коллегой Ниной Макдональд. Это, вероятно, был самый ранний инструмент для проверки грамматики, адаптированный под Unix. wwb выводит стилометрические показатели текста, такие как преобладание прилагательных, придаточных предложений и сложных предложений. Первое упоминание wwb в телепередаче Today на канале NBC совпало с первым упоминанием Unix на телевидении в целом. Черри называла себя “бабушкой wwb”, отмечая, что значительная часть её работы в Bell Labs была связана с созданием программ по обработке и анализу текста. Соответствующие инструменты были крайне востребованы среди клиентов.
Кроме того, Лоринда стремилась объединить множество маленьких программ со своими строго определёнными функциями в один простой универсальный инструмент, позволяющий экономить время и ресурсы. Концепция объединения функциональности была новой для своего времени. Такого рода программы могли существовать только как как тяжеловесные монолитные продукты.
Черри плотно работала над математическими инструментами для Unix — калькулятор dc и препроцессор bc для него. dc стал первым языком, запущенным на PDP-11 компании. Лоринда также сделала основную часть работы по созданию версий libplot, работала над ОС Plan 9, пакетом макросов для программы форматирования документов TROFF. Кроме того, она указана в качестве одного из трёх авторов системы проверки статуса служб экстренной телефонной связи 911.
В 1988 году Черри удостаивается премии The William G. Giltzow Award за грандиозный вклад в NNJR-SCCA. В 1994 году в возрасте 50 лет уходит из Bell Labs, за два года до того, как Bell Labs в составе Lucent Technologies отделилась от компании AT&T. В последние годы работы в Bell Labs Лоринда занималась анализом стенограмм звонков обслуживающего персонала, изобилующих сокращениями, ошибками и специфической терминологией. Эти данные AT&T использовала для поиска системных ошибок, влияющих на клиентов. В 2018 году Лоринда получила премию “Пионер в области технологий” от Национального центра женщин и информационных технологий (NCWIT). В 2019 году страница с Черри появилась на портале Faces of Open Source.
Коллеги Лоринды Черри отмечают её сильное увлечение любимым делом. Она очень много работала и всю жизнь отдала программированию, упрощая и модифицируя разработанные системы. Информации о том, что делала Лоринда после ухода из Bell Labs, практически нет. Редкие источники отмечают, что она работала над собственными материалами по истории программирования и преподавала основы программирования.
***
Материалы по теме:
-
A System for Typesetting Mathematics Brian — W. Kernighan and Lorinda L. Cherry;
-
BC − An Arbitrary Precision Desk-Calculator Language Lorinda Cherry Robert Morris;
-
UNIX: Making Computers Easier To Use — AT&T Archives film from 1982, Bell Laboratories;
-
Programming Tools for the Sun Workstation, документ Sun Microsystems с упоминанием Лоринды Черри в качестве соавтора dc (An Interactive Deak Calculator) и bc (An Arbitrary Preciaion Deak-Calculator Language);
-
Interview with Lorinda Cherry — Большое интервью с множеством технических подробностей по работе над инструментами под Unix;
-
A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986;