Барбара Лисков, пионер современного подхода к программированию, считает, что задачи, которые современность ставит перед IT-сообществом, недозволено преодолеть с помощью 1-го только доброкачественного кода.
У неплохого кода есть как содержание, так и стиль. Таковой код предоставляет всю нужную информацию без излишних подробностей. Он чужд неэффективности и ошибкам. Он четкий, лаконичный и сладкоречивый в той мере, в какой это нужно для выполнения машинкой, а также для чтения и осознания людьми. Но к концу 1960-х годов развитие вычислительной техники обогнало способности программистов. Почти все делали программки, не заботясь о их дизайне. Они писали длинноватые непоследовательные методы, утыканные операторами бесспорного перехода goto, требующими от машинки проскочить к иной части программки, нередко — к началу кода. Ранешние программеры пробовали с помощью таковых операторов преодолеть несовершенство распространённых тогда алгоритмов и алгоритмических языков, но при всем этом делали программки тяжелыми для чтения человеком, а выполнение их машинкой в неких вариантах — непредсказуемым и даже небезопасным. Дошло до того, что нехорошее программное обеспечение перевоплотился в убийцу — к примеру, из-за нехороший программки аппарат лучевой терапии (терапия — процесс, для снятия или устранения симптомов и проявлений заболевания) Therac-25 стал предпосылкой страшенных передозировок радиации при лечении (процесс для облегчение, снятие или устранение симптомов и заболевания) онкологических нездоровых.
Когда в 1968 году Барбара Лисков получила в Стэнфордском институте (Stanford University) степень доктора компьютерных наук, она завидовала инженерам-электрикам: ведь они работали с устройствами, соединёнными проводами. Таковая архитектура дозволяет естественным образом решать задачи по частям, разделяя их на модули — подход, при котором весь процесс просто надзирать, так как есть возможность независимо рассуждать о дискретных компонентах.
Как учёный-компьютерщик Лисков работала не с «железом», а с кодами. Подобно прозаику либо поэту, она вглядывалась в незапятнанный лист бумаги.
Когда Лисков обучалась на бакалавра в Калифорнийском институте в Беркли (University of California, Berkeley), она изучала арифметику. Потому программирование было для неё не технической, а математической неувязкой — тем, в базе чего же должны лежать логические принципы и эстетическая краса. Лисков желала так организовать программное обеспечение, чтоб им можно было управлять, не теряя из виду его сложность.
Ещё будучи свежеиспечённым доктором Массачусетского технологического института (МТИ), она возглавила команду, создавшую CLU — один из первых языков программирования, не требующих использования оператора goto. В базе CLU (сокращение от слова «cluster») лежит изобретённый Лисков подход, разделяющий код на ряд модулей. Большая часть современных языков программирования, имеющих существенное значение, включая Java, C++ и C#, являются в некой степени потомками CLU.
«Одним из преимуществ, которыми воспользовались учёные, рано попавшие в данную сферу исследовательских работ, было то, что там поджидали огромные задачи. Всё, что необходимо было создать, — это оседлать их», — гласит Лисков. В 2008 году она получила премию Тьюринга, которую нередко называют Нобелевской премией по информатике. Данной нам заслуги она удостоилась за «вклад в создание практических и теоретических основ языков программирования, а также проектирования систем, в индивидуальности связанного с абстракцией данных, отказоустойчивостью и распределёнными вычислениями».
Журнальчику Quanta удалось побеседовать с Барбарой Лисков, застав её дома, откуда она удалённо следила за тем, как проходит Гейдельбергский форум лауреатов — узенькое собрание, куда попадают лишь по приглашению и участвовать в котором могут лишь учёные-компьютерщики и арифметики, удостоенные самых популярных наград в собственных областях. (У Лисков было приглашение в Гейдельберг, но по личным происшествиям за несколько недель до форума ей пришлось отрешиться от поездки).
Публикуем вам перевод этого интервью.
* * *
Вы достигнули проф зрелости в эру разработки искусственного ума. Как за время вашей карьеры поменялось отношение к ИИ и машинному обучению?
Б. Л. Я работала над докторской диссертацией под управлением Джона Маккарти (John McCarthy). Диссертация была на тему ИИ. Я написала программку для эндшпиля — оканчивающей стадии игры в шахматы. Джон предложил данную тему, поэтому что я не игралась в шахматы. Я проштудировала [шахматные] учебники и перевела шахматные методы на язык информатики. В те деньки в данной для нас науке мудрость воспринималась как способность создавать программки, которые решают задачки этим же путём, что и человек. На данный момент на мудрость глядят по-другому.
В истинное время программки машинного обучения, в общем, делают своё дело достаточно отлично, но не постоянно. Почему они работают либо не работают, люди не соображают. Если я работаю над решением некий задачи и мне необходимо буквально знать, почему метод работает, машинное обучение (педагогический процесс, в результате которого учащиеся под руководством учителя овладевают знаниями, умениями и навыками) мне не подступает. С иной стороны, посреди моих коллег есть исследователь, который, анализируя маммограммы с помощью машинного обучения, находит подтверждения того, что рак можно распознавать еще ранее, чем это делается на данный момент.
Теория ИИ — это приложение, а не основная дисциплина. Она постоянно употребляется в прикладных целях.
Но вас она всё же заинтересовывала как основная дисциплина?
Б. Л. Если честно, в те деньки ИИ был не достаточно на что способен. Меня заинтересовывала моя основная работа. Вправду увлекательной неувязкой была таковая: «Как организовать программное обеспечение?» В процессе проектирования для вас нужно узнать, как воплотить приложение. Для вас необходимо организовать код, разбив его на части. В этом помогает абстракция данных. Здесь много сходства с подтверждением аксиомы. Если вы не сможете обосновать аксиому одним ударом, вы изобретаете леммы и решаете делему по частям.
В моей версии вычислительного мышления я представляю для себя абстрактную машинку лишь с теми типами данных и операциями, которые мне необходимы. Если б таковая машинка была, я могла бы написать подходящую мне программку. Заместо этого я ввожу кучу подзадач — типы данных и операции — и мне нужно узнать, как всё это воплотить. Я делаю это опять и опять, пока реально не получу подходящую мне машинку либо подходящий мне язык программирования. Это искусство дизайна программ.
Познание методологии не значит, что вы неплохи в проектировании. Кто-то может проектировать, а кто-то нет. Я никогда не ощущала, что могу обучить собственных студентов проектировать. Я могу показать им готовый проект, разъяснить его, поведать о абстракции данных и объяснить, что отлично, а что плохо. Когда очень много наворотов и прибамбасов, итог выходит чрезвычайно сложным. Когда очень не достаточно — неэффективным. Проектирование чего-то реально крутого — это искусство.
Если б у вас была магическая палочка и вы могли бы определять пути развития информатики, вроде бы это смотрелось?
Б. Л. Меня весьма волнует веб. У нас куча заморочек, включая фейковые анонсы и вопросцы сохранности. Меня волнует, в частности, история с разведённой парой, когда прошлый супруг опубликовал в вебе инсинуацию на свою бывшую супругу, заодно сообщив о том, где она проживает. Происходят ужасные вещи. Частично в этом виноваты 80-е годы. В то время всё, что у нас было, — связанные вебом пятнадцать институтов и пара правительственных лабораторий. У нас у всех были дружеские дела. Числилось, что веб-сайты не должны нести ответственность за контент, это помешает их развитию. Видите ли, этот подход живой и на данный момент.
Были ли эти взоры распространением на веб академической свободы?
Б. Л. Нет, это был всего только прагматизм, и мы не представляли, где окажемся. Разверни мы полицейскую деятельность в сети, пришлось бы решать щекотливые вопросцы. Так что мы погрузились во всё это, не прихватив с собой ничего для сохранности. И чтоб решить наши нынешние задачи, одних технологий не достаточно. Нам необходимы законы, регулирующие поведение людей. Нам необходимо решить делему соотношения конфиденциальности и сохранности. Некие нюансы этих заморочек — технические. К примеру, в Facebook есть метод распространения инфы. Они могли бы распознавать какую-то информацию и распространять её медлительнее либо, если это нужно, совершенно не давать ей ходу. Обществу постоянно тяжело осваивать что-то новое. Мы, похоже, взрослеем. Но, если б у меня была магическая палочка, я бы все эти заболевания роста убрала.
Поведайте о вашем путешествии как дамы в сфере информатики.
Б. Л. В школе моё честное отношение к учёбе поощрялось. Не помню, чтоб моя мама вдохновляла меня обучаться, но она никогда и не гласила мне в лицо: «О нет, это плохо». Я закончила все школьные курсы арифметики и естественных наук, исследование которых девицами обычно не приветствовалось. В Беркли я была единственной либо одной из 2-ух женщин на сотку студентов. Никто никогда мне не произнес: «Вот это да! Ты всё делаешь здорово! Почему бы для тебя не поработать со мной?» Я и не знала, что такое бывает. Я поступила в аспирантуру в Стэнфорде. Когда я её окончила, никто и не заговорил со мной о работе. При всем этом я увидела, что коллег-мужчин, таковых как Радж Редди (Raj Reddy), который был моим другом, охотно брали на институтские должности. Меня же никто не звал.
В то время консультанты давали выпускникам вузов заключать договоры с кафедрами всех вузов страны.
Б. Л. Да, но заключать контракт со мной никто не торопился…
В один прекрасный момент в 90-х я вновь оказалась в Стэнфорде, чтоб принять роль в кафедральном праздничке. И группа старенькых профессоров невзначай показала мне, как это работает — «сеть старенькых хороших мужчин» (old boy network). Они гласили так: «Один там мой друг считает, что для тебя следует взять на работу славного парнишку, которого я заметил». Вот так просто и глупо. Они гласили о юный даме — что та отлично со всем совладевает, поэтому что вышла замуж за доктора! Тупость. А ещё был сотрудник, у которого в кабинете висел плакатик с красоткой. Я спросила его: «Это что за пинап у тебя кабинете?» Тупость…
Я подала заявление в МТИ на должность педагога, но там не горели желанием разглядывать мою кандидатуру. Когда такое происходит, думаешь: «Я недостаточно хороша». Ничего не поделаешь. Но, не считая того, я помыслила: «В информатике — простор для деятельности». Промышленная компания MITRE предоставила мне хорошую возможность заниматься исследовательской работой. Там я разрабатывала методологию программирования и проводила исследования, которые принесли мне первую научную заслугу. Потом, в 1971 году, я выступила с докладом, опосля которого Корби [Фернандо Корбато (Fernando Corbató)] предложил мне подать заявление в МТИ. Я получила приглашение и из Беркли. Лёд тронулся.
При всём при всем этом, когда вы пришли в МТИ, там работала приблизительно 1000 педагогов, из которых только 10 человек были дамами, не так ли?
Б. Л. Как я помню, так и было.
Так что дело изменялось к наилучшему, но…
Б. Л. В законе о штатских правах ещё не было раздела IX, но давление в этом направлении росло. В частности — благодаря усилиям президента МТИ Джерри Вайснера (Jerry Wiesner). Давление обязано идти сверху, понизу кипения нет. В МТИ было несколько выдающихся дам, не являвшихся факультетскими педагогами. Приблизительно в то время неких из их в один момент пригласили на факультеты. Естественно, арифметику они не преподавали. С арифметикой дело худо.
Похоже, что нет таковой сферы научных исследовательских работ, где бы не замалчивались те либо другие фундаментальные вклады дам.
Б. Л. Кафедра информатики МТИ до того, как я возглавила её, за 10 лет сочла вероятным принять на работу лишь одну даму, а во время моего управления [с 2001 по 2004 год] было нанято семь. И мы не наскребли по сусекам — из нанятых мною дам, все три, которые младше меня, — выдающиеся. А ведь длительное время кандидатуры дам совершенно не рассматривались.
Опосля того, как вы получили премию Тьюринга, в вебе возник последующий комментарий: «За что ей дали эту заслугу? Она не сделала никакого открытия». Имеет ли эта презрительная реплика некое отношение к тому факту, что вы дама?
Б. Л. Бьюсь о заклад, что имеет! Был ещё один комментарий, о котором я никогда не упоминала. Там было сказано так: «Ну, не делала она эту работу. Некий [коллега-мужчина] за неё сделал». Это полная чушь. Я не читала эти комменты. Супруг мой читал. Он-то и откопал парочку. Время от времени опосля моих докладов мне задавали агрессивные вопросцы, но я старалась быть к ним готовой — и поэтому, что я дама, и поэтому, что, как вы понимаете, есть любители разоблачать, что ты не та, за кого себя выдаёшь…
К примеру, не лауреат премии Тьюринга?
Б. Л. Да! Но поначалу — я не соображала этого — мою спину прикрывал кто-то с моей кафедры, а позже, когда я уже поехала по всему миру, я была уже весьма отлично известна. А ах так некие дамы находят в для себя упорство, чтоб без помощи других преодолеть такое отношение — загадка.
Есть ли у вас какие-то идеи насчёт того, как завлекать дам к научной деятельности? Может, существует некоторый тефлон, применяя который дамы смогли бы предотвращать прилипание к ним дискриминации либо преследований?
Б. Л. Было бы здорово иметь таковой тефлон и знать, как его использовать. Я закончила страшиться на публике задавать вопросцы, только проведя некое время в МТИ. Потребовалось много времени, чтоб развить эту уверенность в для себя.
Тут есть пикантный момент. Ваша история дозволяет узреть линию поведения, которую не афишируют: «Лежи тихо, пока не сможешь встать так высоко, чтоб взять дело в свои руки».
Б. Л. Да, может быть, моя стратегия была таковой. Вместе с отсутствием потребности угождать. Общество ведь учит дам угождать.
Это ваш совет? Не стремиться угождать?
Б. Л. Ну вы же понимаете, что на данный момент дела обстоят не лучше, чем тогда… Мне, может быть, подфартило. Если б я вышла замуж сходу опосля института, я бы, наверняка, оказалась в совсем другом месте.
Вы и взаправду так думаете? Ваш вклад значительно преобразил информатику и общество.
Б. Л. Кто понимает? Мы ходим зигзагообразными способами.