Re[7]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 15.07.09 14:11
Оценка:
Здравствуйте, eao197, Вы писали:

E>Ну все, загнобили парня.


ну.

он там еще страшно обижается, что его приоритеты плохо в бусте упоминают.
Типа упоминают scope_exit из D, но не упоминают, что именно он — автор этой фичи (хотя сама фича известна тыщу лет, даже в перле, например, есть маленький модуль на этот счет.)
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[7]: Концептов не будет?
От: Went  
Дата: 15.07.09 14:23
Оценка:
Здравствуйте, jazzer.

А могли ли концепты давать возможность специализировать, например, функции по типу принимаемого значения? Например, у меня у класса есть 2 шаблона конструктора: для объектов, у которых есть функция foo(), и у которых ее нет. Такая возможность планировалась?
Re[8]: Концептов не будет?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 15.07.09 14:25
Оценка:
Здравствуйте, jazzer, Вы писали:

J>он там еще страшно обижается, что его приоритеты плохо в бусте упоминают.

J>Типа упоминают scope_exit из D, но не упоминают, что именно он — автор этой фичи (хотя сама фича известна тыщу лет, даже в перле, например, есть маленький модуль на этот счет.)

Да, где-то в дебрях digitalmars.D.announce подобные обиды проскакивали. У каждого есть свои маленькие недостатки...


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

W>Здравствуйте, jazzer.


W>А могли ли концепты давать возможность специализировать, например, функции по типу принимаемого значения? Например, у меня у класса есть 2 шаблона конструктора: для объектов, у которых есть функция foo(), и у которых ее нет. Такая возможность планировалась?


Да, ты в концепции указываешь сигнатуры функций, которые должны быть у типа.
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]: Концептов не будет?
От: Went  
Дата: 15.07.09 15:20
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Да, ты в концепции указываешь сигнатуры функций, которые должны быть у типа.


То есть можно было бы перегрузить шаблон функции по концепту принимаемого значения? Тогда да, такая фича была бы весьма полезна.
Re[5]: Концептов не будет?
От: Шахтер Интернет  
Дата: 15.07.09 19:04
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>Здравствуйте, Шахтер, Вы писали:


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


C>>>Уж слишком много сложности добавляется с ней.


Ш>>Какие?


A>Как насчёт того, что только на описание этой фичи в стандарте ушло 40 страниц. Это больше чем любая другая отдельная фича. Например, exception handling влезает в 10 страниц.


Речь не об этом. Какие сложности в языке возникают из-за добавления концептов? Что ухудшится, перестанет работать и.т.п?
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[6]: Концептов не будет?
От: BulatZiganshin  
Дата: 15.07.09 19:40
Оценка:
Здравствуйте, Шахтер, Вы писали:

C>>>>Уж слишком много сложности добавляется с ней.


Ш>>>Какие?


A>>Как насчёт того, что только на описание этой фичи в стандарте ушло 40 страниц. Это больше чем любая другая отдельная фича. Например, exception handling влезает в 10 страниц.


Ш>Речь не об этом. Какие сложности в языке возникают из-за добавления концептов? Что ухудшится, перестанет работать и.т.п?


так он и говорит об увеличении сложности языка. а проблемы это создаст в том, что C++ будет требовать больше времени для изучения, повысится вероятность ошибок в компиляторах
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: Концептов не будет?
От: BulatZiganshin  
Дата: 15.07.09 19:41
Оценка:
Здравствуйте, eao197, Вы писали:

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


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


чем больше проект, тем больше бенефитов от static typing. мой идеал — язык со строгой типизацией и типом Dynamic — последнее *иногда* действительно необходимо
Люди, я люблю вас! Будьте бдительны!!!
Re[7]: Концептов не будет?
От: Шахтер Интернет  
Дата: 15.07.09 20:08
Оценка: +1
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, Шахтер, Вы писали:


C>>>>>Уж слишком много сложности добавляется с ней.


Ш>>>>Какие?


A>>>Как насчёт того, что только на описание этой фичи в стандарте ушло 40 страниц. Это больше чем любая другая отдельная фича. Например, exception handling влезает в 10 страниц.


Ш>>Речь не об этом. Какие сложности в языке возникают из-за добавления концептов? Что ухудшится, перестанет работать и.т.п?


BZ>так он и говорит об увеличении сложности языка.


Похоже, имеет место взаимное непонимание. Я НЕ говорю об увеличении сложности языка.
Обьясню на примере. В процессе эволюции С++ несколько раз делались harmfull decision, например, изменили область видимости для for переменных, эти изменения разрушали существующий код и, естественно, создавали сложности. Концепты не влияют на существующий код. Они добавляют новые возможности.
Т.е. я не могу сказать -- концепты создают сложности. В конце концов -- никто не заставляет их использовать.

