LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

Почему дерьмо-то? Как минимум для самообразования норм, поглядеть паттерны. Мне вроде ок.

Да там всё странное. В целом моя главная претензия это переизбыток шаблонов. Что приводит к огромным простыням сообщений об ошибках, долгой компиляции. Меня в целом стандартная библиотека C++ раздражает. Те же IO streams это прям умудриться надо было придумать - оператор битового сдвига для ввода-вывода. Какой в этом смысл? Никакого. Ноль смысла. Адски тормозной IO получился, ко всему прочему. Простой и понятный printf("%.2f\n", f) превращается в cout << fixed << setprecision(2) << f << endl. У проектировавшего это нет никакого эстетического вкуса. Даже что-то вроде stdout.float(f, 2).nl() было бы удобней, а я это просто родил из головы на месте.

К примеру в Rust стандартные коллекции куда удобней в использовании. Функциональный API для коллекций это стандарт-де факто в современных языках и STL на этом фоне выглядит неприглядно. Вроде в последних стандартах стало получше, но ядро STL никуда не делось.

ETL дает всякие строки-векторы-очереди с ограничением размера и без хипа (с фиксированным буфером под капотом), это критично для эмбедов. Лучше доку глядеть, я не великий мастер объяснять такие вещи.

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

Исправление vbr, :

Почему дерьмо-то? Как минимум для самообразования норм, поглядеть паттерны. Мне вроде ок.

Да там всё странное. В целом моя главная претензия это переизбыток шаблонов. Что приводит к огромным простыням сообщений об ошибках, долгой компиляции. Меня в целом стандартная библиотека C++ раздражает. Те же IO streams это прям умудриться надо было придумать - оператор битового сдвига для ввода-вывода. Какой в этом смысл? Никакого. Ноль смысла. Адски тормозной IO получился, ко всему прочему. Простой и понятный printf("%.2f\n", f) превращается в cout << fixed << setprecision(2) << f << endl. У проектировавшего это нет никакого эстетического вкуса.

К примеру в Rust стандартные коллекции куда удобней в использовании. Функциональный API для коллекций это стандарт-де факто в современных языках и STL на этом фоне выглядит неприглядно. Вроде в последних стандартах стало получше, но ядро STL никуда не делось.

ETL дает всякие строки-векторы-очереди с ограничением размера и без хипа (с фиксированным буфером под капотом), это критично для эмбедов. Лучше доку глядеть, я не великий мастер объяснять такие вещи.

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

Исходная версия vbr, :

Почему дерьмо-то? Как минимум для самообразования норм, поглядеть паттерны. Мне вроде ок.

Да там всё странное. В целом моя главная претензия это переизбыток шаблонов. Что приводит к огромным простыням сообщений об ошибках, долгой компиляции. Меня в целом стандартная библиотека C++ раздражает. Те же IO streams это прям умудриться надо было придумать - оператор битового сдвига для ввода-вывода. Какой в этом смысл? Никакого. Ноль смысла. Адски тормозной IO получился, ко всему прочему. Простой и понятный printf("%.2f\n, f) превращается в cout << fixed << setprecision(2) << f << endl. У проектировавшего это нет никакого эстетического вкуса.

К примеру в Rust стандартные коллекции куда удобней в использовании. Функциональный API для коллекций это стандарт-де факто в современных языках и STL на этом фоне выглядит неприглядно. Вроде в последних стандартах стало получше, но ядро STL никуда не делось.

ETL дает всякие строки-векторы-очереди с ограничением размера и без хипа (с фиксированным буфером под капотом), это критично для эмбедов. Лучше доку глядеть, я не великий мастер объяснять такие вещи.

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