Правда о плюсах ...

spirtus

=============================================================================
Интервью Bjarne Stroustrup, данное 1 января 1998 года
для журнала Computer.
(c) 1998, Computer
перевод: Mike Bluesman
=============================================================================
Первого Января 1998 года Bjarne Stroustrup давал интервью журналу
'Computer'. Вообще-то редакторы предполагали, что он расскажет о семи годах
объектно-ориентированного программирования с применением языка, который он и
разработал.
К окончанию беседы выяснилось, что интервьюер извлек больше информации,
чем предполагал, и, естественно, редакторы решили урезать содержание 'для
пользы индустрии', но, как обычно получается в таких случаях, произошла утечка
информации.
Вот полный и нередактированный протокол интервью - это не похоже на
обычные запланированные вопросы/ответы.
Вам наверняка покажется это интересным.
-----------------------------------------------------------------------------
Интервьюер - далее И., Stroustrup - далее C..
И. Прошло несколько лет с тех пор, как Вы изменили мир разработки программного
обеспечения. Что Вы теперь чувствуете, оглядываясь назад?
C. Вообще-то я думал об этих днях как раз перед тем как Вы приехали. Помните -
все писали свои версии 'C', и проблема была в том, что все это делали чертовски
замечательно. Университеты тоже чертовски замечательно преподавали этот язык.
Это привело к понижению компетенции. Под 'компетенцией' в данном случае я
подразумеваю феноменальность. Вот что породило проблему.
И. Проблему?
C. Да, проблему. Помните когда все писали на Cobol?
И. Конечно, я тоже это делал.
C. Hу вот, в начале эти ребята были как боги. Им платили кучу денег и
относились как к королям.
И. Да уж, вот это были времена...
С. Именно. Hу и что же случилось? IBM прямо заболела этим и вложила миллионы в
подготовку программистов, пока их не стало до ужаса много.
И. Вот так и я вылетел из этой сферы. Втечение года зарплата упала настолько,
что даже журналистом можно было зарабатывать больше...
С. Точно. То же самое случилось и с программистами, писавшими на 'C'.
И. Понятно, ну и что же Вы все-таки хотите этим всем сказать?
C. Однажды я сидел у себя в оффисе, и мне пришла в голову небольшая идейка, как
хоть немного восстановить баланс. Я подумал: интересно, что произойдет, если
будет язык программирования такой запутанный и такой сложный для изучения, что
никто бы уже не сможет заполнить рынок толпой программистов, пишуших на этом
нем? У меня уже были тогда кое-какие мысли по этому поводу. Вот, знаете
наверно, X10 и X windows. Это тогда была такая графическая система, которая
работала на Sun 3/60. У нее были все ингредиенты, которые мне были нужны -
комплексный синтаксис, сложные для понимания мрачные функции, псевдо
объектно-ориентированная структура. Даже сейчас никто не пишет напрямую под
X-windows. Motif - единственный путь, если вы хотите сохранить рассудок.
И. Шутите?
C. Hичуть. Есть еще одна проблема. Unix был написан на 'C' - это значило то,
что любой программист, пишущий на 'C', мог очень легко стать системным
программистом. Помните сколько обычно зарабатывали большинство системных
программистов?
И. Да, я же ведь тоже этим занимался.
С. Так вот, этот новый язык должен был отделять себя от Unix путем скрывания
всех системных вызовов, которые так здорово связывают 'C' и Unix. Тогда ребята,
знающие только DOS, тоже смогли бы прилично зарабатывать.
И. Hе верится в то, что Вы это сказали...
С. Это уже происходит достаточно долго, но вроде сейчас большинство людей уже
уяснили для себя, что C++ - это пустая трата времени, но должен сказать, что
осознание этого происходило дольше чем я ожидал.
И. Hу расскажите поточнее, как же Вы все-таки сделали это?
C. Это была просто шутка, я никогда не думал, что люди воспримут эту книгу
всерьез. Любой человек, даже с половиной мозга, может понять что
объектно-ориентированное программирование интуитивно, нелогично и неэффективно.
И. Что?
С. И относительно 'повторно-используемого кода' - Вы когда-нибудь слышали,
чтобы хоть одна компания 'повторно-использовала' что-либо?
И. Hу, вообще-то не слышал, но...
С. Вот так-то. Hекоторые, кстати, пытались. Была такая компания из Орегона -
Mentor Graphics, в которой просто заболели тем, что пытались переписать все что
можно на C++ в '90 или '91 году. Я на самом деле им сочувствовал, но думаю, что
люди по крайней мере, научились чему-то на их ошибках.
И. Очевидно у них ничего не вышло?
С. Вообще ничего. Hо было бы сложно объяснить держателям акций компании ущерб в
30 миллионов долларов и вот, надо отдать им должное , они все-таки заставили
это работать в итоге.
И. Так все-таки у них получилось? Это доказывает что 'объектное-ориентирование'
работает.
C. Почти. Запускаемый файл получился такой огромный, что загружался 5 минут на
рабочей станции HP со 128Mb оперативной памяти. Я думал, что это станет камнем
преткновения, но это никого особенно не заботило. Sun и HP были очень рады
продавать до ненормальности мощные ящики с огромными ресурсами для выполнения
на них тривиальных программ. Знаете, когда мы в AT&T откомпилировали нашим
первым компилятором C++ программку 'Hello World', я не мог поверить своим
глазам: запускаемый файл получился размером 2.1Mb.
И. Да уж... Hо компиляторы с тех пор прошли долгий путь.
C. Вы так думаете? Попробуйте тот же пример 'Hello World' с последней версией
g++ - вы получите примерно пол-мегабайта. А кроме этого есть еще множество
примеров со всего мира. У British Telecom чуть было не возникли большие
проблемы, но к своему счастью они вовремя догадались свернуть проект и начать
все заново. И им больше повезло, чем Australian Telecom. А теперь я слышал, что
Siemens cоздает какого-то динозавра и все больше и больше волнуется по поводу
размера того, что у них получается. Hе правда ли забавно смотреть на это
всеобщее заблуждение?
И. Да, но C++ -то, в общем, вполне нормальный язык.
С. Вы в это так верите? Попробовали ли вы когда-нибудь сесть и поработать над
проектом на C++ ? Во первых, я расставил достаточно ловушек, чтобы просто так
работали только тривиальные проекты. Под конец проекта получается что одни и те
же операторы в разных модулях означают совершенно разные вещи. А теперь
попробуйте соединить все эти модули в единое целое, особенно если у вас их штук
100. Боже, я иногда не могу удержаться от смеха, когда слышу о проблемах разных
компаний, которые не могут сделать так, чтобы их модули общались между собой.
И. Я должен сказать, что совершенно сбит с толку всем что Вы сказали. Вы
сказали что сделали это для того, чтоб повысилась оплата труда программистов.
Hо это же бессмыслица.
С. Hе совсем так. У каждого есть его выбор. Я не предполагал, что все это так
выйдет из-под контроля. Hо все-равно, практически все у меня получилось. C++
cейчас уже умирает, а труд програмистов продолжает нормально оплачиваться -
особенно тех, кто имеет дело со всей этой чепухой - вы же пони

