Re[16]: недостатки системы типов .NET
От: kan Великобритания  
Дата: 14.11.06 09:10
Оценка:
VladD2 wrote:

> kan>Константы времени компиляции в С++ сущность совсем другая, и со

> словом const они почти никак не связаны.
> Это не так.
Определения в студию. А рассуждения типа "при некоторых обстоятельствах... как мне кажется..." не катят.

> kan>Понятие побочного эффекта для объекта вещь довольно расплывчатая.

> Это тоже не так.
Давай тогда точное определение, годное хотя бы для создания стандарта.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[14]: Нет возможности использовать константные ссылки
От: prVovik Россия  
Дата: 14.11.06 09:32
Оценка:
Здравствуйте, AndreiF, Вы писали:

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


V>>То, что это будет аналог const_cast'a. Теже яйца, вид сбоку.


AF>Нет, ты просто не понимаешь. От преднамеренных диверсий, равно как и от непробиваемой глупости (которая часто бывает намного хуже по своим последствиям), никакая защита не даст гарантий. Но это не значит, что на защиту надо вообще забить.


С этим я согласен. Я просто утверждал, что нападки на const_cast необоснованы и что предложенный Владом метод ничем принципиально от const_cast не отличается и что подобные ему механизмы вводить придется полюбому.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
лэт ми спик фром май харт
Re[11]: недостатки системы типов .NET
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.11.06 10:43
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>В С++ никто не запрещает создавать неизменяемые типы, если есть такая необходимость.


Ну и слава богу.

AF> А вот создать константную ссылку в шарпе нельзя. В этом и есть главное различие


Вопрос в том, насколько эта константная ссылка нужна, и ответ на него не так уж и однозначен.
... << RSDN@Home 1.2.0 alpha rev. 642>>
AVK Blog
Re[14]: недостатки системы типов .NET
От: WolfHound  
Дата: 14.11.06 11:19
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>Ничего не посыпалось. Никто не запрещает использовать один и тот же тип как по ссылке, так и по значению в зависимости от контекста.

Проблема в том что этот контекст может разполстись на всю систему. И ничто этому помешать не может.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: недостатки системы типов .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.11.06 13:17
Оценка: +1
Здравствуйте, konsoletyper, Вы писали:

K>Ага, а потом, если нужно сделать свой нестандартный IList, то сортировку придётся писать отдельно


Не прийдется. List<T> использует функции сортировки из класса Array. List<T>.Sort не более чем обертка.

K>(хорошо, что хоть PowerCollections помогает). Просто это бессмысленно.


Бессмысленны вот такие заявления. А смысл наличия метода Sort в List<T> очевиден. Метод не приходится искать черт знает где и код получается короче.

В общем, разговр бессмысленный. Когда сделают методы расширения и поддржку для них в IDE, то конечно смысла встраивать подбные методы в классы не будет. Но пока этого нет, нет смысла обсуждать это.

K> Неужели было тяжело сделать статический класс с методом Sort, а затем в List просто написать дополнитльный метод?


Так и сделали. Открой рефлектором исхдники этого метода и убедись, что там всего лишь вызов статической функции.

Другое дело, что не сделали обошенной реализации Sort для IList<T>. Вот это уже действительно не грамотно.

Что до PowerCollections, то я так ни разу еге и не использовал в своих программах. Как-то нет потребности.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: недостатки системы типов .NET
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 14.11.06 19:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Другое дело, что не сделали обошенной реализации Sort для IList<T>. Вот это уже действительно не грамотно.


Собственно, я это и имел в виду. Просто не всегда реализация IList<T> сделана на массивах. А массив, вообще-то — это частный случай IList<T>. Зачем было писать реализацию для менее общего случая?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: недостатки системы типов .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.11.06 22:44
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Блин, вот ведь: всё, как надо :о) А этот type виден на уровне исходников, в пределах сборки или каким-то образом "экспортируется"?


Вроже бы только внутри сборки, но могу ошибаться. В компиляторе он рассматривается как синоним.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Нет возможности использовать константные ссылки
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.11.06 22:44
Оценка:
Здравствуйте, prVovik, Вы писали:

V>Точно. Это проблемы программиста. Как и в случае с const_cast'ом.


const_cast — это проблемы пользвателя которые ты ему создаешь используя const_cast.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: недостатки системы типов .NET
От: Vermicious Knid  
Дата: 14.11.06 23:09
Оценка:
Здравствуйте, VladD2, Вы писали:

_FR>>Блин, вот ведь: всё, как надо :о) А этот type виден на уровне исходников, в пределах сборки или каким-то образом "экспортируется"?

VD>Вроже бы только внутри сборки, но могу ошибаться. В компиляторе он рассматривается как синоним.
Да нет, не только внутри сборки. Из других сборок он тоже доступен(если конечно помечен как публичный). Но выглядит в рефлекторе это довольно забавно, и соответственно из C# использовать невозможно.
Re[14]: Нет возможности использовать константные ссылки
От: prVovik Россия  
Дата: 15.11.06 07:35
Оценка:
Здравствуйте, VladD2, Вы писали:

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


V>>Точно. Это проблемы программиста. Как и в случае с const_cast'ом.


VD>const_cast — это проблемы пользвателя которые ты ему создаешь используя const_cast.


А в твоем варианте разве не так?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
лэт ми спик фром май харт
Re[11]: недостатки системы типов .NET
От: Алексей П Россия  
Дата: 15.11.06 12:21
Оценка:
Здравствуйте, Vermicious Knid, Вы писали:

VK>Да нет, не только внутри сборки. Из других сборок он тоже доступен(если конечно помечен как публичный). Но выглядит в рефлекторе это довольно забавно, и соответственно из C# использовать невозможно.


Подтверждаю, и снаружи видно.
Nemerle:
type Context = string -> float

Рефлектор:
[TypeAlias(".f(System.String()System.Single())")]
public interface Context { }
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: недостатки системы типов .NET
От: _FRED_ Черногория
Дата: 15.11.06 15:45
Оценка:
Здравствуйте, Алексей П, Вы писали:

VK>>Да нет, не только внутри сборки. Из других сборок он тоже доступен(если конечно помечен как публичный). Но выглядит в рефлекторе это довольно забавно, и соответственно из C# использовать невозможно.


АП>Подтверждаю, и снаружи видно.

АП>Nemerle:
type Context = string -> float

АП>Рефлектор:
АП>[TypeAlias(".f(System.String()System.Single())")]
АП>public interface Context { }


А ссылку на документиацию можешь дать? А то я не нашёл только здесь

Может ли псевдоним (alias) быть незавершённым дженерик-типом? То есть примерно
АП>Nemerle:
type Context[T] = System.Collection.Generic.List[T]
... << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[13]: недостатки системы типов .NET
От: Алексей П Россия  
Дата: 15.11.06 16:30
Оценка: 14 (1)
Здравствуйте, _FRED_, Вы писали:

_FR>А ссылку на документиацию можешь дать? А то я не нашёл только здесь

Не могу, документации вообще мало.

_FR>Может ли псевдоним (alias) быть незавершённым дженерик-типом? То есть примерно

АП>>Nemerle:
type Context[T] = System.Collection.Generic.List[T]

Проверил, можно. Использование такого алиаса компилится в простое new List<тип>()
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Нет возможности использовать константные ссылки
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.11.06 23:16
Оценка:
Здравствуйте, prVovik, Вы писали:

V>А в твоем варианте разве не так?


Я где-то использовал const_cast? Я даже кога на С++ писал, то его никогда не использовал.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.