Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

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

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

30.04.2015, 10:51. Просмотров 8387. Ответов 141

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

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

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

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

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

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

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

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

141
volvo
01.10.2015, 23:03     С++17. Начинаем ждать?
  #46

Не по теме:

Если бы Билдеровцам нужны были модули - они бы давно стали Дельфистами

0
gng
01.10.2015, 23:08
  #47

Не по теме:

Цитата Сообщение от volvo Посмотреть сообщение
они бы давно стали Дельфистами
Так они почти и стали. :-)

0
Avazart
01.10.2015, 23:12
  #48

Не по теме:

Цитата Сообщение от gng Посмотреть сообщение
Думается, что модули им как раз к месту будут.
Какому месту?

0
Fulcrum_013
Заблокирован
01.10.2015, 23:31 #49
Цитата Сообщение от ct0r Посмотреть сообщение
Как думаете, в правильном ли направлении идет развитие?
Это не развитие а деградация к скриптовому языку
Цитата Сообщение от ct0r Посмотреть сообщение
Что вы хотите видеть в С++17?
STL за борт,запрет на интрисики, Борландовские расширения синтаксиса в стандарт.
Цитата Сообщение от ct0r Посмотреть сообщение
Какую фичу ждете больше всего?
Арифметики над массивами на уровне компилятора. С появлением векторных процов оптимизатору без этого будет все сложнее.
А так же очень бы хотелось иметь возможность вызова виртуальных функций из конструктора.

Добавлено через 3 минуты

Не по теме:

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


Не по теме:


Добавлено через 3 минуты

Цитата Сообщение от Avazart Посмотреть сообщение
Вроде для визуального программирования ничего пока не сделано...
для визуального достаточно RTTI. А возможность откючать визуальщину и пользовать свой фреймверк тоже штука полезная даже в Билдере. Еще бы хорошо было возможность свой фреймверк вместо стандартных в визуальный редактор подключать.

0
Avazart
01.10.2015, 23:35
  #50

Не по теме:

Fulcrum_013,Не пори фигню... иди лучше книжку почитай...

0
hoggy
6717 / 2900 / 497
Регистрация: 15.11.2014
Сообщений: 6,525
Завершенные тесты: 1
02.10.2015, 20:16 #51
Цитата Сообщение от ct0r Посмотреть сообщение
Для этого есть много либ, причем очень специализированных. Зачем брать в стандарт некую компромиссную, которая удовлетворяет всех, но на очень среднем уровне?
потому что уж очень востребованно.
что провоцирует дополнительные зависимости от сторонних библиотек.
со сборкой которых по итогу придется долбаться клиентам вашей библиотеки.

вот у меня например была проблема:
для работы нужна была кроссплатформенная либа для работы с файловой системой.

и что делать?
вынуждать клиентов поиметь зависимость от boost,
или крупных сторонних фреймворков?
вот приключился костыль.

с юникодом примерно аналогичная ситуация,
хотя и не так все запущенно.
0
ct0r
Игогошка!
1776 / 678 / 42
Регистрация: 19.08.2012
Сообщений: 1,295
Завершенные тесты: 1
02.10.2015, 21:35  [ТС] #52
hoggy, совсем не убедил. Никаких проблем не вижу.
0
Dmitriy_M
1363 / 1246 / 114
Регистрация: 20.03.2009
Сообщений: 4,462
Записей в блоге: 11
02.10.2015, 22:33 #53
Цитата Сообщение от hoggy Посмотреть сообщение
вынуждать клиентов поиметь зависимость от boost,
Детсад.
0
FCommander
Респект C++
22 / 32 / 5
Регистрация: 11.06.2015
Сообщений: 384
02.10.2015, 22:56 #54
Для новичков был бы неплох Unicode.
Я заметил также, что очень часто на форуме задают вопрос - "Русский язык в консоли". Это надоедает. Надо доработать.

Добавлено через 2 минуты
Ну а лично для меня было бы неплохо, как в Pascal простое окно без иниц. Qt или WinAPI.

