Персона. Творець С++ Бьерн Страуструп, який «ніколи не любив» мови програмування



У творця С++ було дуже мало шансів «вийти в люди»: бідна сім'я, найгірша школа в місті, відсутність якро виражених схильностей до чого-небудь. Він навіть не був «геніальний».

Це людина, якого можна назвати self-made. Його головною метою було добитися справжнього успіху в чому б то не було.

Можливо, нам пощастило, що його «занесло» в програмування. Тому що зараз дуже важко уявити сучасну ІТ-індустрію без спадщини С++.

Бьерн Страуструп народився 30 грудня 1950 року у данському місті Орхус. Це другий за величиною (250 тисяч жителів) місто Данії, розташований на східному узбережжі Ютландії.

Незважаючи на те, що його батьки не були «академіками», він відмінно навчався в школі. Хоча, як потім з'ясував Бйорн, це була одна з найгірших шкіл в місті.

В дитинстві майбутній інженер любив грати у футбол, кататися на велосипеді. Крім того, він був бойскаутом. Як більшість хлопчиків у той час, Страуструп підробляв доставкою газет і молока.

Після закінчення школи він все-таки поступив в місцевий Університет на відділення комп'ютерних технологій. Бйорн припускав, що міг би стати і архітектором, і істориком і соціологом. Але врешті-решт він зупинився на математиці та комп'ютерних науках. На його рішення вплинув шкільний учитель математики, який прищепив хлопчикові любов до цієї науки.

Університет
Він вперше познайомився з комп'ютером вже у стінах Вузу. Algol-60 був першою мовою програмування, який вивчив Бйорн.



Орхуський університет входив в ТОП-100 вищих навчальних закладів світу. Страуструп зі страхом думав про те, що йому доведеться працювати вчителем математики, якщо не знайдеться робота в сфері програмування. Він був переконаний, що математика повинна мати практичне застосування.

Однак на другому курсі він зрозумів, що програмування і комп'ютерні технології в цілому, – це не тільки і не стільки математика. Крім того, виявилося, що Бйорн був не так гарний у математиці, як він думав.

В одному з інтерв'ю Страуструп позначив свою позицію з приводу навчання програмуванню:

Я оцінюю освіта вища навчальних курсів. Я в більшості випадків виберу фахівця з широким кругозором і глибокими базовими знаннями, ніж когось з сертифікатом про проходження вузькоспеціалізованих курсів. Взагалі мої ідеал – це поєднання академічних знань і практичних навичок.
В університетські роки Страуструп підробляв тим, що писав невеликі програми для підрозділу компанії Burroughs в Орхусі. Тоді він зрозумів, що комерційна розробка має мало спільного з написанням програм для себе або друзів, і тим більше, з виконанням лабораторних робіт у Вузі. Бйорн отримав досвід спілкування з користувачами, досвід підтримки і супроводу коду.

Частина виручених грошей студент витрачав на оплату власного навчання. Крім того, що він приніс користь собі, його розробки допомогли вивести компанію на новий рівень: Burroughs надалі об'єдналася з Sperry, в результаті чого утворилася компанія Unisys – світовий виробник комплексних програмно-апаратних рішень.

Крім того, студент розробляв та для потреб університету. У 1975 році Страуструп закінчив і отримав ступінь магістра.

Кембридж
Ближче до кінця навчання Бйорн зацікавився микропрограммированием. Інтерес посилився після стажування в Кембриджі. Тому Страуструп переїхав в Англію, щоб продовжити свою освіту в Кембриджському університеті. Там було все необхідне обладнання для досліджень в області мікропрограмування.



Крім того, новий університет допоміг йому підвищити вимоги до себе. У цьому Вузі рівень студентів і педагогів було набагато вище, ніж в орхуському університеті. Це мотивувало Страуструпа розвиватися активніше.

В Кембриджі, в Обчислювальній лабораторії, він займався проектуванням розподілених систем. У 1979 році Бйорн отримав докторську ступінь.

У цьому ж році Страуструп разом з дружиною Меріен переїхав у Нью-Джерсі (США), де став працювати в Центрі комп'ютерних досліджень фірми Bell Labs. У той час фірма була в «дружніх» стосунках з Кембриджським університетом.



С++
Коли Страуструп займався дослідженнями у фірмі, йому треба було написати кілька імітаційних програм для моделювання розподілених обчислень. SIMULA-67 — об'єктно-орієнтована мова – міг би стати ідеальним інструментом для вирішення подібних завдань, якби не його порівняно низька швидкість виконання програм. До речі, цю мову Бйорн використав під час написання своєї дисертації в Кембриджі – там він розробляв симулятор розподілених систем.

До цього в сферу інтересів Страуструпа не входила розробка мов програмування. Його цікавило микропрограммирование, операційні системи, архітектура обчислювальних машин, розробка віртуальних машин. Правда, ще до закінчення університету він встиг вивчити двадцять мов програмування. Але незважаючи на це, Бьерн стверджує, що великого інтересу до мов він все-таки не відчував.

Тим не менш, Страуструп прийняв рішення розпочати роботу над новою мовою програмування.

Якщо вам доводиться вибирати між написанням «хорошого» і «швидкого» коду, значить, тут щось не так. Тому що «хороший» код повинен бути «швидким», – пояснює Страуструп свою позицію в інтерв'ю.