BZ>а проблемы это создаст в том, что C++ будет требовать больше времени для изучения, повысится вероятность ошибок в компиляторах


На сколько дней? Концепция концептов не является сложной для понимания, она интуитивна понятна. Кроме того, те кто интенсивно в прошлом занимались абстрактным программированием на С++ давно этот механизм ждут, поскольку язык в нем остро нуждается. Сейчас приходится делать workaround ы.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[6]: Концептов не будет?
От: alexeiz  
Дата: 15.07.09 20:08
Оценка: 1 (1)
Здравствуйте, Шахтер, Вы писали:

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


A>>Как насчёт того, что только на описание этой фичи в стандарте ушло 40 страниц. Это больше чем любая другая отдельная фича. Например, exception handling влезает в 10 страниц.


Ш>Речь не об этом. Какие сложности в языке возникают из-за добавления концептов? Что ухудшится, перестанет работать и.т.п?


Вот это как раз трудно предсказать для такой большой фичи, как консепты. Ты знал, например, что сначала было два равноправных предложения для консептов, но потом неожиданно выяснилось, что одно из предложений просто не работает? И это случилось только после того, как кто-то попытался его реализовать.
Re[8]: Концептов не будет?
От: alexeiz  
Дата: 15.07.09 20:29
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Концепция концептов не является сложной для понимания, она интуитивна понятна.


Я тоже так думал, пока не удосужился ознакомиться с тем, что же на самом деле представляют из себя консепты, как они описанны сейчас в драфте стандарта.
Re[8]: Концептов не будет?
От: BulatZiganshin  
Дата: 15.07.09 20:37
Оценка:
Здравствуйте, Шахтер, Вы писали:

C>>>>>>Уж слишком много сложности добавляется с ней.

Ш>Похоже, имеет место взаимное непонимание. Я НЕ говорю об увеличении сложности языка.
а я не про тебя. впрочем, не суть важно

Ш>Обьясню на примере. В процессе эволюции С++ несколько раз делались harmfull decision, например, изменили область видимости для for переменных, эти изменения разрушали существующий код и, естественно, создавали сложности.


гы, мне они создают сложности до сих пор — компайлер предупреждает о несовместимости кода с legacy compilers

Ш>Концепты не влияют на существующий код. Они добавляют новые возможности.

Ш>Т.е. я не могу сказать -- концепты создают сложности. В конце концов -- никто не заставляет их использовать.

1. уведичится сложность компиляторов. ну ты в курсе, что и так осталось всего 2 фронтэнда, у хаскела их и то больше а кроме компиляторов есть всевозможные другие тулзы

2. если возможность добавляется язык, то она будет использоваться. к примеру, в какой-то используемой вами бибилотеке — и куда вы денетесь. затем прграммисты, которых вы берёте на работу, возможно потратят время на эту неиспользуемую вами, но использовавшуюся в их предыдущих компаниях, фичу, вместо того, чтобы потратить время на более полезные вещи. т.е. вы берёте сеца с 5 годами опыта, а из них часть вами будет просто незадействована

в данном конкретном случае всё просто — эту возможность начнёт интеенсивно использовать буст/стл, так что если только вы всё пишете вручную... тогда вам действительно на все причуды комитета глубоко положить — я сам как раз в таком состоянии

BZ>>а проблемы это создаст в том, что C++ будет требовать больше времени для изучения, повысится вероятность ошибок в компиляторах


Ш>На сколько дней? Концепция концептов не является сложной для понимания, она интуитивна понятна. Кроме того, те кто интенсивно в прошлом занимались абстрактным программированием на С++ давно этот механизм ждут, поскольку язык в нем остро нуждается. Сейчас приходится делать workaround ы.


really? прям в этой ветке можно увидеть, что одни её не ждут, а другим она непонятна

далее. *концептуально* идея проста, но добавление типизации в динамический язык — это сложная штука. все эти детали кокретной реализации и придётся изучать. или вы думаете, что достаточно сказать "статическая типизация" и любой грамотный с++ник сразу грокнет то, что они описывали на 40 страницах?
Люди, я люблю вас! Будьте бдительны!!!
Re[9]: Концептов не будет?
От: alexeiz  
Дата: 15.07.09 21:12
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>1. уведичится сложность компиляторов. ну ты в курсе, что и так осталось всего 2 фронтэнда, у хаскела их и то больше


3 фронтэнда: VC, GCC, EDG
Re[9]: Концептов не будет?
От: Шахтер Интернет  
Дата: 15.07.09 21:47
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>Здравствуйте, Шахтер, Вы писали:


Ш>>Концепция концептов не является сложной для понимания, она интуитивна понятна.


A>Я тоже так думал, пока не удосужился ознакомиться с тем, что же на самом деле представляют из себя консепты, как они описанны сейчас в драфте стандарта.


