Re[23]: Они сделали дерьмо опять
От: Kluev  
Дата: 19.06.20 09:48
Оценка: 2 (1) +1 -1
Здравствуйте, so5team, Вы писали:

S>Здравствуйте, Kluev, Вы писали:


K>>Например iostream. По словам Страуструпа была написанная кем-то на спор.


S>Цитату бы.


Это было в книге Страуструпа "язык С++" или "дизайн и эволюция С++" точно не помню. Со слов Старуструпа, один персонаж утверждал, что средствами языка нельзя сделать нормальную библиотеку ввода вывода. В общем-то он прав т.к. для нормальной библиотеки ввода вывода в языке должна быть рефлексия. В ответ на этот вызов была написана библиотека iostream. Непродуманная студенческая поделка ограниченной функциональности. Я помню еще студентом пытался воспользоваться этим изделием для организации ввода вывода,
когда понял, что библиотека для ввода-вывода полностью не работоспособна:

    std::string s = "Hello World!";
    std::stringstream ss;
    ss << s; // поехали
    ss >> s; // приехали


как и любой здравомыслящий человек решил от поделий этого цирка шапито держатся подальше. Причем std::quoted было добавлено только в с++14, и около 20 лет программисты мучились, наступали на грабли, а сектанты все это время кричали нинужно.

K>>Или stl. Минуя продакшн сразу в стандарт.


S>Если вы не в курсе, то STL допиливался до состояния, в котором его приняли в стандарт, несколько лет. И в 1996-1997-ом годах свободные реализации STL (вроде бы от RogueWare) уже активно использовались в продакшене.


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

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


S>>>Попробуйте выразить std::chrono::milliseconds через префиксы. Или std::chrono::steady_clock::time_point. А так же попробуйте придумать на префиксах адекватную замену для, например, using namespace std::chrono_literals.


K>>Да в легкую. Например std_chrono_milliseconds.


S>Вы в очередной раз несете бред.

Нет вы. Смотрите сами. Простой пример:

//1
class storage
{
    class blob
    {
    };
};

//2
namespace storage
{
    class storage;
    class blob;
}

//3
class storage;
class storage_blob;


Из всех видов описаний только описание через вложенный класс storage::blob самое нормальное и естественное, гораздо лучше чем пространство имен storage::storage+storage::blob и лучше формы storage_blob. Но для вложенного класса нет опережающего описания и его потребуется всегда включать через #include. Т.е. чтобы в данном случае программист не написал это будет говнокодом. Написать нормально язык не позволит


K>>Что касается литералов, то это фантастически бесполезная лабуда.


S>Очередной бред.


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

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