Сегодня 25 ноября 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
Тренды 🔥
Anthropic бросает вызов Gemini 3: представлена мощная ИИ-модель Opus 4.5 и инструмент для покорения Excel 3 ч.
Маск ударил по фабрикам троллей: X начала показывать местоположение аккаунтов 4 ч.
Календарь релизов 24 – 30 ноября: Of Ash and Steel, Project Motor Racing и Hail to the Rainbow 5 ч.
В Steam стартовала распродажа «Чёрная пятница» и голосование за лучшие игры 2025 года 5 ч.
Внедрение облачных технологий увеличивает прибыль компаний, показало исследование Yandex B2B Tech и «Яков и Партнёры» 5 ч.
Научно-фантастическое выживание StarRupture от авторов Green Hell скоро дадут попробовать с друзьями — анонсировано кооперативное тестирование 6 ч.
Дископанковый шутер RetroSpace в духе System Shock получил новый геймплейный трейлер и сроки выхода 8 ч.
Meta «похоронила» исследование о вреде соцсетей — теперь в суде ответят и она, и TikTok, и Google 9 ч.
Российская служба каталогов ALD Pro дополнилась ИИ-помощником для системных администраторов 9 ч.
Амбициозный шутер Ferocious отправит игроков выживать и управлять динозаврами — геймплейный трейлер и дата выхода 14 ч.
Новая статья: Тестируем DDR5-6000 CL26 — память, которой не хватало Ryzen 59 мин.
Honor представила смарт-часы Watch X5 в стиле Apple Watch со 120 спортивными режимами за $63 3 ч.
Новая статья: Обзор и тестирование корпуса Chieftec Night Hunter: всё что нужно и ничего лишнего 3 ч.
Россияне стали реже менять смартфоны и всё чаще выбирают дешёвую электронику 3 ч.
Amazon показала антенну Leo Ultra для спутникового интернета на 1 Гбит/с — в 2,5 раза быстрее Starlink 4 ч.
Представлены Honor 500 и Honor 500 Pro — смартфоны с дизайном iPhone Air и батареями на 8000 мА·ч по цене от $380 4 ч.
Steam Machine дешёвой не будет: Valve не станет продавать мини-ПК себе в убыток по консольной модели 6 ч.
Дешевле купить PS5: из-за дефицита комплект DDR5 на 64 Гбайт взлетел до $600 7 ч.
Джони Айв и Сэм Альтман создали прототип совместного ИИ-устройства, но никому его не показали 7 ч.
Qualcomm «убила» Arduino — теперь это не открытая DIY-платформа, а корпоративный сервис 7 ч.