Сегодня 06 мая 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Аналитика

Бьерн Страуструп: и физик, и лирик

В середине октября в Москву первый раз в жизни прилетит Бьерн Страуструп (Bjarne Stroustrup), создатель языка программирования C++. На конференции "Разработка ПО 2010" он прочитает доклад, а также проведет четырехчасовой мастер-класс. В преддверии визита в Россию Бьерн дал небольшое интервью 3DNews, причем мы вполне осознанно не стали задавать ему зубодробительных вопросов об особенностях нового языка C++0x, о котором наш собеседник будет рассказывать по прибытии. В конце концов, об этом можно почитать во многих других источниках (осторожно, английский). Мы же попробовали выйти за пределы C, чтобы показать вам не только эксперта-изобретателя, но и человека. И все же начали мы именно с C++.

3DNews: Вам, наверное, задавали этот вопрос уже сотни раз, и все же, по внутреннему ощущению, какие особенности C++ позволили этому языку выделиться на фоне собратьев и уже четвертое десятилетие подряд оставаться живой классикой?

Примерно так выглядел Бьерн Страуструп во времена первого коммерческого релиза C++

Bjarnem Stroustrup: C++ имел и имеет по сей день те преимущества, которые предоставляет C в низкоуровневом программировании при работе с аппаратной частью (проще говоря, «железом»), и в то же время обеспечивает возможность создавать собственные уровни абстракции без потери производительности и без излишней избыточности в плане использования ресурсов. Ведь конструкторы и деструкторы стали в свое время настоящим прорывом. По сравнению с традиционным С (Кернигана и Ритчи), С++ предлагает улучшенную систему безопасности типов. По сравнению с Simula, С++ существенную гибкость и эффективность.

Важно и то, что C++ не переставал развиваться после его первого коммерческого релиза в октябре 1985-го. За прошедшие годы он постепенно стал гораздо более эффективным и гибким инструментом для разработки ПО. Его характерные сильные черты, например, выстраивание программной инфраструктуры и разработка ресурсо-эффективного ПО, основывались на моих изначальных целях для С++. А именно простой и эффективной связке с железом в сочетании с гибкими механизмами абстракции без использования runtime.

3DNews: Верите ли вы в то, что необходимость в языках программирования однажды отпадет, и компьютеры начнут понимать простой человеческий английский?

Bjarnem Stroustrup: Я сомневаюсь в этом. Точнее, сомневаюсь в том, что это вообще нужно. Когда я задаю некое действие, которое должно быть выполнено на компьютере, хочется гораздо большей «экономии» слов и гораздо же более точного определения смысла, чем может предложить разговорный английский. Например, “a = b+c” и лаконичнее, и четче, нежели "Добавить C к В и поместить результат в А". Языки программирования гораздо ближе к сугубо техническим и специализированным сокращениям, используемым профессионалами (к примеру, математиками и врачами), чем к повседневной речи. На самом деле, я не удивлюсь, если программирование станет еще более формализованным и отодвинется от обычной человеческой речи еще дальше.

Естественно, я сейчас говорю о разработке ПО. Наши обычные взаимодействия с компьютерами, вероятно, будут все больше похожи на разговор людей между собой. Например, фраза "дайте мне сосиску в французской булочке с горчицей, без кетчупа и положите немножко лука" может быть совершенно понятной автоматизированному лотку, торгующему хот-догами. Однако сами программы, распознающие голос, равно как и операционные системы, на которых они будут работать, продолжат писать на специализированных языках программирования.

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

Bjarnem Stroustrup: Нам нужна усовершенствованная модель разработки алгоритмов параллельных (многопоточных) вычислений на высоком уровне абстракции. С++0х, о котором я буду рассказывать в Москве, закладывает основу для этого в виде набора потокобезопасных средств для работы с традиционной моделью блокировки и синхронизации потоков. Нельзя сказать, что эта модель (а так же lock-free синхронизация, предлагаемая C++0x) идеально подходит для многопоточных приложений. Она просто лучше, нежели то, что предлагают большинство других языков на сегодняшний день. Но всё же язык C++0x позволяет создавать продвинутые, относительно простые и специализированные модели в виде библиотек, созданных стандартными средствами языка.

Нам надо больше работать над упрощением спецификаций параллельных систем – даже спустя полвека исследований в этом направлении.

На рабочем столе Бьерна царит идеальный рабочий беспорядок

3DNews: В России каждый второй студент, готовящийся стать программистом, однажды создает свой собственный язык. Вы верите в успех гениальных одиночек? И вообще, есть ли спрос на совершенно новые языки программирования?

Bjarnem Stroustrup: Придумать новый язык и даже что-то написать нем относительно просто. Гораздо труднее убедить серьезных разработчиков интересных продуктов использовать такое изобретение. Чтобы быть полезным, новый язык должен быть лучшим решением проблемы, нежели существующие (и известные) инструменты и языки. Но лично я бы советовал приступать к разработке чего-то совсем нового только в том случае, если вы хорошо знакомы с проблемной областью, и уверены, что можете обеспечить лучшее решение именно в виде языка. Ведь очень часто инструмент или библиотека для существующего языка оказывается более полезным. Кстати, это одна из причин, по которой многие языки умирают молодыми: «старики» быстро наверстывают упущенное.

Нет, я хотел бы видеть все новые и новые языки, и знаю, что возможно создать гораздо лучшие варианты, нежели те, что мы имеем сегодня. Было бы очень печально, если языки программирования перестали рождаться. Ведь их создание является своего рода окном, отдушиной для новых идей и подходов к пониманию проблем и их решению.

