Подтвердить что ты не робот

Является ли C++ "пустой тратой времени"?

Я столкнулся с этим предполагаемым интервью Бьярна Страуступа, изобретателя С++.

http://artlung.com/smorgasborg/Invention_of_Cplusplus.shtml

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

Интервьюер: Да, но С++ - это в основном звуковой язык.

Stroustrup: Ты действительно веришь в это, не так ли? Вы когда-нибудь садились и работали над проектом на С++? Вот что происходит: во-первых, я поставил достаточно подводных камней, чтобы убедиться, что только самые тривиальные проекты будут работать в первый раз. Возьмите операторскую перегрузку. В конце проекта почти каждый модуль имеет его, как правило, потому что парни считают, что они действительно должны это делать, как это было в их учебном курсе. Тот же оператор тогда означает что-то совершенно другое в каждом модуле. Попытайтесь собрать эту партию вместе, когда у вас есть сотня модулей. А что касается скрытия данных, Боже, я иногда не могу не рассмеяться, когда я слышу о проблемах, которые компании делают своими модулями, разговаривая друг с другом.

Это мистификация? Кажется ли какой-либо из этих точек для любого из ветеранов С++ программистов?

4b9b3361

Ответ 1

Вам просто нужно проверить веб-сайт Stroustrup (часть часто задаваемых вопросов), чтобы обнаружить, что это неправильно - известная мистификация, когда Иуда Химанго уже указал

Вы действительно дали интервью IEEE?

в котором вы признались, что С++ был сознательно созданный как ужасный язык для написания немыслимых код для увеличения количества программистов, зарплаты? Конечно нет. Прочтите настоящее интервью IEEE.

Ответ 2

Это известная мистификация.

И нет, изучение С++ - это не пустая трата времени, что много раз обсуждалось в StackOverflow.

Ответ 3

Как уже упоминалось, это известная обман.

Но это вызывает некоторые интересные моменты. В наши дни С++ - это пустая трата времени, за исключением случаев, когда вы не можете позволить себе тратить время. Менее непрозрачно: С++ - это трата времени разработки, за исключением случаев, когда вы не можете тратить время выполнения.

Ответ 4

Из статьи под названием "The Real Stroustrup Interview" в журнале IEEE Computer Magazine Vol. 31 Issue 6 pp.110-114 (June 1998):

В течение последних нескольких месяцев интервью об обмана между Страуступом и Компьютером проводилось в киберпространстве. Несмотря на то, что мы сожалеем об этом инциденте, он предлагает нам хорошую возможность, чтобы отец С++ поделился своими знаниями по стандарту С++ и разработке программного обеспечения в целом. Мы также можем подтвердить его постоянное чувство добра и юмора - он предполагает, что фиктивное интервью было бы гораздо более смешной пародией, если бы он сам написал.

Ответ 5

Как уже упоминалось, это интервью является обманом.

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

Если вы хотите изучить этот язык, чтобы узнать о его концепциях, его преимуществах и его недостатках, чтобы иметь возможность читать написанный на нем код, и в целом, чтобы "говорить о нем", он никогда не является отходами времени. То же самое для любого другого языка программирования. Это увеличит вашу эффективность. Например, С++ показывает один общий способ ООП - способ, который мне не нравится, но способ, которым пользуются многие другие люди.

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

Ответ 6

Программисты, которые чувствуют себя привлекательными для языков более высокого уровня, которые занимаются управлением памятью и другими задачами для них, могут почувствовать, что С++ - это пустая трата времени.
Конечно, если вы можете достичь той же цели с другим языком за меньшее время и с меньшим количеством исправлений ошибок и не против снижения эффективности. Но я не жалею, что научился и потратил так много часов на C/С++, потому что это такой красивый язык и позволяет создавать то, что не так много других языков.

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

Ответ 7

С++ далеко не пустая трата времени. Вы поймете ценные концепции, которые помогут вам понять многие другие концепции на разных языках программирования. I.E.: VTABLE.

Ответ 8

Существует не одна структура, которая использует все языковые возможности С++. Это вводит огромную несогласованность для языка экосистемы.

QT является одним из немногих API, которые я бы назвал фреймворком (или API для лота):
Но он определяет собственную строку, собственный массив,...

Какова точка "стандартной" библиотеки, когда никто не может использовать ее портативным и совместимым способом (с точки зрения взаимодействия с другими API-интерфейсами)?

Я знаю, есть boost, но что такое повышение по сравнению с API, например QT? Ничего.

Посмотрите на Java: стандартный Java API, и каждый "чужой" API использует его, он полностью совместим.

Ответ 9

С++ (и Java), вероятно, лучший язык для изучения понятий ООП. Я помню, что обучение в колледже мне очень понравилось.

Ответ 10

Страуструп не так глупо сказать это! Это определенно мистификация!