LINUX.ORG.RU

Интервью с Бьярном Страустрапом

 ,


0

0

Бьярн Страустрап, автор одного из наиболее широко используемых и успешных языков программирования — C++, пару дней назад дал 8-страничное интервью computerworld.com.au, где рассказал то, что программистам полезно знать о C++:

  • его историю,
  • развитие языка в настоящее время,
  • и его будущее.

>>> Подробности

Ответ на: комментарий от DiKeert

> В плюсах я сам себе бог. Я разработчик платформы.

Малость нагловатая заява. В плюсах очень многое сделать нельзя, что можно сделать на ассемблере (которым не гнушаются пользоваться разработчики всяких разных VM).

anonymous
()
Ответ на: комментарий от vit122

Это грязная и неумная подделка

anonymous
()
Ответ на: комментарий от anonymous

Кстати да, label-ы как first class value сразу приходит в голову. Хотя используя всякие gcc extensions жить становится легче.

Legioner ★★★★★
()
Ответ на: комментарий от alx_me

> C++0x нужен мне так как я буду применять механизмы что там закладываются.

Нужен то он всем, но вот "буду применять" - это малость оптимистичная заява. Нет его пока и в обозримом будущем не предвидится. :(((

anonymous
()
Ответ на: комментарий от tailgunner

Так это стандартный метод всех фанатиков, всё по Хэнку:

1) Мойте руки перед едой

2) Луна сделана из швейцарского сыра

Поскольку п. 1 - очевидно правильное утверждение, то и п.2. верно. :)))

anonymous
()
Ответ на: комментарий от Legioner

Макросам недоступна информация о типах. Так что очень мало что из STL можно изобразить простым и естественным способом.

Ну а уж STL + препроцессор - вообще сила.

anonymous
()
Ответ на: комментарий от sv75

>> От того, что рендер с C++ переписать на C, производительность рендера тоже не вырастет. И не упадет. ;)

>Перегруженные операторы, конструкторы присваивания и копирования вместо макросов и структур точно не меняют скорость??

Возможно вы не поверите, но действительно не меняют, по сути это обычные функции.

anonymous
()
Ответ на: комментарий от sv75

> Перегруженные операторы, конструкторы присваивания и копирования вместо
> макросов и структур точно не меняют скорость??

Вот реализация GObject с постоянными разъименованиями действительно влияет на скорость.

eXOR ★★★★★
()
Ответ на: комментарий от eao197

>>[T][R(x)][R(y)][R(z)][R(y)]^-1[R(x)]^-1[T]^-1

>>Где T - матрица переноса, а R - матрица вращения. Можно их перемножить и получить матрицу с параметрами, которая делает искомую операцию. Ее и положить в функцию. Можно асмовой вставкой SSE подключить к этому делу.

>И что вас заставляет сомневаться в том, что на C++ можно написать шаблонную функцию именно для этого случая?

Что мы тут будем шаблонизировать? Если кто-то напишет шаблон который произведение нескольких матриц превращает в параметризованный линейный оператор в compile-time, то это будет нормальным ответом. Иначе лучшее решение - перемножить эти матрицы на бумажке и закодить результат отдельной функцией.

>Впрочем, если вы не видите разницы между возвратом InputStream в Java и std::fstream в C++, то можете и не знать, что это возможно.

Ну а как мне вернуть std::fstream в С++? Наверно по указателю, разместив его в куче, да?

Absurd ★★★
()
Ответ на: комментарий от Absurd

> Код c=a*b в С++ абсолютно не читаем. Невозможно просто глядя на этот код определить что же делает эта конструкция.

Вызывает operator*. Какая буква непонятна?

> mul_matrix(&a, &b, &c) - читаемо. Тут происходит вызов mul_matrix.

Который зануляет первую матрицу и транспонирует вторую, а в результате возвращает единичную :)

Жаль тебя не было все те века, в которые устаканивался поб\добный стиль записи, уж ты бы математикам рассказал как правильнее.

gaa ★★
()
Ответ на: комментарий от Absurd

> Я тут пару недель назад делал стресс-тест для Эклипса CDT, написав обобщенный примитив для сетевых сокетов и начал его разбивать на статические стратегии как у Александреску. Хоткеи у Эклипса сразу сдохли.

Это плохой сиплюсплюс уронил божественный эклипс? Аяяй, какие плохие дядечки эти Трупостраус и Александерску!

gaa ★★
()
Ответ на: комментарий от gaa

>> Я тут пару недель назад делал стресс-тест для Эклипса CDT, написав обобщенный примитив для сетевых сокетов и начал его разбивать на статические стратегии как у Александреску. Хоткеи у Эклипса сразу сдохли.

>Это плохой сиплюсплюс уронил божественный эклипс?

Назови редактор получше, где "прыгнуть в имплементацию" по хоткею работало бы надежно.

Absurd ★★★
()
Ответ на: комментарий от Legioner

>MSVS 2008 + VAX :)