Не думаю, что рынок ждет новые языки с распростертыми объятиями, но как раз изобретение таковых позволяет избежать риска излишнего консерватизма и склонности к использованию только общепринятых языков. Это хорошо и интересно!

И еще одно. Думаю, что разработчики-одиночки крайне важны, поскольку коллектив обычно не может сосредоточиться и выдать согласованный набор целей для языка программирования. Много мнений, много деталей, и в них немудрено заблудиться. В то же время язык не может быть разработан в изоляции, дизайнер должен получать фидбэк и вдохновение, что может предложить только развитое техническое сообщество. Когда рождался C, мне повезло работать в AT & T Bell Labs, а там техническая среда была настолько разнообразна и требовательна, что это поставило передо мной немало сложнейших задач. И их решение, в свою очередь, помогло C++ выжить и стать таким, каким он стал. Я до сих пор чувствую себя в долгу перед коллегами.

3DNews: В России сейчас объявлена программа модернизации, развития собственных высоких технологий. Однако наши соотечественники почему-то чаще добиваются успеха за рубежом, нежели в своей стране. Есть ли у вас мнение об этом феномене?

Bjarnem Stroustrup: Может быть дело в том, что люди, уезжающие за рубеж, изначально более инициативны, любопытны и самими условиями мотивированы сделать что-то новое? Может, они больше других готовы идти на риск и, переехав на новое место, люди особенно сильно стремятся преуспеть?

Подозреваю, что успешность за границей – это общеиммигрантский феномен, не только русский. Я и сам вообще-то иммигрант (напомним, Бьерн родился и закончил университет в Дании, но живет и работает в США – прим. редакции).

3DNews: Какие из цифровых технологий или устройств, изготовленных в последние десять лет, произвели на вас наибольшее впечатление?

Bjarnem Stroustrup:

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

Также я вряд ли сегодня мог бы заниматься своей работой или общаться с друзьями без поистине удивительной инфраструктуры связи, которая соединяет меня со всем миром через один небольшой ноутбук.

На выступлениях Бьерна Страуструпа не заскучают даже те, кто программировал только на Бейсике на школьных уроках информатики (автор фото Chris Cowdery-Corvan)

3DNews: Последний вопрос – зачем вы собираетесь в Россию и каковы планы на поездку?

Bjarnem Stroustrup: С одной стороны, я хочу приехать, потому что никогда не был в вашей стране. С другой – потому что на конференции у меня будет возможность поговорить с российскими разработчиками программного обеспечения, это очень интересно. К великому сожалению, я не смог выделить достаточно времени на традиционные туристические развлечения, потому что октябрь – это середина семестра в университете (г-н Страуструп профессор в Texas A&M University – прим. редакции), и я не могу быть далеко от своих студентов слишком долго. Надеюсь, организаторы конференции организуют и мое свободное время, так что получится посмотреть Красную площадь и Большой театр. Есть ощущение, что от созерцания достопримечательностей и выступлений я вернусь обратно в США довольно усталым, но все же с большим нетерпением жду визита в Москву.

 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
Обзорный трейлер пошаговой ролевой игры SteamWorld Heist II: бои, прокачка, мультиклассы и кое-что ещё 4 ч.
Не бывать дешёвым мейнфреймам: IBM подала второй иск к LzLabs, предлагающей доступную облачную альтернативу её «железу» 5 ч.
TikTok удалил сотни видео с запрещёнными материалами по требованию «Роскомнадзора» с начала 2023 года 12 ч.
Симулятор выживания Serum про сыворотку, гонку со временем и отравленный лес выйдет в раннем доступе 23 мая 12 ч.
В Instagram появились «секретные» Stories — для их просмотра нужно написать автору 13 ч.
IBM избежала выплаты $1,6 мрд в пользу BMC 14 ч.
Пользователи Threads смогут ограничить цитирование своих публикаций 15 ч.
Helldivers 2 убрали из Steam в более чем 170 странах на фоне скандала с привязкой аккаунтов PSN 15 ч.
Новая статья: Stellar Blade: внешность — не главное. Рецензия 05-05 00:05
Новая статья: Gamesblender № 672: слухи о презентации Xbox, триумф Manor Lords и «истинная» российская ААА-игра 04-05 23:32
Новая статья: Он вам не силикон! Часть третья: через нанотрубки к волшебным пузырькам 3 ч.
Nintendo 3DS на максималках: портативной консоли Asus ROG Ally добавили второй экран 8 ч.
HPE представила СХД среднего уровня Cray Storage Systems C500 для задач НРС и ИИ 13 ч.
SK hynix продала всю память HBM, запланированную к выпуску в 2024–2025 гг. 13 ч.
Власти США продали на аукционе 5,34-ПФлопс суперкомпьютер Cheyenne из-за растущего числа сбоев и протечек СЖО 13 ч.
В этом квартале цены на память DRAM вырастут более чем на 20 % 18 ч.
Презентация новых Apple iPad пройдёт в удобное для европейцев и китайцев время 20 ч.
Французский стартап представил технологию RIS для дешёвого спутникового интернета 21 ч.
Учёные создали энергонезависимую память, которая не портится при нагреве до 600 градусов 04-05 21:29
Samsung объявила о создании 3-нм мобильного чипа, который для неё спроектировал ИИ 04-05 21:19