Войти
ФлеймФорумПрограммирование

Зачем уродуют С++

Страницы: 1 2 363 64 Следующая »
#0
21:47, 17 ноя. 2017

... и уродуют ли.
В последние годы участились выпуски новых стандартов С++. Стандарты обновляют, что-то является действительно полезным улучшением, а что-то, на чей-то взгляд, уродует язык. Казалось бы, зачем весь этот "синтаксический сахар". Для чего создают новые стандарты и кому это нужно/выгодно.
Предлагаю обсудить здесь, что нравится и что не нравится в стандартах 11, 14 и 17.


#1
21:49, 17 ноя. 2017

Можно подумать, что он когда-то красивый был.

#2
21:59, 17 ноя. 2017

C++ изуродован изначально. Я был бы не против получить из него какой-нибудь D с возможностью присобачивать туда С. Какие блэт инклюды в 2к17??? Где модули???

#3
22:14, 17 ноя. 2017

0xc0de
> Предлагаю обсудить здесь, что нравится и что не нравится в стандартах
"Тут и началась драка..." /из анекдотов про Штирлица/

#4
22:20, 17 ноя. 2017

Может микрософт хочет сделать кото-песа ?

+ Показать

#5
22:53, 17 ноя. 2017

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

+ Показать
#6
23:00, 17 ноя. 2017

C++ уже не нужен, есть Rust

#7
23:53, 17 ноя. 2017

0xc0de
> что нравится и что не нравится
плюсы это свалка всевозможных подходов к программированию, растущая год от года, что в этом плохого? : )

#8
0:51, 18 ноя. 2017

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

struct Color
{
    unsigned value;

    constexpr explicit Color(unsigned value) : value(value) {}

    constexpr static Color rgba(unsigned red, unsigned green, unsigned blue, unsigned alpha)
    { return Color(((alpha & 0xffu) << 24) + ((red & 0xffu) << 16) + ((green & 0xffu) << 8) + (blue & 0xffu)); }

    constexpr static Color rgb(unsigned red, unsigned green, unsigned blue)
    { return rgba(red, green, blue, 255u); }

    constexpr static Color black = rgb(0, 0, 0);
};
#9
1:17, 18 ноя. 2017

cNoNim
ты забыл throw/nothrow, инлайны, private/public, const геттеры, виртуальный деструктор, цвета создаются через фабрику а не вонючие статики, нокопиабле/приватный == copy

#10
1:44, 18 ноя. 2017

cNoNim
> в каком стандарте такой код станет нормальным?
value у тебя для галочки, тут проще namespace : )

но в целом понятно, компайл-тайм в несколько проходов я бы тоже не стал делать

#11
1:50, 18 ноя. 2017

cNoNim

+ Показать

http://rextester.com/ERJS9969

компилируется же. даже тупой студией

#12
2:35, 18 ноя. 2017

Sh.Tac.
> тут проще namespace
дак оно на неймспейсах уже сделано давно,
но вот нафига пихать в язык кучу фич, которые друг с другом не совместимы,
а потом в новых стандартах делать еще и затычки под эти фичи, я не совсем понимаю
inline static это же полный ад, не?
я вот сюда смотрю
http://en.cppreference.com/w/cpp/language/static
и у меня волосы на голове шевелются

#13
2:52, 18 ноя. 2017

Sh.Tac.
> компайл-тайм в несколько проходов я бы тоже не стал делать
а вообще не только много проходный комплайл-тайм решил бы...
как ты верно заметил на неймспейсах все работает,
если бы они упростили обработку классов до уровня неймспейсов,
то и на классах бы все завелось, но сейчас это уже нарушает обратную совместимость мать ее )
так что я последнее время думаю, что вряд ли из С++ когда нибудь ченить годное получится,
надо ему кол в сердце и сжечь
а все ресурсы которые тратятся на его поддержку, по бырому перенести на какой нить раст

#14
2:52, 18 ноя. 2017

cNoNim
> inline static это же полный ад, не?
static прикольный, я как-то попробовал

struct Foo
{
  static int bar = 0;
};
нелогично, но с другой стороны если полезть в дебри, то начинаешь понимать разработчиков компиляторов : )
Страницы: 1 2 363 64 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.