Тяга к пропиеритарщине детектед :)

Absurd ★★★
()
Ответ на: комментарий от Absurd

>> Это плохой сиплюсплюс уронил божественный эклипс?

> Назови редактор получше, где "прыгнуть в имплементацию" по хоткею работало бы надежно.

vim + /dev/brain. Никогда не отказывает.

gaa ★★
()
Ответ на: комментарий от gaa

>> Назови редактор получше, где "прыгнуть в имплементацию" по хоткею работало бы надежно.

> vim + /dev/brain. Никогда не отказывает.

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

gaa ★★
()
Ответ на: комментарий от gaa

>>> Это плохой сиплюсплюс уронил божественный эклипс?

>> Назови редактор получше, где "прыгнуть в имплементацию" по хоткею работало бы надежно.

>vim + /dev/brain. Никогда не отказывает.

Ты уже дебаггер в нем настроил?

Absurd ★★★
()
Ответ на: комментарий от Absurd

>> vim + /dev/brain. Никогда не отказывает.

> Ты уже дебаггер в нем настроил?

Перескакиваешь с тему на тему => слив засчитан.

gaa ★★
()
Ответ на: комментарий от gaa

>>> vim + /dev/brain. Никогда не отказывает.

>> Ты уже дебаггер в нем настроил?

>Перескакиваешь с тему на тему => слив засчитан.

Какое нахрен перескакивание? Ты лично, вплоть до вчерашнего дня минимум, интеграции с дебагером в vim не имел.

http://www.linux.org.ru/view-message.jsp?msgid=2885202&lastmod=1214749998359

То есть либо он таки минимум иногда отказывает либо ты имеешь проблемы с /dev/brain.

Absurd ★★★
()
Ответ на: комментарий от Absurd

> Какое нахрен перескакивание? Ты лично, вплоть до вчерашнего дня минимум, интеграции с дебагером в vim не имел.

Мне надо было под анонимусом постить, чтоб ты не соедил за мной, мерзкий мальчишка? :) Это раз.

А два: как это соотносится с "Назови редактор получше, где "прыгнуть в имплементацию" по хоткею работало бы надежно."

Я уж не говорю о том, что на это ты перескочил с того, что убогий эклипс не смог прожевать своим божественным cdt код на C++.

gaa ★★
()

Нахуй плюсы. Решетка - наше все.

anonymous
()
Ответ на: комментарий от gaa

>Я уж не говорю о том, что на это ты перескочил с того, что убогий эклипс не смог прожевать своим божественным cdt код на C++.

А Vim может? чего там есть кроме колоринга для С++?

Absurd ★★★
()
Ответ на: комментарий от diglan

> Говно язык, говно его концепция.

А Вы знакомы с его концепцией?

anonymous
()
Ответ на: комментарий от Absurd

> А Vim может? чего там есть кроме колоринга для С++?

Нет, ты признай сначала, что эклипс соснул сиплюсплюса, а потом уже продолжим.

gaa ★★
()
Ответ на: комментарий от gaa

>> А Vim может? чего там есть кроме колоринга для С++?

>Нет, ты признай сначала, что эклипс соснул сиплюсплюса, а потом уже продолжим.

Если фигней не заниматься, то ЦДТ работает нормально. Еще лучше он работает если писать код на Си - тут вообще без упрека.

Absurd ★★★
()
Ответ на: комментарий от Sun-ch

> А ява - отличная вещь, тем более что ее двигает такой мощный вендор, как Sun.

А .Net даже луче чем ява, ибо ее продвигает такой еще более мощный вендор как Microsoft

no-dashi ★★★★★
()
Ответ на: комментарий от Absurd

>> Нет, ты признай сначала, что эклипс соснул сиплюсплюса, а потом уже продолжим.

> Если фигней не заниматься, то ЦДТ работает нормально. Еще лучше он работает если писать код на Си - тут вообще без упрека.

Засчитываю признание.

И делаю вывод: твоя ненависть к сиплюсплюсу сложена из многих лет мыканий с убогими инструментами для работы с ним(cl.exe, cdt...), так как ты упорно не хочешь применять мозг.

gaa ★★
()
Ответ на: комментарий от no-dashi

>А .Net даже луче чем ява, ибо ее продвигает такой еще более мощный вендор как Microsoft.

Вроде под .НЕТ можно и н Жабе писать, и работает она там в разы быстрее, чем на убогой пухло-тормознутой сановской VM.

anonymous
()
Ответ на: комментарий от gaa

Как я это упустил?

>> mul_matrix(&a, &b, &c) - читаемо. Тут происходит вызов mul_matrix.

>Который зануляет первую матрицу и транспонирует вторую, а в результате возвращает единичную :)

>Жаль тебя не было все те века, в которые устаканивался подобный стиль записи, уж ты бы математикам рассказал как правильнее.

С точки зрения математики это записывается как c<-ab . Кроме того, меня интересует какое место в математике имеют операции "разыменование" и "взятие адреса".

