Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
ct0r
Игогошка!
1768 / 670 / 42
Регистрация: 19.08.2012
Сообщений: 1,284
Завершенные тесты: 1
#1

С++17. Начинаем ждать? - C++

30.04.2015, 10:51. Просмотров 6232. Ответов 125

https://isocpp.org/files/papers/D4492.pdf

Как думаете, в правильном ли направлении идет развитие? Что вы хотите видеть в С++17? Какую фичу ждете больше всего?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2015, 10:51     С++17. Начинаем ждать?
Посмотрите здесь:

Как ждать выполнения определенной функции - C++ Builder
Добрый вечер! Такая задача: Клиент-Сервер, передача файла по UDP (не ругайтесь, такое задание=)) При передаче очередного пакета,...

Модем должен ждать прихода смс - C++ Builder
Всем, привет! Вообщем все почти реализовал для GSM модема, умею отправлять читать и стирать смс, но есть один вопросик, а как можно сделать...

Не ждать завершения запущенной внешней программы - C++
Я запускаю из своей программы внешний экзешник при помощи system(command). Но данный вариант меня не устраивает, т.к. приходится ждать...

Как заставить поток ждать в некоторых ситуациях - C++
Есть такой сценарий приложения: Приложение до запуска TCP кеширует данные из MySQL в std::vector, далее запускается TCP и ожидаются...

Как заставить прогу на с++ ждать новые записи из БД - C++
Нужно чтобы прога на с++ ждала новых записей в БД и если они поступят производила с ними кое какие действия Вопрос в том как именно...

Задать команду в COM-порт, ждать 500мс и посмотреть ответ - C++ Builder
Всем привет! Кстати, мой первый пост на этом форуме. И так, реализовал работу с портом, все работает. На основе COMThread-3 (WINAPI).rar...

Теперь C++11 - полностью и на сто процентов новый C++: чего ждать - C++
Приветствую всех ) , друзья подскажите пожалуйста такую вещь. Случайно прочитал на форуме про Стандарт C++11, я читал про ISO и про...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ct0r
Игогошка!
1768 / 670 / 42
Регистрация: 19.08.2012
Сообщений: 1,284
Завершенные тесты: 1
06.10.2015, 20:21  [ТС]     С++17. Начинаем ждать? #81
Цитата Сообщение от hoggy Посмотреть сообщение
я кстати, имел ввиду комплексное решение: докси, юнит-тесты, экзамплы.
Ну тогда да.

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

Цитата Сообщение от cybercitizen Посмотреть сообщение
А если соискатель инвалид? И головастик, дело знает. Это прямое нарушение его конституционных прав. В РФии это нормально?
Мое мнение - бизнес имеет право нанимать тех, кого хочет, и не нанимать тех, кого не хочет. У каждой компании своя культура - одни требуют чтобы человек активно общался и взаимодействовал с командой, участвовал в нетехнической жизни компании и формировал хорошую коллективную обстановку (причем это в какой-то мере можно назвать частью работы), а другим достаточно, чтобы винтики работу делали в срок, и неважно - удаленно или как.
hoggy
6369 / 2587 / 452
Регистрация: 15.11.2014
Сообщений: 5,722
Завершенные тесты: 1
06.10.2015, 20:44     С++17. Начинаем ждать? #82
Цитата Сообщение от ct0r Посмотреть сообщение
Мое мнение - бизнес имеет право нанимать тех, кого хочет, и не нанимать тех, кого не хочет.
так и есть.

за обеспечение социально беззащитных граждан,
компании получают печеньки от государства.

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

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

все вместе - и многие конторы не хотят связываться.
cybercitizen
07.10.2015, 01:30
  #83

Не по теме:

Цитата Сообщение от ct0r Посмотреть сообщение
Мое мнение - бизнес имеет право
Само собой, но есть правовое поле в котором этот бизнес работает. Иначе это не бизнес, а банда.

MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
23.11.2016, 10:01     С++17. Начинаем ждать? #84
Цитата Сообщение от XRuZzz Посмотреть сообщение
например автор книги "О Haskell, по человечески", он намного больше меня работал на C++, лет 7 вроде.
Я знаком с ним лично, цифру надо как минимум умножить в два раза.

Добавлено через 11 минут
Очень хотелось модулей (которых увы, не будет в С++17), работу с ФС, range v3, многопоточные алгоритмы STL, std::any, std::variant, определение типа шаблона для конструкторов.
Avazart
24.11.2016, 12:13
  #85

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
Очень хотелось модулей
Я не понимаю когда говорят о модулях, в чем фишка?

MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
24.11.2016, 12:18     С++17. Начинаем ждать? #86
Цитата Сообщение от Avazart Посмотреть сообщение
Я не понимаю когда говорят о модулях, в чем фишка?
В избавлении гемороя при компиляции, переход на новую систему сборки. То есть мы избавимся от .h файлов, будем писать только .cpp. Сейчас уже есть две реализации - от clang и Microsoft, обе имеют свои плюсы и минусы и они, конечно, несовместимы между собой.
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,284
Записей в блоге: 17
24.11.2016, 13:23     С++17. Начинаем ждать? #87
И что в итоге получится?
Модули Delphi с секциями interface и implementation ?
Убежденный
Системный программист
Эксперт С++
15247 / 6879 / 1092
Регистрация: 02.05.2013
Сообщений: 11,255
Завершенные тесты: 1
24.11.2016, 13:34     С++17. Начинаем ждать? #88
Цитата Сообщение от Avazart Посмотреть сообщение
Я не понимаю когда говорят о модулях, в чем фишка?
В скорости сборки.

Например, у меня проект из многих тысяч файлов, почти каждый из
них включает Windows.h, string, vector и еще многие заголовки.
И при компиляции каждого .cpp или .c файла каждый раз выполняется
обработка этих заголовков, что явно избыточно и тормозит весь процесс.

С переходом на модули все кардинально меняется, т.к. каждый модуль
обрабатывается единожды.

Кстати, из-за раздельной компиляции сборка в C/C++ на порядки
медленнее, чем в Delphi, например.
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,284
Записей в блоге: 17
24.11.2016, 14:03     С++17. Начинаем ждать? #89
Разве тогда не придется решать проблему с шаблонами?
Убежденный
Системный программист
Эксперт С++
15247 / 6879 / 1092
Регистрация: 02.05.2013
Сообщений: 11,255
Завершенные тесты: 1
24.11.2016, 14:09     С++17. Начинаем ждать? #90
Не знаю. Мне кажется, это лишь еще одна техническая сложность.
Никто ведь не мешает шаблоны тоже делать частью модулей. Главное, что сама система
компиляции будет другой, с уходом от многократной обработки одних и тех же файлов.
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
24.11.2016, 14:14     С++17. Начинаем ждать? #91
Цитата Сообщение от Avazart Посмотреть сообщение
Разве тогда не придется решать проблему с шаблонами?
Некоторые компиляторы уже умеют инстанцировать шаблоны в другой единице трансляции.
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,284
Записей в блоге: 17
24.11.2016, 14:43     С++17. Начинаем ждать? #92
Цитата Сообщение от MrGluck Посмотреть сообщение
Некоторые компиляторы уже умеют инстанцировать шаблоны в другой единице трансляции.
Ну так в другой единице как я полагаю породит туже проблему с многократной обработкой одного и того же кода.

Т.е если я использую в многих файлах std::vector<std::string> "инстанцироваться" будет же столько же раз сколько и файлов?
Или я ошибаюсь?

Цитата Сообщение от Убежденный Посмотреть сообщение
Не знаю. Мне кажется, это лишь еще одна техническая сложность.
Ну так многие идеи упираются и глохнут именно в техническую сложность, опять же тот же экспорт шаблонов.
rikimaru2013
C++ Game Dev
2402 / 1096 / 237
Регистрация: 30.11.2013
Сообщений: 3,623
24.11.2016, 15:31     С++17. Начинаем ждать? #93
Цитата Сообщение от Убежденный Посмотреть сообщение
Например, у меня проект из многих тысяч файлов, почти каждый из
них включает Windows.h, string, vector и еще многие заголовки.
И при компиляции каждого .cpp или .c файла каждый раз выполняется
обработка этих заголовков, что явно избыточно и тормозит весь процесс.
Обработка нужна всегда, а скомпилируются cpp файлы ваших Window.h и т.д. только один раз. Всё верно - что именно не нравится?
Убежденный
Системный программист
Эксперт С++
15247 / 6879 / 1092
Регистрация: 02.05.2013
Сообщений: 11,255
Завершенные тесты: 1
24.11.2016, 15:55     С++17. Начинаем ждать? #94
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
а скомпилируются cpp файлы ваших Window.h и т.д. только один раз. Всё верно - что именно не нравится?
source1.cpp
C++
1
#include <Windows.h>
source2.cpp
C++
1
#include <Windows.h>
...

source10000.cpp
C++
1
#include <Windows.h>
Не нравится, что 10000 исходных файлов = 10000 раз компиляция Windows.h.
Подключим модули - компиляция будет однократная.
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,284
Записей в блоге: 17
24.11.2016, 16:03     С++17. Начинаем ждать? #95

Не по теме:

Убежденный, Вероятно rikimaru2013 имел ввиду что IDE обычно отслеживают изменения и компилируют только модифицированные сpp.

Но если компиляция с нуля или модификация коснулась заголовков...



Вопрос в том будет ли компиляция проектов c STL и boost действительно быстрее (там как бы одни шаблоны в принципе)
rikimaru2013
C++ Game Dev
2402 / 1096 / 237
Регистрация: 30.11.2013
Сообщений: 3,623
24.11.2016, 16:15     С++17. Начинаем ждать? #96
Avazart, да я и про полную компиляцию тоже) *.cpp в списке скомпилируемых файлов будет 1 раз, а подключение *.h это не более чем вставка всего текста, что несёт объявление, declaration.

