Я даже не знаю, как резюмировать эту статью, ибо она и так представляет собой выжимку текущего состояния проблем в С++:
* нет изменению ABI
* нет аннотациям по времени жизни объектов
* модулей всё ещё нет
* Herb Sutter топит за свои Safety Profiles, но при этом признаёт, что никто ничего не будет переписывать в легаси коде
* бигкорпы расходятся и С++ им уже не интересен: кто-то пошёл к Rust, кто-то пилит своего убийцу С++
Главная проблема этого языка — люди. Люди, которые на любую критику и недовольство начинают брызгать слюной. А в результате, Раст возьмёт за одну ногу, Карбон за другую, и что от него останется?
Засекаем, как быстро прибежит ... Раз, два, три.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
We must minimize the need to change existing code. For adoption in existing code, decades of experience has consistently shown that most customers with large code bases cannot and will not change even 1% of their lines of code in order to satisfy strictness rules, not even for safety reasons unless regulatory requirements compel them to do so.” – Herb Sutter
Я лично переносил охрененного размера проект с VC6 на 7.1. Так там поломали буквально основы. Одна только смена скоупа for с глобального на локальный чего стоила. И что? И ничего. Взял да перенёс. Все эти суттеры, по-моему, просто не очень умные, если сравнивать с Хейлсбергом, например. Охрененное нашли оправдание для своей игры в Дженгу.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Alekzander, Вы писали:
A>Я лично переносил охрененного размера проект с VC6 на 7.1. Так там поломали буквально основы. Одна только смена скоупа for с глобального на локальный чего стоила. И что? И ничего. Взял да перенёс. Все эти суттеры, по-моему, просто не очень умные, если сравнивать с Хейлсбергом, например. Охрененное нашли оправдание для своей игры в Дженгу.
Ну, к слову, у VC6 была кривая реализация плюсов в этом моменте. Я тоже эту проблему застал в своё время, но я тогда на бормане пилил, там было нормально, а вот при попытке собрать вижуалкой начинали лезть проблемы
Здравствуйте, Великий Реверс, Вы писали:
ВР> был проездом в далеком будущем ВР> землю уже посетили несколько внеземных цивилизаций ВР> и установили прочную связь с ней ВР> опять строятся пирамиды
ВР> про саттера там никто ничего не помнит ВР> за то С++ знают все и каждый
ВР> конечно он не такой как мы его знаем ВР> за сотню тысяч чет претерпел сильных изменений ВР> но все же, основа вся так же от С++
Здравствуйте, Marty, Вы писали:
A>>Я лично переносил охрененного размера проект с VC6 на 7.1. Так там поломали буквально основы. Одна только смена скоупа for с глобального на локальный чего стоила. И что? И ничего. Взял да перенёс. Все эти суттеры, по-моему, просто не очень умные, если сравнивать с Хейлсбергом, например. Охрененное нашли оправдание для своей игры в Дженгу.
M>Ну, к слову, у VC6 была кривая реализация плюсов в этом моменте. Я тоже эту проблему застал в своё время, но я тогда на бормане пилил, там было нормально, а вот при попытке собрать вижуалкой начинали лезть проблемы
Это было всё равно, что переписывать с одного языка на другой, настолько большими были изменения. То, что проекты не компилировались — само собой. И даже те, кто на бормане пилил, помнят — эта проблема тогда коснулась о-о-очень многих.
А Суттер явно не в курсе. Спрашивается, чем тогда он занимался? Жить нас учил?
Я бы даже так сказал. Когда за развитием языка стояли компиляторщики (реальные инженеры), а не комитеты (дуболомы-астронавты), это была не "кривая реализация плюсов в этом моменте", а золотой век языка.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, flаt, Вы писали:
F>https://herecomesthemoon.net/2024/11/two-factions-of-cpp/ F>Я даже не знаю, как резюмировать эту статью
А я — знаю: это агитка, иными словами — агитационный листок. Скрытая реклама чего-то черноугольного от корпорации добра.
Короче, можно констатировать, что C++ написано столько работающего кода, что от него никуда не деться. Некоторых это почему-то не устраивает. Что-ж, пусть напишут свой язык с блэкджеком и той девушкой с картинки, с которой начинается агитка.
В общем, я не вижу реального смысла в этой статейке.
flаt, с какой целью вы её сюда принесли?
Здравствуйте, Alekzander, Вы писали:
M>>Ну, к слову, у VC6 была кривая реализация плюсов в этом моменте. Я тоже эту проблему застал в своё время, но я тогда на бормане пилил, там было нормально, а вот при попытке собрать вижуалкой начинали лезть проблемы
A>Это было всё равно, что переписывать с одного языка на другой, настолько большими были изменения.
Какая интересная история... А кто-то просто брал и перекомпилировал. Правда, у нас проекты еще и GCC под Linux-ом собирались.
А что там такого "настолько большого" было, между VC++6 (это VS98) и VC++7/7.1 (это VS2002/2003)?
A>Я бы даже так сказал. Когда за развитием языка стояли компиляторщики (реальные инженеры), а не комитеты (дуболомы-астронавты), это была не "кривая реализация плюсов в этом моменте", а золотой век языка.
И когда это было? В 1988-ом?
Тот самый C++98, который был еще не полностью реализован в VC++6, он же появился как раз благодаря работе комитета.
Здравствуйте, B0FEE664, Вы писали:
BFE>Короче, можно констатировать, что C++ написано столько работающего кода, что от него никуда не деться.
Лучшая оборона — это нападение.
Сила языка должна быть в том, что на нём можно легко и быстро разрабатывать, в том, сколько на нём сейчас разрабатывается, в большом количестве преимуществ перед другими ЯП. Потому что "от него никуда не дется" со рано или поздно закончится.
Здравствуйте, CEMb, Вы писали:
CEM>Лучшая оборона — это нападение.
От кого обороняться-то?
CEM>Сила языка должна быть в том, что на нём можно легко и быстро разрабатывать,
Ага, как на Visual Basic: разрабатывать легко и быстро.
CEM>в том, сколько на нём сейчас разрабатывается,
Не разрабатывается, а используется. Есть очень много, чего разрабатывалось, а потом выкидывалось.
CEM> в большом количестве преимуществ перед другими ЯП.
И преимущества эти выражаются в наличии стандарта.
CEM>Потому что "от него никуда не дется" со рано или поздно закончится.
Закончится, если язык не развивать. По моему мнению, в перспективе убийцей C++ может стать язык разработанный для параллельного выполнения кода в таком виде, чтобы в коде не требовались явно выделенные конструкции для распараллеливания выполнения. Например, пишешь 2+3+4+5, а выполняется это сложение так: 2+3 на одном процессоре, 4+5 — на другом, а результаты складываются на третьем, который передаёт результат на четвёртый. Всё остальное — маловероятно.
Здравствуйте, B0FEE664, Вы писали:
BFE>А я — знаю: это агитка, иными словами — агитационный листок. Скрытая реклама чего-то черноугольного от корпорации добра. BFE>Короче, можно констатировать, что C++ написано столько работающего кода, что от него никуда не деться.
А я считаю так корпораты устраняют конкурентов. Сами пишут корпоративный софт на C++, а другим подсовывают шлак. Таким образом новых корпораций не появляется, что позволяет сохранять доминирующее положение.
Здравствуйте, B0FEE664, Вы писали:
CEM>>Лучшая оборона — это нападение. BFE>От кого обороняться-то?
Ну, имелась ввиду активная позиция языка, а не просто что у нас есть N кода, и все (пока ещё) вынуждены его терпеть использовать
CEM>>Сила языка должна быть в том, что на нём можно легко и быстро разрабатывать, BFE>Ага, как на Visual Basic: разрабатывать легко и быстро.
На плюсах, на самом деле, тоже легко разрабатывать. Просто получается, что:
1. Часто чуть дольше, чем на той же яве, в общей массе потенциальных проектов.
0. Спецов нету, которые умеют (убедить топов-идиотов что можно) быстро разрабатывать на плюсах
Или я не прав?
CEM>>в том, сколько на нём сейчас разрабатывается, BFE>Не разрабатывается, а используется. Есть очень много, чего разрабатывалось, а потом выкидывалось.
А почему?
CEM>> в большом количестве преимуществ перед другими ЯП. BFE>И преимущества эти выражаются в наличии стандарта.
Бизнесу пофиг на стандарт, это только технари понимают, а бизнесу надо "как можно быстрее и дешевле". Ну, мы-то понимаем, что в долгосрочной перспективе плюсы это как раз быстро и дёшево, но кроме нас сложно объяснить кому-то. Ну вот Яндех на плюсах пишет. Хуавей прям поклонники плюсов. Ну и всё, получается?
CEM>>Потому что "от него никуда не дется" со рано или поздно закончится. BFE>Закончится, если язык не развивать.
Развивать — в какую сторону? И как именно?
BFE>По моему мнению, в перспективе убийцей C++ может стать язык разработанный для параллельного выполнения кода в таком виде, чтобы в коде не требовались явно выделенные конструкции для распараллеливания выполнения. Например, пишешь 2+3+4+5, а выполняется это сложение так: 2+3 на одном процессоре, 4+5 — на другом, а результаты складываются на третьем, который передаёт результат на четвёртый. Всё остальное — маловероятно.
Вспомнилась моя дипломная работа на параллельных сях, которая такое делала ещё в 90-х. Подозреваю, сейчас уже давно есть небольшие либы, которые такое умеют делать удобно. Ну перетащат это в стандарт, что это поменяет? Хотя у меня подозрение, что в стандарте уже это есть
Здравствуйте, velkin, Вы писали:
BFE>>А я — знаю: это агитка, иными словами — агитационный листок. Скрытая реклама чего-то черноугольного от корпорации добра. BFE>>Короче, можно констатировать, что C++ написано столько работающего кода, что от него никуда не деться.
V>А я считаю так корпораты устраняют конкурентов. Сами пишут корпоративный софт на C++, а другим подсовывают шлак. Таким образом новых корпораций не появляется, что позволяет сохранять доминирующее положение.
Интересная конспирология. Насколько я знаю, корпорации скупают конкурентов, если видят их потенциал. Да и потом... Скажем Facebook изначально написан на PHP, а потом его дорабатывали используя язык под задачу. (Включая Java и C++). Так что, это какой-то странный аргумент. Тут, скорее, другое: C++ сложен для освоения, сложен для грамотного использования. Абы какой код будет работать так же, как написанный на другом языке, но в таких случаях не смысла C++ использовать, так как не безопасно. Например, вчера код видел:
std::istringstream ss(str);
while (ss >> token) tokens.push_back(token);
а потом этот tokens используется ровно так: strTime = tokens.back();
остальное содержимое tokens выбрасывается...
Вот глядя на такое я думаю (что подсунуть в str, чтоб оно упало), может некоторым не стоит на C++ писать? Пусть они там в своих ванильных rust'ах кувыркаются. Зачем таким доверять в язык, где главный мем — это про огнестрел?