Absurd ★★★
()
Ответ на: комментарий от gaa

>И делаю вывод: твоя ненависть к сиплюсплюсу сложена из многих лет мыканий с убогими инструментами для работы с ним(cl.exe, cdt...)

C++ код в общем случае не поддается автоматическому анализу. Бинарный оутпут С++-компилятора в дизассемблированном виде читается лучше чем С++ код. Поэтому и такой дефицит неубогих инструментов для работы с С++.

>так как ты упорно не хочешь применять мозг.

Для того чтобы прикрутить дебагер к вим?

Absurd ★★★
()
Ответ на: комментарий от Absurd

> С точки зрения математики это записывается как c<-ab

Это что за стрелочка? Отродясть видел только = и :=.

А пропуск значка умножения между a и b -- банальная экономия чернил. По идее он там должен стоять.

gaa ★★
()
Ответ на: комментарий от Absurd

> C++ код в общем случае не поддается автоматическому анализу. Бинарный оутпут С++-компилятора в дизассемблированном виде читается лучше чем С++ код. Поэтому и такой дефицит неубогих инструментов для работы с С++.

Да. Иногда однако легче использовать мозг, чем ждать пока изобретут нетормозящий инструмент.

Но доказательство неудобности плюсов отсутствием для них быдлокодонавигатора -- это феерия.

gaa ★★
()
Ответ на: комментарий от gaa

>> С точки зрения математики это записывается как c<-ab

>Это что за стрелочка? Отродясть видел только = и :=.

Дональд Кнут так присваивание обозначает. Корман/Лайзерсон/Ривест тоже.

Absurd ★★★
()
Ответ на: комментарий от anonymous

>> C++0x нужен мне так как я буду применять механизмы что там закладываются.

>Нужен то он всем, но вот "буду применять" - это малость оптимистичная заява. Нет его пока и в обозримом будущем не предвидится. :(((

Используйте TR он-же "одобреный к х0 boost", х0 из него и ратёт. Кстати в GCC уже кое-какие части из TR(boost) добавлены. Все что недобавлено берите из буста.

anonymous
()
Ответ на: комментарий от anonymous

>ООП не нужен. А вот STL очень даже нужен. На Си не эмулируется никак. anonymous (*) (29.06.2008 17:46:02)

Тёзка, ты гонишь STL, это OOP библиотека, являющаяся частью языка. Посмотри тот-же std::string хотя-бы, он наследуется от std::base_string.

anonymous
()
Ответ на: комментарий от anonymous

>> Все что недобавлено берите из буста.

>тормозное ублюдочное поделие. anonymous (*) (29.06.2008 23:03:22)

йопт ! как сурово :) убей сибя апстену выблядок.

anonymous
()
Ответ на: комментарий от anonymous

> йопт ! как сурово :) убей сибя апстену выблядок.

Выблядки - дети твоей матери.

А буст - тормозное и кривое поделие. Как раз для детей твоей матери.

anonymous
()
Ответ на: комментарий от Absurd

>>> С точки зрения математики это записывается как c<-ab

>> Это что за стрелочка? Отродясть видел только = и :=.

> Дональд Кнут так присваивание обозначает. Корман/Лайзерсон/Ривест тоже.

Не попадались мне такие имена в курсе алгебры. И в анализе тоже не припомню... :)

gaa ★★
()
Ответ на: комментарий от anonymous

> Товарищ обладает результатами тестов?

Товарищ обладает 5 проектами и 27 патчами в сторону автора буста.

anonymous
()
Ответ на: комментарий от anonymous

> обладает 5 проектами

именно где активно это поделие буст применяется.

anonymous
()
Ответ на: комментарий от gaa

>>> Это что за стрелочка? Отродясть видел только = и :=.

>> Дональд Кнут так присваивание обозначает. Корман/Лайзерсон/Ривест тоже.

>Не попадались мне такие имена в курсе алгебры. И в анализе тоже не припомню... :)

А я не припомню на алгебре и анализе понятия "присваивание". AFAIK Там все декларативно пишется, без переменных.

Absurd ★★★
()
Ответ на: комментарий от Absurd

> А я не припомню на алгебре и анализе понятия "присваивание". AFAIK Там все декларативно пишется, без переменных.

С ходу не вспомню, но я вроде в алгебре встретил давно забытый к тому времени паскальный значок :=.

gaa ★★
()
Ответ на: комментарий от tailgunner

>> я не припомню на алгебре и анализе понятия "присваивание"

> А значок "умножение" помнишь?

Инкрементирую запрос. А то я что-то отвлёкся

gaa ★★
()
Ответ на: комментарий от tailgunner

>> я не припомню на алгебре и анализе понятия "присваивание"

>А значок "умножение" помнишь?

Точка посередине. Некоторые в школе рисовали диагональный крестик, но учителя говорили что это устаревший стиль.

Absurd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.