Добавлено через 4 минуты
Пусть какие-нибудь операторы появятся. Ну как в Pascal:
Pascal
1
2
uses GraphABC;
uses Robot;
Ну а в C++(простите за фантазию) бы могло выглятеть типа:
C++
1
2
#include <graphcpp>
#include <robot>
Хотя graphics.h уже есть.
Иными словами - облегчение работы.
0
Avazart
Эксперт С++
7233 / 5429 / 303
Регистрация: 10.12.2010
Сообщений: 24,124
Записей в блоге: 17
02.10.2015, 23:13 #55
Цитата Сообщение от ct0r Посмотреть сообщение
hoggy, совсем не убедил. Никаких проблем не вижу.
Ну собирать весь буст только ради ... или речь шла о разделяемых библиотеках?
hoggy, Только я не понимаю как модули тут помогут?

Добавлено через 3 минуты
Цитата Сообщение от FCommander Посмотреть сообщение
Ну а в C++(простите за фантазию) бы могло выглятеть типа:
Че?
0
hoggy
6717 / 2900 / 497
Регистрация: 15.11.2014
Сообщений: 6,525
Завершенные тесты: 1
02.10.2015, 23:48 #56
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Детсад.
пример из жизни:

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

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

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

прототип был реализован на самом cmake.
но тут возникла проблема - cmake слишком медленный.
и кодить на нем по меньше мере не удобно.
некоторые вещи я так и не реализовал в прототипе,
либо реализовал в урезанном варианте,
просто потому что задолбался править и отлаживать симейк-скрипты.

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

например, программист сидит в вижал-студии и правит исходный файл.
он дописал строку:
C++
1
#include <boost/filesystem>
и кликнул на кнопку "сохранить".

монитор тут же фиксит, что файл изменился.
регекспами парсит инклюды, находит изменения,
ему уже известен список всех библиотек, доступных рабочему пространству.
он догадывается, что у данной цели есть зависимость от boost-filesystem,
и автоматом добавляет зависимость для данной цели сборки.

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

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

но есть проблема:
монитор, и сопутствующие утилиты зависят от буста.

в связи с чем возникла проблема распространения самого воркспейса.

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

после чего можно уже спокойно начинать работать.

но для этого нужен буст, причем буст нужно ещё найти.

замкнутый круг:
для сборки утилиты, задача которой - искать библиотеки, нужно сначала найти библиотеку.

ну, на самом деле это не проблема.
проблема в доступности самого буста.

1.
многие его не любят.
в принципе.

один только этот фактор может отпугнуть
пользователя от использования воркспейса.

2.
развернуть его из деплоя - это время.
например, на моем ноуте 1.57.0
для одной только студии vc12 ставился с раннего вечера и до обеда следующего дня.

а у меня вся эта затея - ради кросс-платформы.
это как минимум ещё mingw,
и gcc тулчейны

и все это в 32 и 64 версиях.

вот сейчас вышел новый буст,
я даже обновляться не хочу.

3.
я не нашел цивилизованных альтернатив.

4.
в итоге пришел к мысли, что можно распространять воркспейс вместе с бинарями.
то есть монитор, и утилиты можно уже собранные упаковать.

и вот здесь частоколом выскакивают новые проблемы:
нужно сопровождать релизный кроссплатформенный продукт.

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

5.
время смуты прошло.
наступила новая эра:
многое из того, что в прошлом было доступно лишь в бусте,
уже включили в стандартную библиотеку.

C++
1
2
3
#include<regex>
#include<filesystem>
...
и никакого геммороя.

Добавлено через 5 минут
Цитата Сообщение от ct0r Посмотреть сообщение
совсем не убедил.
как думаете, что убедило комитет к сегодняшнему дню
перетащить в стандартную библиотеку уже львиную часть буста?

а то ведь могло и дальше в бусте валяццо.
проблем же нет никаких?

Добавлено через 43 секунды
Цитата Сообщение от Avazart Посмотреть сообщение
Только я не понимаю как модули тут помогут?
а хз.
я вообще себе смутно представляю что это, и нафига они нужны.
0
ct0r
Игогошка!
1776 / 678 / 42
Регистрация: 19.08.2012
Сообщений: 1,295
Завершенные тесты: 1
03.10.2015, 12:35  [ТС] #57
Цитата Сообщение от hoggy Посмотреть сообщение
суть изначальной идеи - предоставить не программный подход к сборке продуктов.
что бы кастомизировать сборку,
программист не должен тратить время на написание скриптов.
умный автомат должен сам догадаться,
что нужно для сборки продукта.
Прям искусственный интеллект какой-то. Это типа мне нужно только код написать, а оно остальное сделает?