Компилируем 1 раз - линкуемся к нему много раз. Что не так то? Убежденный, А чем компиляция отличается на 999 строчке #include <Windows.h> от первой? Это всего лишь incldue текста, который помогает компилятору и линковщику.
Убежденный
Системный программист
Эксперт С++
15247 / 6879 / 1092
Регистрация: 02.05.2013
Сообщений: 11,255
Завершенные тесты: 1
24.11.2016, 16:29     С++17. Начинаем ждать? #97
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
подключение *.h это не более чем вставка всего текста, что несёт объявление, declaration.
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Компилируем 1 раз - линкуемся к нему много раз. Что не так то? Убежденный, А чем компиляция отличается на 999 строчке #include <Windows.h> от первой? Это всего лишь incldue текста, который помогает компилятору и линковщику.
Заголовки бывают очень большие (Windows) и тяжелые (Boost), и чем больше
исходных файлов включают такие заголовки, тем больше замедляется время сборки.

Это как постоянное копирование больших объектов по значению, в то время
как эффективнее было бы копировать их по ссылке или указателю...

Линковка здесь не поможет. Как ты залинкуешь шаблоны, например?
У MS давно есть решение в виде прекомпилированных заголовков, но они,
во-первых, не стандартизированы, а во-вторых, там есть свои проблемы
(например, появление лишних зависимостей).

Не, ну если тебя устраивает скорость компиляции C++ и то, что при компиляции
многократно выполняется синтаксический разбор одних и тех же заголовков, то я пас.
rikimaru2013
C++ Game Dev
2402 / 1096 / 237
Регистрация: 30.11.2013
Сообщений: 3,623
24.11.2016, 16:37     С++17. Начинаем ждать? #98
Убежденный, ну вот мы уже определились, что *.h файлы не компилируются, а лишь влияют на синтаксический разбор, что по понятным причинам замедляет сборку. Я вполне доволен скоростью сборки проектов С++, ведь я правильно веду архитектуру )) Думаю модули добавят свои минусы и плюсы.
Убежденный
Системный программист
Эксперт С++
15247 / 6879 / 1092
Регистрация: 02.05.2013
Сообщений: 11,255
Завершенные тесты: 1
24.11.2016, 17:00     С++17. Начинаем ждать? #99
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
*.h файлы не компилируются, а лишь влияют на синтаксический разбор, что по понятным причинам замедляет сборку.
О чем и речь.
И чем больше проект - тем больше это замедление ощущается.

Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Я вполне доволен скоростью сборки проектов С++, ведь я правильно веду архитектуру ))
Поделишься секретами правильного ведения архитектуры?

Минимизация зависимостей, pimpl, forward declarations, отказ от реализаций в
заголовочных файлах и т.д. - это все давно известно, но желаемого профита не дает.
Все равно у C/C++ по сравнению с Delphi, C# и т.п. скорость компиляции просто
отвратительно медленная и то, что в других языках компилируется за секунды, в
C/C++ занимает минуты и даже часы.

Да, если у тебя N исходных файлов и каждый подключает <string>, то синтаксический
разбор <string> будет выполняться N раз. И никакой архитектурой это не исправишь.
Извращения с запихиванием всего кода в один большущий cpp-файл не рассматриваем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2016, 17:18     С++17. Начинаем ждать?
Еще ссылки по теме:

Как заставить машину ждать перед очередным выполнением цикла? - C++
есть код#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(int argc, char *argv) { ...

Определите вероятность того, что Ариса будет ждать зеленого света не более k секунд. - C++
На одном из перекрестков Тель-Авива установлен светофор, который горит зеленым светом g секунд, а красным r секунд. Ариса подходит к...

Начинаем рисовать - Turbo Pascal
Привет всем. Вот простой код: ... gd:=VGA;gm:=VGAhi; InitGraph(gd,gm,''); if(GraphResult=grOk)then begin line(0,0,520,210); ...

Начинаем делать сайт - Web
Может давайте вместе начнем делать сайт и общими усилиями может у нас что нибудь получится) Сначала выслушаем ваши комментарии.

Начинаем изучать JAVA - Java SE
В этом паке лежат лекции и задания к ним. В лекциях все довольно просто. Часть материала взята из книги Айвора Хортона &quot;Java&quot;. Хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
rikimaru2013
C++ Game Dev
2402 / 1096 / 237
Регистрация: 30.11.2013
Сообщений: 3,623
24.11.2016, 17:18     С++17. Начинаем ждать? #100
Цитата Сообщение от Убежденный Посмотреть сообщение
Минимизация зависимостей, pimpl, forward declarations, отказ от реализаций в
заголовочных файлах и т.д. - это все давно известно, но желаемого профита не дает.
Ну замеры до и после, позволяет сказать об ускорении в2-3 раза. Что очень много) Да и умная компиляция IDE - только измененных ускоряет процесс разработки. Итого: не более минуты идёт компиляция изменений. А полная перекомпиляция ... . Я не стремлюсь за её скоростью - ведь в это время я пью чай с печеньками)
Yandex
Объявления
24.11.2016, 17:18     С++17. Начинаем ждать?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru