Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/67: Рейтинг темы: голосов - 67, средняя оценка - 4.73
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
1

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

30.04.2015, 10:51. Показов 12497. Ответов 140

Author24 — интернет-сервис помощи студентам
https://isocpp.org/files/papers/D4492.pdf

Как думаете, в правильном ли направлении идет развитие? Что вы хотите видеть в С++17? Какую фичу ждете больше всего?
4
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2015, 10:51
Ответы с готовыми решениями:

С чего начинаем
Давайте прикинем, с чего начать оптимизацию, не сильно портить при этом белый сайт всяким гавном)...

Начинаем рисовать
Привет всем. Вот простой код: ... gd:=VGA;gm:=VGAhi; InitGraph(gd,gm,'');...

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

Начинаем изучать JAVA
В этом паке лежат лекции и задания к ним. В лекциях все довольно просто. Часть материала взята из...

140
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
01.10.2015, 19:10 41
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от zenden2k Посмотреть сообщение
Вот это очень жду. Этот кошмар с инклудами должен когда-то закончиться.
Цитата Сообщение от Убежденный Посмотреть сообщение
Но больше всего, пожалуй, жду модулей. Надеюсь, что заголовки, раздельная
компиляция и мрак с .h/.lib/.obj, а также препроцессинг/метапроцессинг
навсегда уйдут в прошлое и будет у нас быстрая компиляция и минимум
головной боли, с этими вещами связанной.
Мечты сбываются.
2
46 / 31 / 12
Регистрация: 21.04.2015
Сообщений: 82
01.10.2015, 19:49 42
gru74ik, здорово, но непонятно, что будет с шаблонами в модулях.
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
01.10.2015, 21:10 43
Цитата Сообщение от zenden2k Посмотреть сообщение
но непонятно, что будет с шаблонами в модулях.
Как я понял, шаблоны как были в заголовках, так и останутся. В модулях можно будет шаблонить, только прописав инстанциированые реализации, а это мало кому понравится.

Не по теме:

Запасаемся попкорном и следим за очередной интригой. Появится четвертый крупный клан "Приплюснутых" из идеологических Явовцев и Хэшевцев, или модули поглотятся третьим кланом - любителями визуальных сред? После введения альфа-функций отдельного клана функциональщиков не образовалось, а ниша была поглощена вторым кланом - Страусятами, любителями stl и boost.

0
Avazart
01.10.2015, 22:33
  #44

Не по теме:

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

0
gng
01.10.2015, 22:59
  #45

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
А они та при чем тут?
Я имел в виду фреймворковцев, тобиш КуТешников, Билдеровцев и т.д. Думается, что модули им как раз к месту будут.

0
volvo
01.10.2015, 23:03
  #46

Не по теме:

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

0
gng
01.10.2015, 23:08
  #47

Не по теме:

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

0
Avazart
01.10.2015, 23:12
  #48

Не по теме:

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

0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
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
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
02.10.2015, 20:16 51
Цитата Сообщение от ct0r Посмотреть сообщение
Для этого есть много либ, причем очень специализированных. Зачем брать в стандарт некую компромиссную, которая удовлетворяет всех, но на очень среднем уровне?
потому что уж очень востребованно.
что провоцирует дополнительные зависимости от сторонних библиотек.
со сборкой которых по итогу придется долбаться клиентам вашей библиотеки.

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

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

с юникодом примерно аналогичная ситуация,
хотя и не так все запущенно.
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
02.10.2015, 21:35  [ТС] 52
hoggy, совсем не убедил. Никаких проблем не вижу.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
02.10.2015, 22:33 53
Цитата Сообщение от hoggy Посмотреть сообщение
вынуждать клиентов поиметь зависимость от boost,
Детсад.
0
Респект C++
23 / 33 / 14
Регистрация: 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
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.10.2015, 23:13 55
Цитата Сообщение от ct0r Посмотреть сообщение
hoggy, совсем не убедил. Никаких проблем не вижу.
Ну собирать весь буст только ради ... или речь шла о разделяемых библиотеках?
hoggy, Только я не понимаю как модули тут помогут?

Добавлено через 3 минуты
Цитата Сообщение от FCommander Посмотреть сообщение
Ну а в C++(простите за фантазию) бы могло выглятеть типа:
Че?
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
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
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
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
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.10.2015, 12:49 58
Цитата Сообщение от ct0r Посмотреть сообщение
Он хоть раз помогал? Как по мне, так бесполезная штука.
А по мне очень полезная штука для документации.

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

Добавлено через 1 минуту
Цитата Сообщение от hoggy Посмотреть сообщение
а хз.
я вообще себе смутно представляю что это, и нафига они нужны.
Ну я вот тоже в сомнения. Скорее всего подсунут какую-то вялую альтернативу include в духе предоткомпилированых заголовков и pragma once
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
03.10.2015, 12:52  [ТС] 59
Цитата Сообщение от Avazart Посмотреть сообщение
А по мне очень полезная штука для документации.
Много ли из этой документации почерпнешь? Удобней сам код читать. А документация должна быть написана подобно тому, как описано например в
https://leanpub.com/software-a... developers
или
http://www.amazon.com/Software... 0321815734
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.10.2015, 13:04 60
Цитата Сообщение от ct0r Посмотреть сообщение
А что с ним? В дистрибутивах давненько есть пакеты.
В линухах? В винде нужно изобретать самому - т.е. если кроссплатформенно, то тоже самому.
В конечном итоге выходит нечто вроде онлайн инсталятора как для Qt, а значит большая морока для разработчика.

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

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

Или другие примеры https://www.stack.nl/~dimitri/doxygen/results.html
0
03.10.2015, 13:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2015, 13:04
Помогаю со студенческими работами здесь

OSI , TCP/IP с чего начинаем?
подскажите литературу по OSI , TCP/IP с чего начинаем?

Начинаем изучать Hibernate, Struts и Spring
Цель: изучить Hibernate, Struts и Spring. Вопросы: Какие знания необходимы/желательны для...

Поставили GF5200.Начинаем подключать привод-все виснет.
Ребят,тут у меня вопрос,помогите если кто знает.У системника не было привода и видюхи.Был...

Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3.
Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3. Какой язык для...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru