К сожалению, сайт не работает без включенного JavaScript. Пожалуйста, включите JavaScript в настройках вашего браузера.

Сделать код понятным: как Барбара Лисков повлияла на современное программирование

Барбара Лисков (Фото Kenneth C. Zirkel / CC BY-SA 3.0)
Барбара Лисков (Фото Kenneth C. Zirkel / CC BY-SA 3.0)
Барбара Лисков родилась в то время, когда лучшим выбором для женщины было удачное замужество, но выбрала IT. Она стала одним из пионеров развития современных языков и принципов программирования, которым следуют разработчики во всем мире

«Когда я росла, определенно не считалось, что девочка должна интересоваться математикой и естественными науками, — вспоминала Барбара Лисков в 2016 году. — На самом деле в те дни месседж, который вы получали [от общества], заключался в следующем: вы должны были выйти замуж, иметь детей и не иметь работы». Барбара не последовала этому плану и стала одной из пионеров IT, именем которой назван один из принципов в современном программировании.

Барбара Джейн Губерман родилась 7 ноября 1939 года в Лос-Анджелесе. Ее отец был адвокатом, а мать — домохозяйкой, несмотря на то что у нее был диплом университета Беркли. 

По словам ученой, «родители всегда поощряли ее серьезно относиться к учебе» и не запрещали дочери интересоваться «странными» для девушки вещами, такими как наука. При этом отец настоял, чтобы Барбара научилась машинописи. С его точки зрения, это было крайне важно. «Причина заключалась в том, что если, упаси боже, мне когда-нибудь придется содержать себя, потому что я не вышла замуж или что-то случилось с моим мужем, я могла бы устроиться на работу секретарем, — объясняла ученая впоследствии. — Секретарша или учительница были в каком-то смысле приемлемыми профессиями для женщины, которой приходилось работать». 

 

В IT — случайно

В старшей школе Барбара, как и другие ученики, проходила тест на профориентацию. Ей посоветовали стать ландшафтным дизайнером. Позже она предположила, что этот вариант был выбран, потому что, с одной стороны, отчасти был связан с математикой и вычислениями, а с другой — не выглядел «слишком неженским». Барбара говорила: «Мне казалось, что это как-то смешно и странно». 

Сама она решила не сворачивать с выбранного пути и заниматься наукой. В 1961 году получила степень бакалавра математики в Калифорнийском университете в Беркли. После выпуска подала документы в аспирантуру Принстонского университета, но там ответили, что женщин-аспиранток не принимают. Барбара поступила в Беркли, но в итоге решила в аспирантуру не идти: «Я чувствовала, что не готова так интенсивно учиться, поэтому решила сделать перерыв». Она начала искать работу, еще не зная, что ее заинтересуют компьютеры. 

 

«Я попала в информатику случайно. Когда я искала работу, лучшим предложением оказалось стать программистом. В то время нанимали таких людей, как я, — неподготовленных, но потенциально способных выполнять работу. Так я открыла для себя область, в которой я действительно хороша, и мне это очень понравилось», — рассказывала Барбара позже.

Она устроилась в Mitre Corporation, которая занималась IT-разработками для Министерства обороны США и аэрокосмической отрасли. По словам Лисков, в начале 1960-х информатика была «довольно примитивной» по сравнению с тем, что она представляет собой сейчас. Программы, которые сегодня умеет писать каждый студент, тогда казались прогрессивными и новаторскими идеями. Но ей нравилась эта новая сфера: «Одна из вещей, которые казались мне замечательными, заключалась в том, что я могла совершать открытия в этой области, в том, к чему у меня был большой талант».

Проработав два года, Барбара поступила в аспирантуру по информатике в Стэнфорде и защитила там диссертацию. Ей хотелось преподавать, но интересных вакантных мест не нашлось. Поэтому Барбара вернулась в Mitre Corporation и занялась исследованиями в области компьютерной архитектуры, а затем операционных систем. 

 

Время перемен

«Раньше я немного завидовала инженерам-электрикам, потому что думала: «По крайней мере у них есть компоненты, они соединяют их проводами, и это заставляет их сосредоточиться на том, что это за провода». В то время как программное обеспечение было настолько пластичным, что люди привыкли проектировать, не особо задумываясь о «проводах». В конечном итоге они получали множество беспорядочных взаимосвязей между частями программы», — вспоминала Лисков. Проблему этих «беспорядочных связей» она решила в экспериментальной операционной системе Venus, которая поддерживала одновременную работу пяти-шести пользователей на небольшом компьютере.

«Прошло много времени, с тех пор я особо об этом не задумывалась, — говорила Барбара много лет спустя. — Но благодаря Venus я увлеклась операционными системами». 

