Re[11]: Концептов не будет?
От: FR  
Дата: 16.07.09 02:47
Оценка:
Здравствуйте, Cyberax, Вы писали:

A>>3 фронтэнда: VC, GCC, EDG

C>Ещё растёт clang, так что 4 штуки скоро будет. И Borland чего-то тоже ещё шевелится.

Ну тогда и автор D со своим Digitalmars C++ тоже шевелится, да и Open Watcom тоже
Re[12]: Концептов не будет?
От: FR  
Дата: 16.07.09 02:48
Оценка: +1
Здравствуйте, alexeiz, Вы писали:

A>Ах да, clang. Но мы-то знаем, кто его пишет: Douglas Gregor, который добавил консепты в GCC (ConceptGCC). А борланд уже скорее мертв, чем жив.


В последней версии они очень прилично подтянули компилятор.
Re[7]: Концептов не будет?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 16.07.09 05:29
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>>>насколько я понял, это аналог статической типизации для темплейтов. чтобы не обнаруживалось только при раскрытии темплейта что там оказывается, скажем, операция == нужна. раскрытие темплейтов в C++ сейчас фактически использует duck typing


E>>Мне в C++ных шаблонах именно это и нравится (по сравнению, хотя бы с Java-вскими дженериками).


BZ>чем больше проект, тем больше бенефитов от static typing.


Не вижу проблем у C++ных шаблонов со статической типизацией
И говорил я вот о каких случаях: в C++ есть метод list<T>::sort(), который требует наличия у типа T operator<(). Но, если я этот метод не вызываю, то в list я могу хранить даже те типы, для которых operator<() не определен. И это удобно.
Что до статической типизации, то как только я попробую вызвать для своего list<T> метод sort(), как компилятор тут же скажет, что у меня нет operator<(). И это не зависит от размера проекта.

BZ>мой идеал — язык со строгой типизацией и типом Dynamic — последнее *иногда* действительно необходимо


Как, ты уже разочаровася в Haskell?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[8]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 06:18
Оценка:
Здравствуйте, eao197, Вы писали:

E>Не вижу проблем у C++ных шаблонов со статической типизацией

E>И говорил я вот о каких случаях: в C++ есть метод list<T>::sort(), который требует наличия у типа T operator<(). Но, если я этот метод не вызываю, то в list я могу хранить даже те типы, для которых operator<() не определен. И это удобно.
E>Что до статической типизации, то как только я попробую вызвать для своего list<T> метод sort(), как компилятор тут же скажет, что у меня нет operator<(). И это не зависит от размера проекта.

И как это противоречит концепциям?
Если ты посмотришь в нынешний стандарт, там концепции прописаны, просто они прописаны на словах и не проверяются компилятором.
И для списка там нет требования Sortable, это требование появляется только в самом list<T>::sort().

Стало быть, с концепциями список будет требовать, чтоб тип удовлетворял концепции CopyConstructible & Assignable, а list<T>::sort() — Sortable.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[9]: Концептов не будет?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 16.07.09 06:22
Оценка:
Здравствуйте, jazzer, Вы писали:

J>И как это противоречит концепциям?


А ты видел где-нибудь здесь мои претензии к концептам?
Я всего лишь объясняю Булату, почему C++ные шаблоны мне нравятся больше, чем Java-вские дженерики. И что я не вижу при этом в C++ных шаблонах проблем со статической типизацией.

Будут в C++ концепты, я их изучу и, возможно, временами буду использовать.
Не будет -- не буду.

Концепы в данной теме меня интересуют лишь с точки зрения скорости принятия и ратификации C++0x. Если без них C++0x будет принят на несколько лет раньше, чем с ними, то пусть он будет принят раньше.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[10]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 06:26
Оценка:
Здравствуйте, eao197, Вы писали:

E>Я всего лишь объясняю Булату, почему C++ные шаблоны мне нравятся больше, чем Java-вские дженерики. И что я не вижу при этом в C++ных шаблонах проблем со статической типизацией.


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

E>Концепы в данной теме меня интересуют лишь с точки зрения скорости принятия и ратификации C++0x. Если без них C++0x будет принят на несколько лет раньше, чем с ними, то пусть он будет принят раньше.

+1
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[11]: Концептов не будет?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 16.07.09 06:35
Оценка:
Здравствуйте, jazzer, Вы писали:

E>>Я всего лишь объясняю Булату, почему C++ные шаблоны мне нравятся больше, чем Java-вские дженерики. И что я не вижу при этом в C++ных шаблонах проблем со статической типизацией.


J>Проблемы лишь в километровых нечитабельных листингах об ошибках, больше проблем нет.


А, теперь понял.
Мне проще, а шаблонную магию не очень часто использую, поэтому и сообщения об ошибках получаются всего лишь полукилометровыми


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[9]: Концептов не будет?
От: Кодт Россия  
Дата: 16.07.09 07:07
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Так потому и вышло, что концепт-мапа для встроенных массивов нету.

Сбоил он не на массиве как таковом, а на элементах массива.
Которые специально оказались ни CopyConstructible, ни Assignable (я там ниже тестировал разные способы сломать эти модели — абстрактный класс, закрытый конструктор).
Перекуём баги на фичи!
Re[10]: Концептов не будет?
От: CreatorCray  
Дата: 16.07.09 07:36
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>3 фронтэнда: VC, GCC, EDG

ICC?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: Концептов не будет?
От: alexeiz  
Дата: 16.07.09 07:41
Оценка: 2 (1)
Здравствуйте, CreatorCray, Вы писали:

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


A>>3 фронтэнда: VC, GCC, EDG

CC>ICC?

Он использует EDG front-end.
Re[10]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 08:31
Оценка:
Здравствуйте, Кодт, Вы писали:

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


J>>Так потому и вышло, что концепт-мапа для встроенных массивов нету.

К>Сбоил он не на массиве как таковом, а на элементах массива.
К>Которые специально оказались ни CopyConstructible, ни Assignable (я там ниже тестировал разные способы сломать эти модели — абстрактный класс, закрытый конструктор).
ну так там элементы массива же как раз массивы, нет?
или я не помню просто, лень лезть читать по-новой
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[12]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 08:33
Оценка:
Здравствуйте, eao197, Вы писали:

J>>Проблемы лишь в километровых нечитабельных листингах об ошибках, больше проблем нет.


E>А, теперь понял.

E>Мне проще, а шаблонную магию не очень часто использую, поэтому и сообщения об ошибках получаются всего лишь полукилометровыми

Зато ее используют даже при реализации STL, так что не дай бог чего не того засунешь — и приехали, "Война и мир" со всеми потрохами
Одни фильтры и спасают.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[11]: Концептов не будет?
От: Кодт Россия  
Дата: 16.07.09 10:05
Оценка:
Здравствуйте, jazzer, Вы писали:

J>ну так там элементы массива же как раз массивы, нет?


Не только. Массив — это лишь частный случай.

J>или я не помню просто, лень лезть читать по-новой


http://rsdn.ru/forum/cpp/3454837.aspx
Автор: Кодт
Дата: 03.07.09
... << RSDN@Home 1.2.0 alpha 4 rev. 1207>>
Перекуём баги на фичи!
Re[12]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 10:08
Оценка:
Здравствуйте, Кодт, Вы писали:

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


J>>ну так там элементы массива же как раз массивы, нет?


К>Не только. Массив — это лишь частный случай.

меня ограничения встроенных массивов вообще бесят.
Хорошо, что boost::array на свете есть.

J>>или я не помню просто, лень лезть читать по-новой


К>http://rsdn.ru/forum/cpp/3454837.aspx
Автор: Кодт
Дата: 03.07.09


А, ну так там баг просто.
Зарапортовались.
Надо им написать, нехай фиксят.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[13]: Концептов не будет?
От: Кодт Россия  
Дата: 16.07.09 11:28
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Надо им написать, нехай фиксят.


Так я тогда сразу и написал. Ни ответу, ни привету. И не пофиксили ещё.
... << RSDN@Home 1.2.0 alpha 4 rev. 1207>>
Перекуём баги на фичи!
Re[11]: Концептов не будет?
От: gear nuke  
Дата: 16.07.09 12:38
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Проблемы лишь в километровых нечитабельных листингах об ошибках, больше проблем нет.


static_assert не поможет?
.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[12]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 15:33
Оценка:
Здравствуйте, gear nuke, Вы писали:

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


J>>Проблемы лишь в километровых нечитабельных листингах об ошибках, больше проблем нет.


GN>static_assert не поможет?


не поможет.
откуда берутся километры?
когда у тебя есть много-много шаблонов, и они друг друга инстанцируют.
И отваливается проверка в самом последнем в цепочке.
А ты получаешь листинг про ошибку по всей цепочке.

Так что если ты хочешь, чтоб у тебя сообщения об ошибках были короткими, тебе нужно один и тот же ассерт всунуть в каждый шаблон в цепочке — тогда, где бы ты ни вклинился, ты тут же получишь ошибку без лешних инстанцирований.
хотя, кстати, тоже — статик-ассерт, если он не совсем примитивный, сам по себе являеся цепочкой, так что полотенце ты все же получишь, просто оно в другую сторону тебя уведет
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[13]: Концептов не будет?
От: gear nuke  
Дата: 16.07.09 15:57
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Так что если ты хочешь, чтоб у тебя сообщения об ошибках были короткими, тебе нужно один и тот же ассерт всунуть в каждый шаблон в цепочке — тогда, где бы ты ни вклинился, ты тут же получишь ошибку без лешних инстанцирований.


Понятно, что повсеместно его втыкать не всегда удобно, но это и не обязательно — в 2-3х соообщениях можно сориентироваться (в качестве полумеры).

J>хотя, кстати, тоже — статик-ассерт, если он не совсем примитивный, сам по себе являеся цепочкой, так что полотенце ты все же получишь, просто оно в другую сторону тебя уведет


Ну с его реализацией в компиляторе проблем нет.
.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[11]: Концептов не будет?
От: Rakafon Украина http://rakafon.blogspot.com/
Дата: 18.08.09 23:59
Оценка:
Здравствуйте, jazzer, Вы писали:
J>Проблемы лишь в километровых нечитабельных листингах об ошибках, больше проблем нет.
J>Да и те до определенной степени решаются всякими хитрыми скриптами, через которые я прогоняю ругань компилятора.

jazzer, а можно поподробнее насчёт всяких хитрых скриптов?
"Дайте мне возможность выпускать и контролировать деньги в государстве и – мне нет дела до того, кто пишет его законы." (c) Мейер Ансельм Ротшильд , банкир.
Re[13]: Концептов не будет?
От: Lorenzo_LAMAS  
Дата: 19.08.09 06:31
Оценка:
Здравствуйте, FR, Вы писали:

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


A>>Ах да, clang. Но мы-то знаем, кто его пишет: Douglas Gregor, который добавил консепты в GCC (ConceptGCC). А борланд уже скорее мертв, чем жив.


FR>В последней версии они очень прилично подтянули компилятор.


Так у них не фронт-энд ли EDG? Лет 5-7 назад еще видел их техникал превью и там использовался EDG.
Of course, the code must be complete enough to compile and link.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.