Бьорн Страуструп и физик и лирик

3DNews: Вероятно са ви задавали този въпрос стотици пъти и все пак, според вътрешното ви усещане, кои функции на C++ позволиха на този език да се открои от тълпата и да остане жива класика за четвърто поредно десетилетие?

бьорн

Ето как изглеждаше Bjorn Stroustrup по време на първото комерсиално издание на C++

Bjarnem Stroustrup: C++ имаше и все още има предимствата, които C предоставя при програмиране на ниско ниво при работа с хардуер (с други думи, хардуер), и в същото време предоставя възможността да създавате свои собствени абстракционни слоеве без загуба на производителност и без ненужно излишък по отношение на използването на ресурси. В крайна сметка конструкторите и деструкторите някога бяха истински пробив. В сравнение с традиционния C (Kernighan и Ritchie), C++ предлага подобрена безопасност на типа. В сравнение със Simula, C++ има значителна гъвкавост и ефективност.

езици

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

Bjarnem Straustrup: Съмнявам се. Всъщност се съмнявам, че дори е необходимо. Когато посочвам действие, което да се извърши на компютър, искам много повече "спестявания" на думи и много по-прецизно дефиниране на значението, отколкото говоримият английски може да предложи. Например „a = b+c“ е едновременно кратко и по-ясно от „Добавете C към B и поставете резултата в A“. Езиците за програмиране са много по-близо до високо техническите и специализирани съкращения, използвани от професионалисти (например математици и лекари), отколкото до ежедневната реч. Всъщност не бих се изненадал, акопрограмирането ще стане още по-формализирано и ще се отдалечи още повече от обикновената човешка реч.

страуструп

Разбира се, сега говоря за разработка на софтуер. Нашите обичайни взаимодействия с компютрите вероятно ще заприличат все повече и повече на хора, които говорят помежду си. Например фразата „дайте ми наденица във френска горчица, без кетчуп и малко лук“ може да бъде напълно разбираема за автоматизиран продавач на хот-дог. Самите програми за гласово разпознаване обаче, както и операционните системи, на които ще работят, ще продължат да се пишат на специализирани езици за програмиране.

3DNews: Едно от основните предизвикателства, пред които са изправени разработчиците на софтуер днес, е как ефективно да поддържат многоядрени процесори в софтуера за крайни потребители. Много приложения все още знаят как да използват само едно ядро ​​от две-четири-шест. Има ли начин да се премахне тази дисхармония?

Bjarnem Stroustrup: Имаме нужда от подобрен модел за разработване на алгоритми за паралелни (многонишкови) изчисления на високо ниво на абстракция. C++0x, за който ще говоря в Москва, поставя основата за това под формата на набор от безопасни за нишки инструменти за работа с традиционния модел на блокиране и синхронизиране на нишки. Това не означава, че този модел (както и синхронизацията без заключване, предлагана от C++0x) е идеален за многонишкови приложения. Просто е по-добро от това, което повечето други езици предлагат днес. Но все пак езикът C++0x ви позволява да създавате разширени, сравнително прости и специализирани модели под формата на библиотеки, създадени от стандартни езикови инструменти.

Трябва да работим повече върху опростяването на спецификациите на паралеласистеми – дори и след половинвековни изследвания в тази посока.

лирик

Бюрото на Бьорн е перфектен бъркотия

3DNews: В България всеки втори студент, който се готви да стане програмист един ден, създава свой собствен език. Вярвате ли в успеха на брилянтните сингли? И като цяло, има ли търсене на изцяло нови езици за програмиране?

Bjarnem Stroustrup: Измислянето на нов език и дори писането на нещо на него е относително лесно. Много по-трудно е да убедиш сериозни разработчици на интересни продукти да използват подобно изобретение. За да бъде полезен, новият език трябва да бъде по-добро решение на проблем от съществуващите (и известни) инструменти и езици. Но лично аз бих ви посъветвал да започнете да разработвате нещо напълно ново само ако сте запознати с проблемната област и сте сигурни, че можете да предоставите най-доброто решение под формата на език. В крайна сметка, много често инструмент или библиотека за съществуващ език е по-полезен. Между другото, това е една от причините, поради които много езици умират млади: „старите“ бързо наваксват.

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

Не мисля, че пазарът посреща новите езици с отворени обятия, но именно изобретяването им избягва риска да бъдете прекалено консервативни и склонни да използвате само общи езици. Хубаво е и интересно!

3DNews

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

3DNews: България вече обяви програма за модернизация и развитие на собствените си високи технологии. Но по някаква причина нашите сънародници по-често постигат успех в чужбина, отколкото в собствената си страна. Имате ли мнение за този феномен?

Bjarnem Straustrup: Възможно ли е хората, които отиват в чужбина, първоначално да са по-предприемчиви, любопитни и мотивирани от самите условия да направят нещо ново? Може би те са по-склонни да поемат рискове от другите и след като са се преместили на ново място, хората са особено нетърпеливи да успеят?

3DNews: Коя от цифровите технологии или устройства, произведени през последните десет години, ви впечатли най-много?

Бярнем Страуструп:

Обичам да снимам и всичко това ми е много интересно както от техническа, така и, ако мога така да се изразя, от естетическа гледна точка. Просто казано, аз съм и физик, и лирик. И така, напредъкът в областта на цифровите изображения е просто невероятен. Очевидно това е и голямо достойнство на софтуера, използван в камерите.

Също така едва ли бих могъл да върша работата си или да общувам с приятели днес без наистина невероятнокомуникационна инфраструктура, която ме свързва с целия свят чрез един малък лаптоп.

3DNews

3DNews: Последният въпрос - защо отиваш в България и какви са плановете ти за пътуването?