Цитата Сообщение от hoggy Посмотреть сообщение
поддержка доксигена,
Он хоть раз помогал? Как по мне, так бесполезная штука.

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

Цитата Сообщение от hoggy Посмотреть сообщение
проблема в доступности самого буста.
А что с ним? В дистрибутивах давненько есть пакеты.

Цитата Сообщение от hoggy Посмотреть сообщение
многие его не любят.
в принципе.
Ну С++ тоже многие не любят...

Цитата Сообщение от hoggy Посмотреть сообщение
развернуть его из деплоя - это время.
например, на моем ноуте 1.57.0
для одной только студии vc12 ставился с раннего вечера и до обеда следующего дня.
а у меня вся эта затея - ради кросс-платформы.
это как минимум ещё mingw,
и gcc тулчейны
и все это в 32 и 64 версиях.
вот сейчас вышел новый буст,
я даже обновляться не хочу.
Это как-то странно. Я на двух работах обновлял буст и компилятор - несколько часов и никаких проблем.

Цитата Сообщение от hoggy Посмотреть сообщение
как думаете, что убедило комитет к сегодняшнему дню
перетащить в стандартную библиотеку уже львиную часть буста?
а то ведь могло и дальше в бусте валяццо.
проблем же нет никаких?
Так ты посмотри, что именно перетащили. Общеиспользуемые штуки, требования к которым у всех примерно одинаковые. Или ты думаешь, что ту же lock-free скоро перетащат?
0
Avazart
Эксперт С++
7233 / 5429 / 303
Регистрация: 10.12.2010
Сообщений: 24,124
Записей в блоге: 17
03.10.2015, 12:49 #58
Цитата Сообщение от ct0r Посмотреть сообщение
Он хоть раз помогал? Как по мне, так бесполезная штука.
А по мне очень полезная штука для документации.

Добавлено через 7 минут
Цитата Сообщение от hoggy Посмотреть сообщение
перетащить в стандартную библиотеку уже львиную часть буста?
Как по мне слишком поздно и слишком мало.
К примеру что мешало переташить алгоритмы для работы со строками типа обрезки строк trim() из boost ?
Как бы элементарная штука и при том нужная, а нет....
Тоже самое перекодирование строк, юникод ...

Добавлено через 1 минуту
Цитата Сообщение от hoggy Посмотреть сообщение
а хз.
я вообще себе смутно представляю что это, и нафига они нужны.
Ну я вот тоже в сомнения. Скорее всего подсунут какую-то вялую альтернативу include в духе предоткомпилированых заголовков и pragma once
0
ct0r
Игогошка!
1776 / 678 / 42
Регистрация: 19.08.2012
Сообщений: 1,295
Завершенные тесты: 1
03.10.2015, 12:52  [ТС] #59
Цитата Сообщение от Avazart Посмотреть сообщение
А по мне очень полезная штука для документации.
Много ли из этой документации почерпнешь? Удобней сам код читать. А документация должна быть написана подобно тому, как описано например в
https://leanpub.com/software-architecture-for-developers
или
http://www.amazon.com/Software-Archi.../dp/0321815734
0
Avazart
Эксперт С++
7233 / 5429 / 303
Регистрация: 10.12.2010
Сообщений: 24,124
Записей в блоге: 17
03.10.2015, 13:04 #60
Цитата Сообщение от ct0r Посмотреть сообщение
А что с ним? В дистрибутивах давненько есть пакеты.
В линухах? В винде нужно изобретать самому - т.е. если кроссплатформенно, то тоже самому.
В конечном итоге выходит нечто вроде онлайн инсталятора как для Qt, а значит большая морока для разработчика.

Добавлено через 1 минуту
Цитата Сообщение от ct0r Посмотреть сообщение
Много ли из этой документации почерпнешь? Удобней сам код читать. А документация должна быть написана подобно тому, как описано например в
https://leanpub.com/software-archite...for-developers
или
http://www.amazon.com/Software-Archi.../dp/0321815734
А где там доксиген? Левые какие-то ссылки....

Добавлено через 5 минут
ct0r, К примеру http://api.kde.org/4.x-api/kdeedu-ap...kerReader.html

Или другие примеры https://www.stack.nl/~dimitri/doxygen/results.html
0
03.10.2015, 13:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2015, 13:04
Привет! Вот еще темы с ответами:

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

Как заставить машину ждать перед очередным выполнением цикла? - 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); ...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Опции темы

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