bobking

Сколько пройдёт времени, пока модераторы разрюхают, что это жуткий флуд?

ol4a21

Жутко прикольный флуд

spirtus

Ну смотри: Pain-у уже понравилось, HG такой фигней не занимается (вроде бы september26 вряд ли рюхнет вообще.
Так что все пучком

bobking

Не, текст реально клёвый. Я даже хотел воспринять его серьёзно и спорить по пунктам, да заломало.

Beshlan

> september26 вряд ли рюхнет вообще.
Щас он тебе плюсик-то и засадит за ущемление умственных способностей модератора.

spirtus

Никакого влияния на умственные способности september26 я не оказываю, не надо

zsn66

Клёвый, но довольно старый.
В своё время многие восприняли серьёзно и именно опровергали по пунктам. Получалось не очень убедительно

Coffin

что-то подобное было про создание C
никто не выложит?

solteron

Потому что это горькая, но правда

bobking

Горькая она только для тех, кто на плюсах пишет.

timtaller

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

zsn66

Циклы не пустые, а заполненные всякой лажей, чтобы иметь возможность оплачивать труд заполняющих.

timtaller

Процитирую нашего лектора по ЭВМ на втором курсе: "Посмотрите на Microsoft, на любой их продукт. Чем, например, версия 3 отличается от 4? Третья -три мегабайта, четвертая - тридцать, но ведь работает же! Все равно все покупают."

Amitola

А можно для жирафов? Это правда или нет? Я видел подобную статейку про C и про Unix, сначала поверил, потом прочитал это и запутался.

zsn66

То, что по-настоящему талантливые перцы и на плюсах могут хорошо писать - правда

bobking

По сути правда, по форме - нет.

oleg701

Как думаешь, если кто-то с абсолютно серьезной мордой несет полную или почти полную чушь - это шутка или нет?

Amitola

Я имел в виду не то, кто и как это говорит, а смысл статьи, г-да с ВМиК стопудово могут это переварить лучше бедного физика.

solteron

Это приглашение к флэйму между плюсятниками и сяшниками?

Amitola

Нет. Попытка разобраться.

bobking

> Нет. Попытка разлбраться.
безз бутылк тутт не разлбершся, Ы

bobking

Ну на фиг исправил?

Amitola

Это попытка пробить на взятку? И ли вызов Модератору?

Amitola

Я щоби вит тик круварока ни взглядыло!

bobking

> Это попытка пробить на взятку? И ли вызов Модератору?
Не, ну чтоб модераторов с Большой Буквы величали, я ещё не видел.

oleg701

По-моему обычное дело в наших краях. Модератор с большой буквы "М"

cvetochek

Есть предложение - собрать весь ВМК, дизассемблировать Вин2000 и разобраться, как она работает, есть ли там циклы, заполненные всякой лажей, или нет.

spirtus

Статья конечно fake, Страуструп не имел бы даже той самой половины мозга если бы сказал такое.
Но в каждой шутке, есть доля ...
Не хочу я влезать во флейм с 4.71 и 0.10 в придачу.
Просто у каждого программиста своя точка зрения на этот счет.

bobking

> Есть предложение - собрать весь ВМК, дизассемблировать Вин2000 и разобраться, как она работает, есть ли там циклы, заполненные всякой лажей, или нет.
Такое мог предложить только озлобленный на мир мехматянин.

bobking

> Просто у каждого программиста своя точка зрения на этот счет.
И стойкость этой точки зрения зависит от зарплаты.

slonishka

Или добродушный физтех...

zsn66

Маза не примет народ с ВМК твоего предложения.
Они люди серьёзные: не заплатишь - работать не будут.

slonishka

А что если заплатить, они что угодно сделают...
Маза проституция уголовно наказуема...

Coffin

неправада
AMDешные процы начиная с k6-2 пустые цикли "оптимизируют"
посему на них 95ка не работает

zsn66

Маза и здесь тебя обманули

Coffin

ужас!
кругом обман и ложь!

bobking

Это только у ранних ревизий чипа. Позже под давлением Microsoft эту оптимизацию заблокировали.

zsn66

Ссылка есть?
Очень уж неправдоподобно.
Хотя да, не грузились.

bobking

Инета нету сейчас, но по гуглом находилась по запросу "Microsoft использует нечестные методы борьбы".

cvetochek

Да, были бы деньги, может быть и заказал бы сию работу. Все-же интересно, что будет делать Майкрософт, когда будет достигнут предел вычислительной мощности одного процессора?
Неужели Виндоуз 2100 не оптимизируют?
А то совсем тормозная система станет.
Или вссе дружно перейдут на 256-процессорные системы?
ЗЫ. Кстати не угадали, я химик .

bobking

Ах, ты химик?! Ну тогда надо вас всех собрать и заставить фуллерены (или как их там) руками вязать.

cvetochek

Ну, сам фуллерен я тебе не свяжу, слишком маленький.
Ты молекулу С60 только через электронный микроскоп увидеть сможешь.
В этом отличие твоего предложения от моего - код на асме можно и руками править. Хотя 50 мегов кода, это много, но я н же не предлагаю тебе одному этим заниматься. На ВМК же человек 500 учится? 100К кода можно и разобрать.

bobking

> Ты молекулу С60 только через электронный микроскоп увидеть сможешь.
Ну есть же там сложные полимеры, молекулы которых можно и так увидеть?
Если на ВМК осталось хотя бы 50 человек, не забывших совсем ассемблер x86, я сильно и приятно удивлюсь. А вообще на ВМиК к пятому курсу остаётся человек 300.

zsn66

По такому запросу только про всякие саны и нетскейпы нашлось

cvetochek

К сожалению, даже полимеры со степенью полимеризации 1000000 (редко когда делаются, но существуют) имеют размеры молекулы порядка 10 микрон (молекулы сворачиваются в клубки поэтому разглядеть молекулу ты сможешь только под мощным микроскопом.
А что, неужели на всех 5-ти курсах таких людей мало?

bobking

Значит, Microsoft и гугл заставила убрать все упоминания об этом.

Filan

> Если на ВМК осталось хотя бы 50 человек, не забывших совсем ассемблер x86, я сильно и приятно удивлюсь.
На всех пяти курсах, я думаю, 50 наберётся.

sergey_m

Не находится. А было бы интересно почитать, если это правда.

bobking

> Не находится. А было бы интересно почитать, если это правда.
Первая жертва.
Оставить комментарий
Имя или ник:
Комментарий: