Здравствуйте, byleas, Вы писали:
B>Subj тут (N2893).
B>Рассуждения Martin Tasker о состоянии нового Стандарта, в частности, о концептах (краеугольный камень С++0х).
E>There are unconfirmed reports that this morning, the C++0x standards
E>group in Frankfurt voted to kill Concepts.
Туда им и дорога. Что это за фича, елы палы, для понимания которой мне пришлось проштудировать её три раза? Concept maps, auto concepts, idiotic axioms — insanity! Не могли простую версию concept'ов придумать. А теперь вообще никакой версии не будет.
Здравствуйте, alexeiz, Вы писали:
A>Туда им и дорога. Что это за фича, елы палы, для понимания которой мне пришлось проштудировать её три раза?
Действительно, безобразие!
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, byleas, Вы писали:
B>>Subj тут (N2893).
B>>Рассуждения Martin Tasker о состоянии нового Стандарта, в частности, о концептах (краеугольный камень С++0х).
E>Свежие, но очень неприятные слухи от Вальтера Брайта: E>
E>There are unconfirmed reports that this morning, the C++0x standards
E>group in Frankfurt voted to kill Concepts.
какая-то кривая новость... в основном списке сообщений ее нету...
внутрь не зайти, отправляет на какие-то сообщения от 2005 года...
E>>There are unconfirmed reports that this morning, the C++0x standards
E>>group in Frankfurt voted to kill Concepts.
J>какая-то кривая новость... в основном списке сообщений ее нету... J>внутрь не зайти, отправляет на какие-то сообщения от 2005 года...
Это новость из news-группы digitalmars.D.announce. Web-морда к ней на сайте digitalmars действительно кривая.
Попробуй на страничке с этой новостью выбрать Back To Message List, затем выбрать группу digitalmars.D.announce -- там она должна быть в общем списке.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
B>>Рассуждения Martin Tasker о состоянии нового Стандарта, в частности, о концептах (краеугольный камень С++0х). E>Свежие, но очень неприятные слухи от Вальтера Брайта: E>
E>There are unconfirmed reports that this morning, the C++0x standards
E>group in Frankfurt voted to kill Concepts.
Честно говоря, из всего С++ 0x эту фичу мне меньше всего жаль. Уж слишком много сложности добавляется с ней.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, eao197, Вы писали:
B>>>Рассуждения Martin Tasker о состоянии нового Стандарта, в частности, о концептах (краеугольный камень С++0х). E>>Свежие, но очень неприятные слухи от Вальтера Брайта: E>>
E>>There are unconfirmed reports that this morning, the C++0x standards
E>>group in Frankfurt voted to kill Concepts.
C>Честно говоря, из всего С++ 0x эту фичу мне меньше всего жаль.
А мне больше всего.
C>Уж слишком много сложности добавляется с ней.
Здравствуйте, Cyberax, Вы писали:
C>Честно говоря, из всего С++ 0x эту фичу мне меньше всего жаль. Уж слишком много сложности добавляется с ней.
Я вот тоже, сколько слышу о этой фиче, не пойму чего в ней такого особенного. Видимо, это из-за пробелов в знаниях. Где можно почитать про усопшего (желательно, на русском)?
Здравствуйте, Шахтер, Вы писали:
Ш>Здравствуйте, Cyberax, Вы писали:
C>>Уж слишком много сложности добавляется с ней.
Ш>Какие?
Как насчёт того, что только на описание этой фичи в стандарте ушло 40 страниц. Это больше чем любая другая отдельная фича. Например, exception handling влезает в 10 страниц.
Да таких провокаторов вообще стрелять нужно! Сначала подсадил весь мир на иглу "Modern C++", а сам слинял к таким же велосипедостроителям в Dолгострой.
bearophile wrote: > C++0x Concepts are too much complex for the advantages they offer.
> Can't they replace Concepts with something similer like D constraints?
D (constraints) + (static if) + (pragma msg) can do everything that
Concepts do but one thing — checking of the template body against the
constraint. My opinion is the latter is of low importance.
Anyhow, Andrei suggested this a while back to them and was ignored.
Уж не обиделся ли Александреску на C++ коммитет?
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Went, Вы писали:
W>Здравствуйте, Cyberax, Вы писали:
C>>Честно говоря, из всего С++ 0x эту фичу мне меньше всего жаль. Уж слишком много сложности добавляется с ней.
W>Я вот тоже, сколько слышу о этой фиче, не пойму чего в ней такого особенного. Видимо, это из-за пробелов в знаниях. Где можно почитать про усопшего (желательно, на русском)?
насколько я понял, это аналог статической типизации для темплейтов. чтобы не обнаруживалось только при раскрытии темплейта что там оказывается, скажем, операция == нужна. раскрытие темплейтов в C++ сейчас фактически использует duck typing
Здравствуйте, jazzer, Вы писали:
E>>Уж не обиделся ли Александреску на C++ коммитет?
J>Ну он еще раньше обиделся, когда его boost::shared_ptr предпочли его policy-based smart pointers. J>Там был очень большой флейм по этому поводу.
Ну все, загнобили парня.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, BulatZiganshin, Вы писали:
BZ>насколько я понял, это аналог статической типизации для темплейтов. чтобы не обнаруживалось только при раскрытии темплейта что там оказывается, скажем, операция == нужна. раскрытие темплейтов в C++ сейчас фактически использует duck typing
Мне в C++ных шаблонах именно это и нравится (по сравнению, хотя бы с Java-вскими дженериками).
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, BulatZiganshin, Вы писали:
BZ>>насколько я понял, это аналог статической типизации для темплейтов. чтобы не обнаруживалось только при раскрытии темплейта что там оказывается, скажем, операция == нужна. раскрытие темплейтов в C++ сейчас фактически использует duck typing
E>Мне в C++ных шаблонах именно это и нравится (по сравнению, хотя бы с Java-вскими дженериками).
Одно другому не мешает.
Там, где имеет смысл констрейнтов насовать, их лучше насовать.
Все-таки, если посмотреть непредвзято на свой шаблонный код, то окажется, что истинно шаблонных функций (которым пофиг что за тип) раз-два и обчелся, обычно это всякие перепасовки и метафункции.
А вот нормальные шаблонные классы и функции, которые делают реальную работу, предполагают, что тип, которым их параметризуют, реализует какую-то концепцию, скажем, итератор, или диапазон, или контейнер, и т.д.
И вот для них имеет смысл концепции и юзать, чтоб не получать потом доставшие всех многокилометровые листинги про ошибки.
А те типы, которые концепции формально не удовлетворяют, но концептуально под концепцию (сорри за каламбур) подходят, можно "оконцептить" при помощи concept_map.