Сегодня 04 июля 2025
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.

window-new
Soft
Hard
Тренды 🔥
Конец эпохи: Intel закрыла приложение Unison для синхронизации ПК и смартфонов 3 ч.
Минюст США убедил Google и Apple не блокировать TikTok, пообещав их не штрафовать 3 ч.
Destiny: Rising не заставит себя долго ждать — дата выхода и новый геймплейный трейлер 7 ч.
Anthem уйдёт в вечный офлайн — Electronic Arts скоро отключит серверы провального шутера 8 ч.
«Базальт СПО» представила в Китае российский ПАК с китайскими чипами Loongson 9 ч.
Петиция «Прекратите убивать игры» набрала миллион подписей для рассмотрения в Евросоюзе, но борьба ещё не окончена 9 ч.
Аналитики раскрыли продажи Death Stranding 2: On the Beach — игра уже стала хитом на PlayStation 5 11 ч.
Windows 11 становится всё популярнее среди геймеров — на неё переходят не только с Windows 10 11 ч.
Новый шутер от соавтора Doom Джона Ромеро оказался под угрозой — из-за увольнений в Microsoft студия осталась без денег и сотрудников 12 ч.
«Нужно больше Адских Десантников»: популярный кооперативный шутер Helldivers 2 от Sony всё-таки выйдет на Xbox, причём уже скоро 13 ч.
CoreWeave стала первым облачным клиентом Nvidia, запустившим эксплуатацию ускорителей Blackwell Ultra 2 ч.
E Ink придумала встроить в тачпад ноутбука экран на электронных чернилах — для общения с ИИ и не только 6 ч.
Новая статья: ИИтоги июня 2025 г.: ой, да было бы что заменять! 7 ч.
Transcend выпустила свой самый быстрый SSD для ПК — MTE260S со скоростью до 14 000 Мбайт/с 9 ч.
«Большой прекрасный закон» Трампа сулит тёмные времена солнечной энергетике США 9 ч.
Nothing Phone (3) для Индии получил более ёмкую батарею, чем для США и Европы 9 ч.
Дело о растрате 6 млрд рублей при создании «планшета Чубайса» дошло до суда 9 ч.
Tesla подтвердила падение спроса на Cybertruck до 5000 единиц в квартал — на порядок ниже изначального плана 10 ч.
Nvidia сегодня может отобрать у Apple звание самой дорогой компании в истории 10 ч.
В России поступили в продажу беспроводные наушники Realme Buds T200x, Buds T200 Lite и Buds Air7 — от 1699 рублей 11 ч.