Ну я не знаю. Может, я слишком умный?
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[9]: Концептов не будет?
От: Шахтер Интернет  
Дата: 15.07.09 21:51
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>1. уведичится сложность компиляторов. ну ты в курсе, что и так осталось всего 2 фронтэнда, у хаскела их и то больше а кроме компиляторов есть всевозможные другие тулзы


Это не моя головная боль.

BZ>2. если возможность добавляется язык, то она будет использоваться. к примеру, в какой-то используемой вами бибилотеке — и куда вы денетесь. затем прграммисты, которых вы берёте на работу, возможно потратят время на эту неиспользуемую вами, но использовавшуюся в их предыдущих компаниях, фичу, вместо того, чтобы потратить время на более полезные вещи. т.е. вы берёте сеца с 5 годами опыта, а из них часть вами будет просто незадействована


BZ>в данном конкретном случае всё просто — эту возможность начнёт интеенсивно использовать буст/стл,


Это должно быть прозрачно для пользователя. Даже наоборот -- появится ранняя диагностика неправильного использования, что поможет пользователям.

BZ>так что если только вы всё пишете вручную... тогда вам действительно на все причуды комитета глубоко положить — я сам как раз в таком состоянии


Не, мне не наплевать. Я хочу консепты. NOW!

BZ>>>а проблемы это создаст в том, что C++ будет требовать больше времени для изучения, повысится вероятность ошибок в компиляторах


Ш>>На сколько дней? Концепция концептов не является сложной для понимания, она интуитивна понятна. Кроме того, те кто интенсивно в прошлом занимались абстрактным программированием на С++ давно этот механизм ждут, поскольку язык в нем остро нуждается. Сейчас приходится делать workaround ы.


BZ>really? прям в этой ветке можно увидеть, что одни её не ждут, а другим она непонятна


Надо ФАК написать.

BZ>далее. *концептуально* идея проста, но добавление типизации в динамический язык — это сложная штука. все эти детали кокретной реализации и придётся изучать. или вы думаете, что достаточно сказать "статическая типизация" и любой грамотный с++ник сразу грокнет то, что они описывали на 40 страницах?


Гамотный -- грокнет.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[7]: Концептов не будет?
От: Кодт Россия  
Дата: 15.07.09 22:27
Оценка: :))
Здравствуйте, jazzer, Вы писали:

J>Одно другому не мешает.

J>Там, где имеет смысл констрейнтов насовать, их лучше насовать.

Ну вот Грегори Хаус^W Комо насовал констрейнтов в STL, и что из этого вышло
Автор: igna
Дата: 03.07.09
.
Перекуём баги на фичи!
Re[10]: Концептов не будет?
От: Cyberax Марс  
Дата: 15.07.09 22:56
Оценка:
Здравствуйте, alexeiz, Вы писали:

BZ>>1. уведичится сложность компиляторов. ну ты в курсе, что и так осталось всего 2 фронтэнда, у хаскела их и то больше

A>3 фронтэнда: VC, GCC, EDG
Ещё растёт clang, так что 4 штуки скоро будет. И Borland чего-то тоже ещё шевелится.
Sapienti sat!
Re[11]: Концептов не будет?
От: alexeiz  
Дата: 15.07.09 23:06
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


BZ>>>1. уведичится сложность компиляторов. ну ты в курсе, что и так осталось всего 2 фронтэнда, у хаскела их и то больше

A>>3 фронтэнда: VC, GCC, EDG
C>Ещё растёт clang, так что 4 штуки скоро будет. И Borland чего-то тоже ещё шевелится.

Ах да, clang. Но мы-то знаем, кто его пишет: Douglas Gregor, который добавил консепты в GCC (ConceptGCC). А борланд уже скорее мертв, чем жив.
Re[8]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 00:08
Оценка:
Здравствуйте, Кодт, Вы писали:

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


J>>Одно другому не мешает.

J>>Там, где имеет смысл констрейнтов насовать, их лучше насовать.

К>Ну вот Грегори Хаус^W Комо насовал констрейнтов в STL, и что из этого вышло
Автор: igna
Дата: 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[8]: Концептов не будет?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.09 00:11
Оценка: +2
Здравствуйте, Кодт, Вы писали:

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


J>>Одно другому не мешает.

J>>Там, где имеет смысл констрейнтов насовать, их лучше насовать.

К>Ну вот Грегори Хаус^W Комо насовал констрейнтов в STL, и что из этого вышло
Автор: igna
Дата: 03.07.09
.


кстати, я искренне не понимаю, почему массивы до сих пор не Assignable и CopyConstructible.
Ведь никаких же проблем нет сделать их такими, вон в качестве членов структур они себя замечательно ведут, как ожидается: и присваиваются, и конструируются.
Почему с ними голыми нельзя работать так же, не понимаю.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.