Так був створений мова програмування С++, спочатку отримав назву «Сі з класами» (З with classes). Назва «С++» придумав Рік Мэсчитти. "++" — це оператор инкремента в С, що як би натякає на те, що мова С++, щось більше, ніж просто С.

У 1983 році мова піддався значним змінам. Страуструп розробив свою мову таким чином, щоб код не компилировался в машинну мову, а перетворювався в набір команд препроцесора мови С. Це відкривало до неї доступ сотням тисяч З-програмістів, що мали відповідний компілятор.

У 1984 році Bell Labs була реорганізована і отримала назву AT&t Bell Labs. Першими, кому фірма запропонувала С++, причому практично безкоштовно, стали університети.

У 1985 році Страуструп опублікував одну з найбільш широко відомих книжок «Мова програмування С++», яка витримала чотири видання (1985, 1991, 1997, 2000), і була переведена на 19 мов.



Як пише Те Даффі: «Безліч відкриттів зобов'язані своїм походженням нагоди. Але є і чимало інших, які стали можливі завдяки копіткій роботі і передбачення. Мова програмування С++, вперше запропонований лабораторії Bell Labs університетам в 1985 році, безумовно відноситься до другої категорії».

Формування спільноти
Мова швидко знайшов свою аудиторію. У 1987 році на конференції по С++ зібралося 200 осіб. На наступний рік число учасників зросло до 600, а на початку 90-х років число розробників на С++ наближалося до 500 тисяч. Це зробило даний мову світовим лідером за швидкістю поширення.

У 1990 році вийшла чергова книга Страуструпа – «Довідкове керівництво по мові програмування с++ З коментарями» (The Annotated C++ Reference Manual), яка в подальшому була удостоєна нагороди за неперевершену майстерність в області технічної документації на думку журналу Dr. Dobb's Journal.

Крім того, за версією журналу Fortune magazine Страуструп був визнаний одним із «дванадцяти кращих молодих американських вчених».

Страуструп тим часом продовжував працювати в AT&t Bell Labs, де очолював підрозділ широкомасштабних програмних досліджень, активно займався вдосконаленням своєї мови і його створенням стандарту. Стандарт ANSI/ISO С++ був випущений в 1999 році.

Страуструп був головою відділу досліджень програмування в Bell Labs з 1995 по 2002 рік.



Бьерн Страуструп – про C/С++
«Я придумав C++, записав його первісне визначення і виконав першу реалізацію. Я вибрав і сформулював критерії проектування C++, розробив його основні можливості та відповідав за долю пропозицій по розширенню мови в комітеті по стандартизації C++, – писав його автор. – Мова C++ багатьом зобов'язаний мови C, і мова C залишається підмножиною мови C++ (але в C++ усунені кілька серйозних прогалин системи типів C). Я також зберіг кошти C, які є досить низькорівневими, щоб справлятися з самими критичними системними завданнями. Мова C, в свою чергу багатьом зобов'язаний своєму попередникові – BCPL».

У 2003 році в інтерв'ю Страуструп розповів про своє ставлення до проблем сумісності З і С++:
Я думаю, що існуючі проблеми несумісності С і С++ – найжахливіше, що могло статися в історії цих мов. В ідеалі ці мови потрібно об'єднати. І мені здається, це технічно здійсненне лише за умови внесення змін у обидві мови. Однак через небажання вносити ці зміни мови продовжують віддалятися один від одного, отруюючи життя практично кожному C — і С++-розробнику.

Я намагаюся змусити людей побачити позитивні сторони в об'єднанні. Я написав серію статей на цю тему. Але хтось зацікавлений у тому, щоб цього не сталося. Крім того, я не бачу великого інтересу з боку співтовариства. Напевно, більшість, як завжди, сподівається на те, що все «саме розсмокчеться».
Після AT&t Bell Labs
З 2002 року Бйорн є професором техаського університету A&M (Texas A&M University). Він пропрацював в індустрії майже чверть століття, тому йому є, що сказати студентам.

Крім того, він співпрацює з Колумбійським університетом як запрошений педагог-професор комп'ютерних наук.

У 2014 році Бйорну запропонував роботу один з найбільших фінансових конгломератів світу – Morgan Stanley.

Страуструп почав співпрацювати з цією фірмою, так як вирішив повернуться зі сфери чистої педагогіки до вирішення реальних проблем. Його величезний досвід виявився корисним банку Morgan Stanley при вирішенні питань, пов'язаних з продуктивністю, надійністю і безпекою.

Крім того, він хотів переїхати в Нью-Йорк, щоб бути ближче до дітей і онуків.

Бьерн Страуструп був обраний членом Національної Академії Інженерії в США (National Academy of Engineering») в 2004 році з формулюванням «за створення мови С++». Як перший комп'ютерний вчений, він отримав нагороду («William Procter Prize for Scientific Achievement from Sigma Xi») американського науково-дослідницького співтовариства в 2005 році. Він також отримав нагороду комп'ютерного співтовариства IEEE «за початок розробки і комерціалізації об'єктно-орієнтованої технології створення програм і за великі зміни, внесені в бізнес та індустрію».
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.