Библиотеки наше все

mabrarov
mabrarov

Не совсем идея, конечно...

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

Не раздувайте стандартную библиотеку - это не нужно и идет вразрез с философией C++. Раздутая стандратная библиотека сужает область примнения (вспомните JavaSE и JavaME - не повторяйте то, что уже плохо зарекомендовало себя).

Просто дайте нам модули (и все остальное, что поможет в создании и распространении собранных библиотек). Помогите со становлением систем сборки и управления пакетами наподобие Maven (они не должны входить в стандарт, но желательно как-то поддержать создание стандартов de-facto). Я должен иметь возможность быстро подключить собранные (как мне нужно - static / shared и т.п.) библиотеки. Система управления зависимостями (наподобие Maven) должна уметь выбрать правильную версию (с учетом транзитивных зависимостей), найти нужные бинари в сети, скачать и подключить их к проекту.

Я пишу на C++ и моя головная боль не std::string, не поддерживающий итерацию по UTF-8 codepoints (стандарт Unicode может меняться с годами - спросите у Java), а невозмоность подключить ICU без вечера, проведенного в попытках собрать static ICU + static C/C++ runtime под Windows. Удобная работа с (уже собранными - pre-built) бибиотеками решит вопрос недостаточной функциональности стандартной библиотеки и позволит быстро набирать в проект только то, что нужно, оставляя за бортом то, что недоступно для конкретной целевой платформы (IoT, например).

21
рейтинг
5 комментариев
willir29
Вообще хорошая идея. Может вместо того чтобы писать кучу пропозелов, мы соберёмся и докодим conan.io до приличного состояния?
willir29
chizhanov@doxycraft.com
Полностью согласен с автором. Хватит усложнять синтаксис. Когда появились шаблоны я был рад что появился отличный инструмент который сильно облегчит разработку. Но я же не думал что его станут использовать везде где не попадя что не облегчает, а усложняет. Усложняет чтение кода. Усложняет отладку. Усложняет апдейты. Я ожидал что с появлением шаблонов можно будет 100 строк заменить 5-10. Но в итоге получилось что 100 строк обычного кода, заменяются 100ей строк кода на шаблонах.
chizhanov@doxycraft.com
maksimus1210
Очень нравятся библотеки в языке Java, они обеспечивают высокую продуктивность работы, просты, лаконичны и довольно мощные. Идею этих библиотек подхватили разработчики Qt, что благотворно сказалось на продуктивности разработки приложений на С++ и их производительности. Библиотеки STL и Boost довольно сложны и к ним нужно привыкать, проще говоря очевидные вещи там не очевидны, например, если я хочу обратиться к i-тому элементу линейного списка, то в Qt я пишу так: m_list.at(i), что бы повторить тоже самое с STL я пишу :
list<int>::iterator it = iii.begin();
std::advance(it, 3);
int a = *it;
Как видно, очевидное не очевидно. Надеюсь я понятно описал идею.
maksimus1210
yndx-antoshkka
maksimus1210, QList<int> это не std::list<int>, это std::vector<int>. У std::vector<int> есть at(i).
yndx-antoshkka
Михаил Максимов
Новый синтаксис языка, упрощает работу программистов: for_each, structured bindings, built-in threads, filesystem. Система сборки и управления пакетами - это отличная идея, которая не имеет отношения к стандарту языка и развитие языка не должно зависеть или быть остановлено разработкой менеджера пакетов.
Михаил Максимов
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).