Здравствуйте, Kluev, Вы писали:
K>Вы не привыкли джентльменам верить на слово?
Нет. Тем более, что здесь нет джентельменов.
K>C's printf family of functions is an effective and often convenient I/O mechanism.
K>It is not, however, type-safe or extensible to user-defined types (classes and enumera-
K>tions). Consequently, I started looking for a type-safe, terse, extensible, and efficient
K>alternative to the printf family. Part of the inspiration came from the last page and
K>a half of the Ada Rationale [Ichbiah,1979], which argues that you cannot have a terse
K>and type-safe I/O library without special language features to support it. I took that as
K>a challenge. The result was the stream I/O library that was first implemented in 1984
K>and presented
Все это сильно отличается от вашей интерпретации "По словам Страуструпа была написанная кем-то на спор." Потому что "я воспринял это как вызов" и "я сделал это наспор" сильно различаются по смыслу.
K>Самой важной причиной является то, что stl криво спроектированная библиотека. В ней плохо практически все. Даже индекс и размер контейнера и тот умудрилось сделать unsigned создав программистам кучу проблем на ровном месте. Наличие совершенно бесполезных надуманных вещей таких как valarray выдает в ней академическую разработку, написанную для диссера или научной статьи. В качестве стандартной библиотеки языка эта экспериментальная разработка категорически не годится.
Можно предположить, что вы считаете свое мнение непогрешимым и единственно правильным.
Но это не так. И авторы STL не единственные люди, которые считают, что размеры и индексы должны быть беззнаковыми.
K>Знаете есть вещи хорошо сделанные, которыми приятно пользоватся и писать собственный велосипед желания не возникнет. stl напротив образчик плохого дизайна и анти-эстетики.
Например? Неужели Qt?
K>И по вашему в том числе. Нотацию с префиксами вы сами забраковали постами выше,
Нотация с префиксами -- это негибко и немасштабируемо. Тут даже нет места для моего субъективизма.
K>ну а класс storage в пространстве имен storage и комментариев не требует.
Речь не про storage в пространстве storage. Речь про взаимоотношения storage и blob. Но для человека с такой непогрешимой верой в собственное мнение, может быть и непонятно.
K>>>Но для вложенного класса нет опережающего описания и его потребуется всегда включать через #include.
S>>Э... Простите, а как же тогда классический pimpl работает?
S>>S>>class A {
S>> struct impl;
S>> std::unique_ptr<impl> impl_;
S>>private:
S>> ~A();
S>> ...
S>>};
S>>
S>>Вы либо с матчастью разберитесь. Либо дайте себе труд излагать свои мысли так, чтобы их понять можно было.
K>Мне трудно говорить с человеком который не понимает термин "опережающее описание (forward declaration)".
Пипец. А вот это что в примере, который вы, очевидно, не поняли:
class A {
struct impl;
std::unique_ptr<impl> impl_;
K>K>struct Storage;
K>void foo(Stroage *stg);
K>
Где здесь использование?
K>С вложенным классом Storage::Blob такой номер не пройдет т.к. в языке С++ нет механизма опережающих описаний. Это баг уровня языка который нужно исправлять. Как бы вы тут не распинались, что это и не нужно.
K>K>struct Storage::Blob;
K>void foo(Storage::Blob *blob);
K>
Так может вы наконец-то разродитесь примером того, где это реальная проблема?
K>То с какой скоростью и как комитет проектирует этот язык напоминает издевательство. Было бы честнее либо заморозить С++ в актуальной версии и начать новый С++2.0 несовместимый со старым как это сделали в питоне, либо совсем отказаться от разработки языка объявив его deprecated. С моей точки зрения существующий труп смысла насиловать уже не имеет.
Ну так сделайте. Кто вам мешает?
C++ развивается силами добровольцев. Если есть идеи вы можете продвинуть их в C++.
Но есть ощущение, что дальше самовлюбленного высказывания собственного бреда на RSDN, вы дальше пройти не сможете. В принципе.
K>Эти литералы сделаны в угоду нескольким фрикам, которым не терпелось добавить в stl константы типа в минуте 60 секунд.
Значит этих фриков, как минимум, на одного больше.
K>Попбробуйте завести литерал Н/м^2 и не говорите что нинужно. Секунды завезли, а чем паскали хуже?
Ну заведите. Кто вам запрещает?