The two factions of C++
От: flаt  
Дата: 26.11.24 18:27
Оценка: 9 (1)
https://herecomesthemoon.net/2024/11/two-factions-of-cpp/

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

* нет изменению ABI
* нет аннотациям по времени жизни объектов
* модулей всё ещё нет
* Herb Sutter топит за свои Safety Profiles, но при этом признаёт, что никто ничего не будет переписывать в легаси коде
* бигкорпы расходятся и С++ им уже не интересен: кто-то пошёл к Rust, кто-то пилит своего убийцу С++

и тд, и тп.
Re: The two factions of C++
От: Alekzander  
Дата: 26.11.24 20:58
Оценка: +1
Здравствуйте, flаt, Вы писали:

F>https://herecomesthemoon.net/2024/11/two-factions-of-cpp/


People seem to be looking for other solutions.




Главная проблема этого языка — люди. Люди, которые на любую критику и недовольство начинают брызгать слюной. А в результате, Раст возьмёт за одну ногу, Карбон за другую, и что от него останется?

Засекаем, как быстро прибежит ... Раз, два, три.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Re: The two factions of C++
От: Alekzander  
Дата: 26.11.24 21:04
Оценка: 1 (1) :)
Здравствуйте, flаt, Вы писали:

F>https://herecomesthemoon.net/2024/11/two-factions-of-cpp/


Кстати.

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.
Re: The two factions of C++
От: andyp  
Дата: 26.11.24 23:05
Оценка:
Здравствуйте, flаt, Вы писали:

F>Я даже не знаю, как резюмировать эту статью...


Как ещё одно мнение? Даже так — как мнение, высказанное не в первый раз. Список претензий не нов имхо.
Отредактировано 26.11.2024 23:07 andyp . Предыдущая версия .
Re: The two factions of C++
От: Великий Реверс google
Дата: 26.11.24 23:35
Оценка:
был проездом в далеком будущем
землю уже посетили несколько внеземных цивилизаций
и установили прочную связь с ней
опять строятся пирамиды

про саттера там никто ничего не помнит
за то С++ знают все и каждый

конечно он не такой как мы его знаем
за сотню тысяч чет претерпел сильных изменений
но все же, основа вся так же от С++
Re[2]: The two factions of C++
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 26.11.24 23:47
Оценка: +1
Здравствуйте, Alekzander, Вы писали:

A>Я лично переносил охрененного размера проект с VC6 на 7.1. Так там поломали буквально основы. Одна только смена скоупа for с глобального на локальный чего стоила. И что? И ничего. Взял да перенёс. Все эти суттеры, по-моему, просто не очень умные, если сравнивать с Хейлсбергом, например. Охрененное нашли оправдание для своей игры в Дженгу.


Ну, к слову, у VC6 была кривая реализация плюсов в этом моменте. Я тоже эту проблему застал в своё время, но я тогда на бормане пилил, там было нормально, а вот при попытке собрать вижуалкой начинали лезть проблемы
Маньяк Робокряк колесит по городу
Re[2]: The two factions of C++
От: rudzuk  
Дата: 27.11.24 07:23
Оценка: +1 :)
Здравствуйте, Великий Реверс, Вы писали:

ВР> был проездом в далеком будущем

ВР> землю уже посетили несколько внеземных цивилизаций
ВР> и установили прочную связь с ней
ВР> опять строятся пирамиды

ВР> про саттера там никто ничего не помнит

ВР> за то С++ знают все и каждый

ВР> конечно он не такой как мы его знаем

ВР> за сотню тысяч чет претерпел сильных изменений
ВР> но все же, основа вся так же от С++

А дельфя все еще помирает?
avalon/3.0.2
Re: The two factions of C++
От: cppguard  
Дата: 27.11.24 08:18
Оценка: +2
Здравствуйте, flаt, Вы писали:

F>* бигкорпы расходятся и С++ им уже не интересен: кто-то пошёл к Rust, кто-то пилит своего убийцу С++


D — это всё, что нужно знать про убийц С++. Ещё тогда за ним стоял не самый глупый программист, и было финансирование от Digital Mars. И тем не менее.
Re[3]: The two factions of C++
От: Alekzander  
Дата: 27.11.24 08:30
Оценка: 9 (1) +1 -1
Здравствуйте, 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.
Re: The two factions of C++
От: B0FEE664  
Дата: 27.11.24 10:34
Оценка:
Здравствуйте, flаt, Вы писали:

F>https://herecomesthemoon.net/2024/11/two-factions-of-cpp/

F>Я даже не знаю, как резюмировать эту статью
А я — знаю: это агитка, иными словами — агитационный листок. Скрытая реклама чего-то черноугольного от корпорации добра.
Короче, можно констатировать, что C++ написано столько работающего кода, что от него никуда не деться. Некоторых это почему-то не устраивает. Что-ж, пусть напишут свой язык с блэкджеком и той девушкой с картинки, с которой начинается агитка.
В общем, я не вижу реального смысла в этой статейке.
flаt, с какой целью вы её сюда принесли?
И каждый день — без права на ошибку...
Re[4]: The two factions of C++
От: so5team https://stiffstream.com
Дата: 27.11.24 10:57
Оценка:
Здравствуйте, Alekzander, Вы писали:

M>>Ну, к слову, у VC6 была кривая реализация плюсов в этом моменте. Я тоже эту проблему застал в своё время, но я тогда на бормане пилил, там было нормально, а вот при попытке собрать вижуалкой начинали лезть проблемы


A>Это было всё равно, что переписывать с одного языка на другой, настолько большими были изменения.


Какая интересная история... А кто-то просто брал и перекомпилировал. Правда, у нас проекты еще и GCC под Linux-ом собирались.

А что там такого "настолько большого" было, между VC++6 (это VS98) и VC++7/7.1 (это VS2002/2003)?

A>Я бы даже так сказал. Когда за развитием языка стояли компиляторщики (реальные инженеры), а не комитеты (дуболомы-астронавты), это была не "кривая реализация плюсов в этом моменте", а золотой век языка.


И когда это было? В 1988-ом?

Тот самый C++98, который был еще не полностью реализован в VC++6, он же появился как раз благодаря работе комитета.
Re[3]: The two factions of C++
От: flаt  
Дата: 28.11.24 11:57
Оценка:
Здравствуйте, rudzuk, Вы писали:


R>А дельфя все еще помирает?


Развивается, даже сам язык потихоньку улучшают:

https://en.wikipedia.org/wiki/History_of_Delphi_(software)

Borland Delphi 2005

for ... in statement (like C#'s foreach) to the language.
Multi-unit namespaces
Function inlining
Integrated unit testing

Borland Delphi 2006

Operator overloading
Static methods and properties

Codegear Delphi 2009

Generics
Anonymous methods for Win32 native development

Embarcadero Delphi XE8

GetIt Package Manager


Embarcadero Delphi 10.3 Rio

New Delphi language features – inline block-local variable declarations and type inference

Re[4]: The two factions of C++
От: rudzuk  
Дата: 28.11.24 12:33
Оценка: :)
Здравствуйте, flаt, Вы писали:

f> R>А дельфя все еще помирает?


f> Развивается, даже сам язык потихоньку улучшают:


Я же не про настоящее спросил, а про далекое будущее, где землю посетили несколько внеземных цивилизаций, ну?
avalon/3.0.2
Re: The two factions of C++
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 28.11.24 20:14
Оценка: 3 (1) -1 :)
Здравствуйте, flаt, Вы писали:

F>и тд, и тп.


  Картинка
Re: The two factions of C++
От: Ip Man Китай  
Дата: 28.11.24 20:24
Оценка: +1
Здравствуйте, flаt, Вы писали:

F>* бигкорпы расходятся и С++ им уже не интересен


Re[2]: The two factions of C++
От: CEMb  
Дата: 04.12.24 02:37
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Короче, можно констатировать, что C++ написано столько работающего кода, что от него никуда не деться.


Лучшая оборона — это нападение.

Сила языка должна быть в том, что на нём можно легко и быстро разрабатывать, в том, сколько на нём сейчас разрабатывается, в большом количестве преимуществ перед другими ЯП. Потому что "от него никуда не дется" со рано или поздно закончится.
Re[3]: The two factions of C++
От: B0FEE664  
Дата: 04.12.24 11:18
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>Лучшая оборона — это нападение.

От кого обороняться-то?

CEM>Сила языка должна быть в том, что на нём можно легко и быстро разрабатывать,

Ага, как на Visual Basic: разрабатывать легко и быстро.

CEM>в том, сколько на нём сейчас разрабатывается,

Не разрабатывается, а используется. Есть очень много, чего разрабатывалось, а потом выкидывалось.

CEM> в большом количестве преимуществ перед другими ЯП.

И преимущества эти выражаются в наличии стандарта.

CEM>Потому что "от него никуда не дется" со рано или поздно закончится.

Закончится, если язык не развивать. По моему мнению, в перспективе убийцей C++ может стать язык разработанный для параллельного выполнения кода в таком виде, чтобы в коде не требовались явно выделенные конструкции для распараллеливания выполнения. Например, пишешь 2+3+4+5, а выполняется это сложение так: 2+3 на одном процессоре, 4+5 — на другом, а результаты складываются на третьем, который передаёт результат на четвёртый. Всё остальное — маловероятно.
И каждый день — без права на ошибку...
Re[2]: The two factions of C++
От: velkin Удмуртия https://kisa.biz
Дата: 04.12.24 12:28
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>А я — знаю: это агитка, иными словами — агитационный листок. Скрытая реклама чего-то черноугольного от корпорации добра.

BFE>Короче, можно констатировать, что C++ написано столько работающего кода, что от него никуда не деться.

А я считаю так корпораты устраняют конкурентов. Сами пишут корпоративный софт на C++, а другим подсовывают шлак. Таким образом новых корпораций не появляется, что позволяет сохранять доминирующее положение.
Re[4]: The two factions of C++
От: CEMb  
Дата: 04.12.24 13:08
Оценка:
Здравствуйте, 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-х. Подозреваю, сейчас уже давно есть небольшие либы, которые такое умеют делать удобно. Ну перетащат это в стандарт, что это поменяет? Хотя у меня подозрение, что в стандарте уже это есть
Re[3]: The two factions of C++
От: B0FEE664  
Дата: 04.12.24 14:42
Оценка:
Здравствуйте, 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'ах кувыркаются. Зачем таким доверять в язык, где главный мем — это про огнестрел?
И каждый день — без права на ошибку...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.