В 1970-е годы в жизни Барбары произошло несколько важных событий. В 1970-м она вышла замуж за ученого в области информатики Натана Лискова, а в 1971 году ей предложили работу в Массачусетском технологическом институте. Барбара согласилась: ушла из Mitre и осенью 1972-го стала профессором Лаборатории компьютерных наук. Параллельно Лисков занималась исследованиями. Ее интересовала тема создания максимально надежных компьютерных систем. 

«У преподавателя есть свобода определять свои собственные направления исследований, и одновременно это его ответственность, — говорила Лисков. — Я была готова взяться за это: я очень увлеклась своей работой над методологией программирования и за первые несколько месяцев в Массачусетском технологическом институте додумалась до идеи абстракции данных».

Принцип подстановки Лисков 

В Массачусетском технологическом институте Барбара руководила разработкой и внедрением языка программирования CLU. Появление CLU стало значимой вехой в истории информатики: этот язык повлиял на формирование распространенного сегодня объектно-ориентированного подхода к программированию (он позволяет делать код структурированным). Однако CLU не стал популярным в профессиональной среде: язык оказался чересчур академичным и сложным. Тем не менее, по словам Барбары, он «использовался более чем на 200 сайтах» и «для создания большого программного обеспечения».

 

Этим языком разработки Лисков не ограничились. В 1987 году вместе со своей студенткой Жаннет Винг она сформулировала принцип программирования, который сегодня известен как принцип подстановки Барбары Лисков. Если сформулировать его максимально упрощенно, он звучит так: подклассы не должны противоречить надклассам. Речь идет о том, как организовать код, чтобы, если потребуется дополнить или изменить какую-либо его часть, не нужно было переписывать все с самого начала. Принцип Лисков не является нерушимым, но помогает при написании программ избежать проблем, похожих на бытовую ситуацию, когда из-за покупки домашнего электроприбора приходится заново делать ремонт, чтобы добавить розетку. Это особенно важно, когда над кодом работают разные люди.

«Мораль этой истории: моделируйте свои классы на основе поведения, а не свойств; моделируйте свои данные на основе свойств, а не поведения. Если кто-то ведет себя как утка, то это, безусловно, птица» — так объясняет принцип Лисков один из пользователей форума StackOverflow. Есть похожий программистский мем: «Если кто-то выглядит как утка и плавает как утка, но работает на батарейках, значит, у вас плохо с абстракцией данных». «Я обнаружила, что в интернете очень много людей спорят о том, что означает принцип подстановки Лисков, — признавалась сама Барбара. — Приятно иметь что-то, что оказало такое влияние [на программирование]».

Сегодня Барбара Лисков — обладательница медалей Джона фон Неймана (награды в области информационных технологий) и «Пионер компьютерной техники», лауреат премии Тьюринга (самой престижной в информатике), а также член Национальной инженерной академии, Национальной академии наук, Национального зала славы изобретателей. В 2002 году журнал Discover включил ученую в список 50 самых важных женщин в науке. 

Она по-прежнему работает в Массачусетском технологическом институте. «В [институтском] сообществе Барбару уважают за ту роль, которую она сыграла как ученый, наставник и лидер», — говорит президент Массачусетского технологического института Сьюзан Хокфилд. По ее словам, новаторские исследования сделали Лисков «одним из ведущих мировых авторитетов в области языков программирования и проектирования систем».

 

Мы в соцсетях:

Мобильное приложение Forbes Russia на Android

На сайте работает синтез речи

Рассылка:

Наименование издания: forbes.ru

Cетевое издание «forbes.ru» зарегистрировано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций, регистрационный номер и дата принятия решения о регистрации: серия Эл № ФС77-82431 от 23 декабря 2021 г.

Адрес редакции, издателя: 123022, г. Москва, ул. Звенигородская 2-я, д. 13, стр. 15, эт. 4, пом. X, ком. 1

Адрес редакции: 123022, г. Москва, ул. Звенигородская 2-я, д. 13, стр. 15, эт. 4, пом. X, ком. 1

Главный редактор: Мазурин Николай Дмитриевич

Адрес электронной почты редакции: press-release@forbes.ru

Номер телефона редакции: +7 (495) 565-32-06

На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети «Интернет», находящихся на территории Российской Федерации)

Перепечатка материалов и использование их в любой форме, в том числе и в электронных СМИ, возможны только с письменного разрешения редакции. Товарный знак Forbes является исключительной собственностью Forbes Media Asia Pte. Limited. Все права защищены.
AO «АС Рус Медиа» · 2024
16+