The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Qt 6.0 перешёл на стадию бета-тестирования, opennews (??), 20-Окт-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


6. "Qt 6.0 перешёл на стадию бета-тестирования"  –2 +/
Сообщение от Шарп (ok), 20-Окт-20, 22:05 
>В Qt 6 планируют реализовать поддержку многих современных возможностей C++

И что там? Всё основное было сделано в c++11. Вот в c++20 есть вкусные вещи. 17 стандарт проходной.

Ответить | Правка | Наверх | Cообщить модератору

18. "Qt 6.0 перешёл на стадию бета-тестирования"  +1 +/
Сообщение от Аноним (17), 20-Окт-20, 22:40 
Раньше функционал делали, а сейчас осваивают розовый синтаксис языка...
Ответить | Правка | Наверх | Cообщить модератору

58. "Qt 6.0 перешёл на стадию бета-тестирования"  +4 +/
Сообщение от Siborgium (ok), 21-Окт-20, 04:33 
Между С++17 и С++20 отличия далеко не в синтаксисе.
Ответить | Правка | Наверх | Cообщить модератору

107. "Qt 6.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (31), 21-Окт-20, 22:52 
раньше просто забивали гвозди, сейчас коллекционируют розовые молоточки.
Ответить | Правка | Наверх | Cообщить модератору

115. "Qt 6.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (115), 21-Окт-20, 23:53 
А как посмотришь CppCon, так все только про него и говорят.
-вот смотрите - модули! (новый синтаксис, ни с чем ранее не совместимый)
-вот смотрите лямбды ! - ()<>[]{} красота же!
- вот смотрите корутины! новый синтаксис и вам еще пилить вагон своего кода чтобы эта поебота завелась!
- вот смотрите концепты, новый крутой синтаксис, который вам опять же придется учить {} -> ^>_<^. Забейте все синтаксисы что вы знали раньше.

Поэтому таки да. разработчики просто упиваются созданием новых под-языков, чтобы язык становился все более и более "expert-friendly", для дрочеров которые любят обмазываться тремя тысячами стро стандарта.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

117. "Qt 6.0 перешёл на стадию бета-тестирования"  +1 +/
Сообщение от topin89email (ok), 22-Окт-20, 00:28 
> А как посмотришь CppCon, так все только про него и говорят.
> -вот смотрите - модули! (новый синтаксис, ни с чем ранее не совместимый)

Обратная совместимость всё же осталась. А возможность писать интерфейс и реализацию в одном файле -- это кайф, подтвердят все, кто писал хоть на чём-то кроме C/C++.

> -вот смотрите лямбды ! - ()<>[]{} красота же!

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

> - вот смотрите корутины! новый синтаксис и вам еще пилить вагон своего кода чтобы эта поебота завелась!

Вот тут полностью согласен. До C++23 лучше обходить стороной или пользоваться бустовской обвязкой, её всё равно обычно в стандарт потом перетаскивают.

> - вот смотрите концепты, новый крутой синтаксис, который вам опять же придется учить {} -> ^>_<^. Забейте все синтаксисы что вы знали раньше.

То ли дело старый добрый SFINAE, да?


Я не представляю, что будет, когда ещё и рефлексию добавят и отдельный синтаксис для неё. И метаклассы до кучи. И плевать, что удобно и много где есть в том или ином виде.

Edit: ОК, метаклассов почти нигде нет. По факту, питон и лисп(если верить википедии). Рефлексия с другой стороны, есть очень много где. Если она вместе с метаклассами окажется в C++, Meta Object Compiler можно будет оставить только для легаси.

Ответить | Правка | Наверх | Cообщить модератору

119. "Qt 6.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Siborgium (ok), 22-Окт-20, 04:14 
> А как посмотришь CppCon, так все только про него и говорят.
> -вот смотрите - модули! (новый синтаксис, ни с чем ранее не совместимый)

При чем здесь синтаксис? Это не сахар, это принципиально новая фича, которая позволяет все же рассказать компилятору (а не линкеру) о зависимостях между отдельными юнитами, упростить инкапсуляцию и разграничить области видимости.

> -вот смотрите лямбды ! - ()<>[]{} красота же!
> - вот смотрите корутины! новый синтаксис и вам еще пилить вагон своего
> кода чтобы эта поебота завелась!

Она не обязана заводиться просто так. Ее заводишь ты ровно так, как тебе надо, настраивая под свой юзкейс. Это точно так же принципиально новая для плюсов возможность. Любые костыли до этого просто не могли генерировать эффективный код.

> - вот смотрите концепты, новый крутой синтаксис, который вам опять же придется
> учить {} -> ^>_<^. Забейте все синтаксисы что вы знали раньше.

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

> Поэтому таки да. разработчики просто упиваются созданием новых под-языков, чтобы язык становился
> все более и более "expert-friendly", для дрочеров которые любят обмазываться тремя
> тысячами стро стандарта.

Строк стандарта было бы меньше, если бы эти возможности были в стандарте на 10-15 лет раньше.

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

121. "Qt 6.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (122), 22-Окт-20, 10:10 
>вот смотрите - модули

Модули - говно. От модулей я хотел бы, чтобы

1. они работали не как #include "", то есть не гадили препроцессором область видимости, чтобы не было

#define true (rand() > RAND_MAX / 1000) // happy debugging, bastards.

Вообще, использование препроцессора для констант, если эта константа не используется в других директрвах препроцессора, должно быть fatal compile error с формулировкой "пошёл на ***, вон из профессии". Аналогично для случая, когда макрос представляет собой законченное выражение.

2. поставлялись разрабами либ в готовом виде, с расчётом, что их будут импортиговать

3. обеспечивали автоматическую связь с shared и static lib, вроде #pragma comment(lib,

А в результате, модули оказались просто кешем для AST для компилятора, пригодными только для зависимостей, пересобираемых самим.

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

126. "Qt 6.0 перешёл на стадию бета-тестирования"  +/
Сообщение от FixingGunsInAir (ok), 22-Окт-20, 23:09 
Язык уже настолько обмазали всяким, а главное, с сохранением обратной совместимости, что изучение C++ уже сродни изучению brainfuck. А выучить все возможные конструкции (необязательно использовать, а как минимум распознавать что это и нахера) - всё равно что сдать HSK6.

Я думаю, буду обходить этот язык стороной. Лучше обмазаюсь Сями с Glib или Rust'ом, если вообще потребуется лезть в системщину.

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

116. "Qt 6.0 перешёл на стадию бета-тестирования"  +/
Сообщение от topin89email (ok), 22-Окт-20, 00:19 
Он ещё не до конца допилен, в gcc вон до сих пор нет модулей кроме отдельной ветки. Какого-нибудь std::format вообще нигде нет. И это сейчас, под конец года. Когда Qt 6.0 начинали, не было даже ясности, останется ли бинарная совместимость, а весь C++20 ещё только начинался и что туда войдёт, что нет, ясности не было.

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

И не забываем, что не все смогут или захотят перейти на C++20.

Из хороших новостей: бинарная совместимость есть, C++17 это лишь минимальные требования.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру