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

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

Восстановить пароль Регистрация
 
 
ct0r
C++/Haskell
 Аватар для ct0r
1557 / 576 / 39
Регистрация: 19.08.2012
Сообщений: 1,191
Завершенные тесты: 1
30.04.2015, 10:51     С++17. Начинаем ждать? #1
https://isocpp.org/files/papers/D4492.pdf

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

Turbo Pascal Начинаем рисовать
Как ждать выполнения определенной функции C++ Builder
Как заставить прогу на с++ ждать новые записи из БД C++
Как заставить машину ждать перед очередным выполнением цикла? C++
Не ждать завершения запущенной внешней программы C++
C++ Теперь C++11 - полностью и на сто процентов новый C++: чего ждать
Модем должен ждать прихода смс C++ Builder
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ct0r
C++/Haskell
 Аватар для ct0r
1557 / 576 / 39
Регистрация: 19.08.2012
Сообщений: 1,191
Завершенные тесты: 1
06.10.2015, 20:21  [ТС]     С++17. Начинаем ждать? #81
Цитата Сообщение от hoggy Посмотреть сообщение
я кстати, имел ввиду комплексное решение: докси, юнит-тесты, экзамплы.
Ну тогда да.

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

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

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

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

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

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

Не по теме:

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

MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5553 / 3032 / 340
Регистрация: 29.11.2010
Сообщений: 8,197
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
Ворчун
Эксперт С++
 Аватар для MrGluck
5553 / 3032 / 340
Регистрация: 29.11.2010
Сообщений: 8,197
24.11.2016, 12:18     С++17. Начинаем ждать? #86
Цитата Сообщение от Avazart Посмотреть сообщение
Я не понимаю когда говорят о модулях, в чем фишка?
В избавлении гемороя при компиляции, переход на новую систему сборки. То есть мы избавимся от .h файлов, будем писать только .cpp. Сейчас уже есть две реализации - от clang и Microsoft, обе имеют свои плюсы и минусы и они, конечно, несовместимы между собой.
Avazart
Заблокирован
24.11.2016, 13:23     С++17. Начинаем ждать? #87
И что в итоге получится?
Модули Delphi с секциями interface и implementation ?
Убежденный
Системный программист
 Аватар для Убежденный
14430 / 6414 / 1015
Регистрация: 02.05.2013
Сообщений: 10,658
Завершенные тесты: 1
24.11.2016, 13:34     С++17. Начинаем ждать? #88
Цитата Сообщение от Avazart Посмотреть сообщение
Я не понимаю когда говорят о модулях, в чем фишка?
В скорости сборки.

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

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

Кстати, из-за раздельной компиляции сборка в C/C++ на порядки
медленнее, чем в Delphi, например.
Avazart
Заблокирован
24.11.2016, 14:03     С++17. Начинаем ждать? #89
Разве тогда не придется решать проблему с шаблонами?
Убежденный
Системный программист
 Аватар для Убежденный
14430 / 6414 / 1015
Регистрация: 02.05.2013
Сообщений: 10,658
Завершенные тесты: 1
24.11.2016, 14:09     С++17. Начинаем ждать? #90
Не знаю. Мне кажется, это лишь еще одна техническая сложность.
Никто ведь не мешает шаблоны тоже делать частью модулей. Главное, что сама система
компиляции будет другой, с уходом от многократной обработки одних и тех же файлов.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5553 / 3032 / 340
Регистрация: 29.11.2010
Сообщений: 8,197
24.11.2016, 14:14     С++17. Начинаем ждать? #91
Цитата Сообщение от Avazart Посмотреть сообщение
Разве тогда не придется решать проблему с шаблонами?
Некоторые компиляторы уже умеют инстанцировать шаблоны в другой единице трансляции.
Avazart
Заблокирован
24.11.2016, 14:43     С++17. Начинаем ждать? #92
Цитата Сообщение от MrGluck Посмотреть сообщение
Некоторые компиляторы уже умеют инстанцировать шаблоны в другой единице трансляции.
Ну так в другой единице как я полагаю породит туже проблему с многократной обработкой одного и того же кода.

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

Цитата Сообщение от Убежденный Посмотреть сообщение
Не знаю. Мне кажется, это лишь еще одна техническая сложность.
Ну так многие идеи упираются и глохнут именно в техническую сложность, опять же тот же экспорт шаблонов.
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2274 / 990 / 226
Регистрация: 30.11.2013
Сообщений: 3,291
24.11.2016, 15:31     С++17. Начинаем ждать? #93
Цитата Сообщение от Убежденный Посмотреть сообщение
Например, у меня проект из многих тысяч файлов, почти каждый из
них включает Windows.h, string, vector и еще многие заголовки.
И при компиляции каждого .cpp или .c файла каждый раз выполняется
обработка этих заголовков, что явно избыточно и тормозит весь процесс.
Обработка нужна всегда, а скомпилируются cpp файлы ваших Window.h и т.д. только один раз. Всё верно - что именно не нравится?
Убежденный
Системный программист
 Аватар для Убежденный
14430 / 6414 / 1015
Регистрация: 02.05.2013
Сообщений: 10,658
Завершенные тесты: 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
Заблокирован
24.11.2016, 16:03     С++17. Начинаем ждать? #95

Не по теме:

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

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



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

Компилируем 1 раз - линкуемся к нему много раз. Что не так то? Убежденный, А чем компиляция отличается на 999 строчке #include <Windows.h> от первой? Это всего лишь incldue текста, который помогает компилятору и линковщику.
Убежденный
Системный программист
 Аватар для Убежденный
14430 / 6414 / 1015
Регистрация: 02.05.2013
Сообщений: 10,658
Завершенные тесты: 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
 Аватар для rikimaru2013
2274 / 990 / 226
Регистрация: 30.11.2013
Сообщений: 3,291
24.11.2016, 16:37     С++17. Начинаем ждать? #98
Убежденный, ну вот мы уже определились, что *.h файлы не компилируются, а лишь влияют на синтаксический разбор, что по понятным причинам замедляет сборку. Я вполне доволен скоростью сборки проектов С++, ведь я правильно веду архитектуру )) Думаю модули добавят свои минусы и плюсы.
Убежденный
Системный программист
 Аватар для Убежденный
14430 / 6414 / 1015
Регистрация: 02.05.2013
Сообщений: 10,658
Завершенные тесты: 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. Начинаем ждать?
Еще ссылки по теме:

Задать команду в COM-порт, ждать 500мс и посмотреть ответ C++ Builder
Начинаем изучать JAVA Java SE
Как заставить поток ждать в некоторых ситуациях C++
Начинаем делать сайт Web

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

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

Метки
c++17
Опции темы

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