|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Волею судеб пришлось временно перейти с Java на .Net. Пишу, значит, разный относительно _низкоуровневый_ код, и доходит дело до написания универсального обработчика коллекций. И у меня просто волосы встают дыбом от того, как имплементированы коллекции в .Net. Это просто стыд и срам. 1) ICollection не имеет метода Add. ICollection<> имеет. IDictionary<> имеет. Даже IDictionary имеет. А ICollection нет. То есть это абсолютно бессмысленный интерфейс, который не добавлять практически ничего полезного к IEnumerable. В итоге, если у меня есть в руках ICollection, я не могу добавить туда элемент. Стыд и срам. 2) Нет общей иерархии классов. ICollection<> не имеет ничего общего с ICollection. С Dictionary та же проблема. В итоге, что бы определить, что у меня в руках коллекция, нужно писать трехэтажные неэффективные выражения через рефлекшн. 3) Иерархия некоторых коллекций просто повергает в ужас. Например, ConcurrentDictionary<> имплементирует IDictionary<>, логично. Наверное, тогда и типизированный ConcurrentBag<> будет имлементировать ICollection<>, правда? Неа, он имплементирует ICollection, и какой-то совершенно идиотский типизированный producer-consumer. 4) Нет кучи полезных специализированных коллекций. Нет read-only коллекций (вернее, есть одна - для списка, а set? а dictionary?), конкаррент коллекции появились только в 4.0 и имеют отвратительнейшую иерархию, нет synchronized-оберток, как в Java. Поэтому для реализации банальнейшего сценария - выдать пользователю unmodifiable коллекцию, что бы он не наломал дров - нужно писать какие-то свои обретки. А с имеющейся иерархией попробуйте ка написать универсальную такую обертку И весь этот сыр бор нужен только для того, что бы иметь в рантайме информацию о дженерик типе. В Джава этой информации нет, type erasure. Верите-нет, но она на практике нафиг никому не нужна. Лежат в коллекции объекты, и лежат. Зато есть простая и лаконичная иерархия классов, с которой работать - одно удовольствие. После нее от всего этого стыдобища в .Net просто глаза на лоб лезут. Вопрос - кто проектировал это? Вам комфортно работать с коллекциями в .Net? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2014, 23:55 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvВам комфортно работать с коллекциями в .Net? да. Особенно при использовании Linq For Objects ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2014, 23:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv[...бред поскипан...]Очередное свеномное обострение... За сим предлагаю топик закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 00:11 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv1) ICollection не имеет метода Add. ICollection<> имеет. IDictionary<> имеет. Даже IDictionary имеет. А ICollection нет. То есть это абсолютно бессмысленный интерфейс, который не добавлять практически ничего полезного к IEnumerable. В итоге, если у меня есть в руках ICollection, я не могу добавить туда элемент. Стыд и срам. свойство Count. а у IEnumerable его нет, который вообще может быть бесконечной «коллекцией». ICollection и ICollection<T> -- разные по смыслу и замыслу интерфейсы, это совсем не тоже самое «только с типом». это и касается IDictionary/IDictionary<T>. но детский неокрепший мозг видит одинаковые слова , и его мир начинает рушится... cdtyjv2) Нет общей иерархии классов. ICollection<> не имеет ничего общего с ICollection. С Dictionary та же проблема. В итоге, что бы определить, что у меня в руках коллекция, нужно писать трехэтажные неэффективные выражения через рефлекшн. конечно, а с какого перепугу, это вдруг, должно? я не понял, зачем себя ставить в такую идиотскую ситуацию, чтобы выяснять «что за коллекция»? cdtyjv3) Иерархия некоторых коллекций просто повергает в ужас. Например, ConcurrentDictionary<> имплементирует IDictionary<>, логично. Наверное, тогда и типизированный ConcurrentBag<> будет имлементировать ICollection<>, правда? Неа, он имплементирует ICollection, и какой-то совершенно идиотский типизированный producer-consumer. всё логично, если подумать тем местом, что называется голова. я же сказал ICollection и ICollection<T> никак не коррелируют друг с другом, да и были спроектированы с довольно большим интервалом времени. кое что доосмыслилось при проектировании типизированных коллекций, а старое менять нельзя, надеюсь сам понимаешь почему. очень надеюсь. cdtyjv4) Нет кучи полезных специализированных коллекций. Нет read-only коллекций (вернее, есть одна - для списка, а set? а dictionary?), конкаррент коллекции появились только в 4.0 и имеют отвратительнейшую иерархию, нет synchronized-оберток, как в Java. Поэтому для реализации банальнейшего сценария - выдать пользователю unmodifiable коллекцию, что бы он не наломал дров - нужно писать какие-то свои обретки. А с имеющейся иерархией попробуйте ка написать универсальную такую обертку всё там есть. IReadOnlyDictionary, IReadOnlyCollection и IReadOnlyList. для ISet видимо это без надобности, т.к. есть IsReadOnly на такой редкий случай. cdtyjvВ Джава этой информации нет, type erasure. Верите-нет, но она на практике нафиг никому не нужна. когда была жёсткая необходимость покодить на Java, я чуть не блеванул. серьёзно. хотя знаю, что имеются толпы миллионов Java-кодеров, которые вполне комфортно себя чувствуют в среде Java, но лично я после C# на Java чувствовал себя вышвырнутым за пределы нормальной цивилизации. cdtyjvВопрос - кто проектировал это? много людей, соответственно до идеала конечно далеко. cdtyjvВам комфортно работать с коллекциями в .Net? вполне. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 01:09 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, чтоб понять, почему ICollection<T> никак не может наследоваться от ICollection, рассмотрим вот такую коллекцию: Код: c# 1.
благодаря тому, что .NET точно знает тип и размер элементов коллекции, он может разместить их эффективно в непрерывном блоке памяти . приведём эту коллекцию к ссылке на интерфейс ICollection, который представляет собой коллекцию, хранящую какие-то Object, т.е. ссылки на объекты в куче. стоит заморачиваться и объяснять, почему это в принципе невозможно? с другой стороны может возникнуть вопрос, почему же тогда можно привести типизированную коллекцию к нетипизированному IEnumerable? ответ прост. потому что IEnumerable это вовсе не коллекция по сути. это интерфейс, который содержит метод, возвращающий итератор. итератор же упаковывает значение элемента и возвращает ссылку (это называется boxing, и в случае, если не применяется duck typing), или просто ссылку, если элементы коллекции являются экземплярами класса. в Java таких заморочек нет, потому что там нет типов-значений, что позволяет .NET уделывать Java как котёнка в плане производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 01:46 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt, автор это интерфейс, который содержит метод, возвращающий итератор. итератор же упаковывает значение элемента и возвращает ссылку в типизированых коллекциях, в случае со значениями, упаковки не проходит, там даже итератор живет живет в виде структуры. За это, в свое время воевали наши отцы и деды. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 02:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степив типизированых коллекциях, в случае со значениями, упаковки не проходит, там даже итератор живет живет в виде структуры. За это, в свое время воевали наши отцы и деды. http://msdn.microsoft.com/ru-ru/library/system.collections.ienumerator.current.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 02:49 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttГде-то в степив типизированых коллекциях, в случае со значениями, упаковки не проходит, там даже итератор живет живет в виде структуры. За это, в свое время воевали наши отцы и деды. http://msdn.microsoft.com/ru-ru/library/system.collections.ienumerator.current.aspx Сказать-то что хотел? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 07:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttкогда была жёсткая необходимость покодить на Java, я чуть не блеванул +1, я когда ставил JEE у меня постоянно сыпались ошибки в инсталяторе, каждая - гугление и исправление по полчаса-час, на пятой итерации я нажал кнопку кансел ну ее нахрен эту яву, для линуксоидов самое то - чтоб запрограммировать хеллоу ворд - надо собрать под себя ядро ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 08:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
17-77+1, я когда ставил JEE у меня постоянно сыпались ошибки в инсталяторе, каждая - гугление и исправление по полчаса-час, на пятой итерации я нажал кнопку кансел Java то здесь причём? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 09:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv1) ICollection не имеет метода Add. ICollection<> имеет. IDictionary<> имеет. Даже IDictionary имеет. А ICollection нет. То есть это абсолютно бессмысленный интерфейс, который не добавлять практически ничего полезного к IEnumerable. В итоге, если у меня есть в руках ICollection, я не могу добавить туда элемент. Стыд и срам. А зачем работать с нетипизированными коллекциями? Я вот за последние несколько лет не работал, и надобности такой не вижу. cdtyjvНет общей иерархии классов. ICollection<> не имеет ничего общего с ICollection. С Dictionary та же проблема. Оно не имеет ничего общего по той простой причине, что это разные вещи. Просто интерфейсы похожи. cdtyjvВ итоге, что бы определить, что у меня в руках коллекция, нужно писать трехэтажные неэффективные выражения через рефлекшн Это очень сильно. А что, вы не знаете, где у вас коллекция, а где - нет? Приведите пример, а то у меня сомнения возникают в том, что вы грамотно подошли к архитектуре приложения с учетом особенностей .Net cdtyjvНет кучи полезных специализированных коллекций. Нет read-only коллекций Есть, и много. Примеры выше приводились. cdtyjvпопробуйте ка написать универсальную такую обертку Универсальные обертки, как и таблетки, не существуют. cdtyjvИ весь этот сыр бор нужен только для того, что бы иметь в рантайме информацию о дженерик типе. В Джава этой информации нет, type erasure. Верите-нет, но она на практике нафиг никому не нужна Не верю :-) cdtyjvЛежат в коллекции объекты, и лежат. Зато есть простая и лаконичная иерархия классов, с которой работать - одно удовольствие. После нее от всего этого стыдобища в .Net просто глаза на лоб лезут. Я когда с Delphi на .Net переходил, тоже долго плевался. Казалось все нелогичным, и сделано через одно место. Сейчас мне кажется ровно наоборот. Все недостатки Delphi убраны, преимущества - сохранены (кроме визуальной составляющей). Так и с Java. Вы привыкли к нему, лучше ориентируетесь в базовых классах, и знаете подход. К .Net нужно просто привыкнуть. И я вам искренне говорю, что 1) в .Net (точнее C#) гораздо удобнее в плане синтаксиса и конструкций 2) VS 2013 - крутая штука, очень. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 10:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
В общем "какая дурацкая штука - этот ваш мотоцикл! где педали? как я поеду, если педалей нет, нечего крутить" ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 10:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Все недостатки Delphi убраны, преимущества - сохранены ( кроме визуальной составляющей ).Да?! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 10:46 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КДа?! Да. Я знаю, Алексей, про ваше творчество на WPF :-) Но когда я переходил, были унылые WinForms. Как мне не хватало полноценного наследования форм.... Потом появился Wpf, концептуально крутая штука, но я пока не вижу никакого его развития. И предсказать, на какую технологию как мейнстрим будет ориентироваться Microsoft для разработки клиентской части, я не в состоянии. WinForms умер, Silverlite тоже, WPF в загоне, JS + HTML - слишком медленно... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Упаковка в правильно написаны дженерик конструкциях не должна приветствоваться равно как и надо постараться что бы упаковаться, списки ли методы разницы нет. Код: c# 1. 2. 3. 4. 5.
проверим через приведение Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:14 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степиУпаковка в правильно написаны дженерик конструкциях не должна приветствоваться чуть больше веселья cо специальным Nullable<T> типом ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:19 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Потом появился Wpf, концептуально крутая штука, но я пока не вижу никакого его развития.Он вполне юзабелен в существующем виде. Его можно и не развивать. Arm79JS + HTML - слишком медленно...Ничего там не медленно. Типовой набор jQuery+Knockout+Bootstrap+TypeScript умеет в разы больше чем Delphi. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt, а чем же он специальный? это обыкновенная структура? со своим сахаром ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:24 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степиа чем же он специальный? это обыкновенная структура? со своим сахаром сахар это всего лишь пол беды, попробуй вот это: Код: c# 1. 2. 3. 4. 5.
что будет в some в обоих случаях? а с рефлекшеном там вообще целая эпопея. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:32 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt, ну а что Вас смутило? упаковка nullable имеет свои определенные правила. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
равно как и распаковка ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:39 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степину а что Вас смутило? упаковка nullable имеет свои определенные правила. поэтому я и говорю что это специальный тип, а не обыкновенная структура. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:43 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степиравно как и распаковка Nullable<T> не может быть распакован, так как он и не упаковывается вовсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:44 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
а где собственно топикстартер? букварь читает? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:44 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропила где собственно топикстартер?Скрипач не нужен... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:45 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv Наверное, тогда и типизированный ConcurrentBag<> будет имлементировать ICollection<>, правда? Неа, он имплементирует ICollection, и какой-то совершенно идиотский типизированный producer-consumer. Крутейшая штука кстати. Те Java программисты, которые сходу способны в этом разобраться давно перешли на Scala :) cdtyjvИ весь этот сыр бор нужен только для того, что бы иметь в рантайме информацию о дженерик типе. В Джава этой информации нет, type erasure. Верите-нет, но она на практике нафиг никому не нужна. Батенька, в .NET есть деревья выражений, а там без информации о generic типе никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:51 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttГде-то в степиравно как и распаковка Nullable<T> не может быть распакован, так как он и не упаковывается вовсе. Код: c# 1. 2. 3. 4.
чем же он специальный, то что его поведение описано его реализацией? ну пускай будет так. тогда можно сказать: Код: c# 1. 2. 3. 4. 5. 6. 7.
MyClass - специальный тип, так как не имеет публичного конструктора, транзитивно? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 11:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степичем же он специальный, то что его поведение описано его реализацией? ни один struct кроме Nullable<T> не может "упаковаться" в null. это выглядит, как естественное поведение, но для некоторых становится неожиданным, ведь как же? Nullable<T> -- "это ж обыкновенная структура". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степиMyClass - специальный тип, так как не имеет публичного конструктора, транзитивно? ни единой параллели. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:03 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt, авторни один struct кроме Nullable<T> не может "упаковаться" в null. напишите свою, тут проблем нет или вы считаете что это шаманство компилятора? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степинапишите свою, тут проблем нет или вы считаете что это шаманство компилятора? шаманство конечно. struct это тип, передающийся по значению, никаких ссылок. при упаковке/распаковке мы гарантированно получаем значение и может определить тип упакованных данных. в случае с Nullable, тип "упакованных" данных легко потерять. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:11 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КТиповой набор jQuery+Knockout+Bootstrap+TypeScript умеет в разы больше чем Delphi Хе. Так это сколько нужно знать неродного? И это вместо нативного для языка? К тому же по скорости это по любому уступит Delphi. Алексей КОн вполне юзабелен в существующем виде. Его можно и не развивать Ну да. WinForms тоже юзабелен. Да и библиотека TurboVision тоже юзабельна. Аналогии понятны? Иногда нужно бежать чтобы оставаться на одном месте (с) Кэррол. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Алексей КТиповой набор jQuery+Knockout+Bootstrap+TypeScript умеет в разы больше чем Delphi Хе. Так это сколько нужно знать неродного? И это вместо нативного для языка?После WPF это всё "проще пареной репы" :-) Arm79К тому же по скорости это по любому уступит Delphi.Скорость достаточная. Как разработки, так и исполнения. Arm79Алексей КОн вполне юзабелен в существующем виде. Его можно и не развивать Ну да. WinForms тоже юзабелен. Да и библиотека TurboVision тоже юзабельна. Аналогии понятны? Иногда нужно бежать чтобы оставаться на одном месте (с) Кэррол.Полагаю, что следующей реинкарнацией WPF будет WinRT или как оно там сейчас называется. Как доделают - там посмотрим. Пока смотреть, к сожалению, не на что. :-( А пока смотреть не на что, используем WPF/HTML, в зависимости от требуемой архитектуры и предпочтений. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:33 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КПока смотреть, к сожалению, не на что. :-( Вот-вот, и я про то. Смотреть пока не на что, имеющиеся технологии вполне достаточны для разработки, но перспективы неясны. а в Delphi на тот момент был очень неплохой VCL, + куча сторонних компонент и пакетов (я пользовался Jv). И сейчас, если ничего не путаю, есть основная технология по UI - FireMonkey, которая является более менее схожей по функционалу с WPF, только кросс-платформенная. Есть определенность. От нее и отталкиваются. Но мы что-то отошли от первоначальной темы :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:44 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79а в Delphi на тот момент был очень неплохой VCL, + куча сторонних компонент и пакетов (я пользовался Jv).На тот момент - да. Arm79И сейчас, если ничего не путаю, есть основная технология по UI - FireMonkey, которая является более менее схожей по функционалу с WPF, только кросс-платформенная. Есть определенность. От нее и отталкиваются.Судя по тому, что я читаю в соседнем форуме, качество FireMonkey ниже плинтуса и им мало кто пользуется. А по кроссплатформенности HTML вряд ли кто догонит. Arm79Но мы что-то отошли от первоначальной темы :-)Там все ответы даны, ТС молчит, чё её обсуждать... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 12:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Простите мою дремучесть, а как использовать HTML + JS для десктопа? Есть best practics? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 16:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
очередной вы..ер человека, который не разобрался в вопросе, но уже имеет своё "важное" мнение.... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 16:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
zzа как использовать HTML + JS для десктопа? Есть best practics? Не знаю про best practice, но на хабре была неплохая статейка по кросс-платформенному клиенту на основе WebKit + Html + JS вот, например, http://habrahabr.ru/post/154917/ ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 16:14 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Ну да. WinForms тоже юзабелен. После хороше вникания в WPF это утверждение становится очень сомнительным. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 17:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv молодец - вбросил и ушел. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 18:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
netivancdtyjv молодец - вбросил и ушел. Зато нам есть о чем потрепаться! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 18:40 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Cat2netivancdtyjv молодец - вбросил и ушел. Зато нам есть о чем потрепаться! да мы-то гуру знаем все ответы. Так что его вброс напоминает студента... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 18:49 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Как мне не хватало полноценного наследования форм....Безотносительно... А что не так с наследованием форм? Класс как класс... Наследуется также как и все прочие классы - не лучше и не хуже... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 13:39 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
sphinx_mvА что не так с наследованием форм? Класс как класс... Наследуется также как и все прочие классы - не лучше и не хуже... мышекликанье затруднено ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 13:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
sphinx_mv, Не, там именно визуальное наследование форм. В WinForms тоже есть, но реально ущербное. И постоянно глючило. Разумеется, можно обойтись и без визуального (без визарда), но неудобно. С WPF не сталкивался, поэтому какие там подходы/варианты на практике применяют - не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 13:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Разумеется, можно обойтись и без визуального (без визарда), но неудобно. визуально можно сотворить лишь какой-нибудь примитив. а примитиву наследование не впилось. там нормальные контейнеры есть для размещения элементов, блоки можно разбивать на компоненты, не пойму на кой ляд он сдался, этот визуальный редактор? может только студентам каким, корявые лабы монстрячить. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:40 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttвизуально можно сотворить лишь какой-нибудь примитив. а примитиву наследование не впилось. там нормальные контейнеры есть для размещения элементов, блоки можно разбивать на компоненты, не пойму на кой ляд он сдался, этот визуальный редактор? может только студентам каким, корявые лабы монстрячить. Так может говорить только человек, не работавший с Delphi. Я вас уверяю, что эта технология (ВНФ) в Delphi является очень удобной. Вы же, например, WSDL для сервисов сами не пишете, а пользуетесь мастером? Так и там. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:43 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Так может говорить только человек, не работавший с Delphi. я работал с делфи. однако со своей стороны уверю вас, если в вашем приложении грубо говоря больше 3-х форм, то про визуальный редактор, как основной инструмент, лучше забыть. и на делфи ровно такая же ситуация. представьте, что у вас этих форм от 100 и выше. скорее всего вы задумаетесь об автоматизации, чтобы не делать каждую форму вручную, и помашете ручкой виз. редактору. иначе я очень вам сочувствую. хотя.... если вам платят за бессмысленную и беспощадную работу в независимости от сроков, то конечно-конечно, надо растягивать удовольствие на месяцы и годы. как у нас обычно бывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:48 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилsphinx_mvА что не так с наследованием форм? Класс как класс... Наследуется также как и все прочие классы - не лучше и не хуже... мышекликанье затрудненоИ не только. WPF тупо не найдёт ресурс с хамлом, если наследовать UserControl. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttчто у вас этих форм от 100 и выше. скорее всего вы задумаетесь об автоматизации Разумеется, нет. Ведь если писать свой НОРМАЛЬНЫЙ фреймворк для генерации форм, времени уйдет больше, чем вручную. Посмотрите, сколько труда вложено в XAF. Но суть не в этом. Если форм - 200, 300 или сколько там, - это не важно. Важно сколько ТИПОВ этих форм. А типов как раз таки не так много, и наследование там очень удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Cat2netivancdtyjv молодец - вбросил и ушел. Зато нам есть о чем потрепаться!Курилка запрещена. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79... и наследование там очень удобно.В WPF вместо наследования применяется композиция. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:55 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Разумеется, нет. Ведь если писать свой НОРМАЛЬНЫЙ фреймворк для генерации форм, времени уйдет больше, чем вручную. Посмотрите, сколько труда вложено в XAF. Но суть не в этом. Если форм - 200, 300 или сколько там, - это не важно. Важно сколько ТИПОВ этих форм. А типов как раз таки не так много, и наследование там очень удобно. да какие проблемы, я не понимаю Windows Forms Visual Inheritance ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КВ WPF вместо наследования применяется композиция. Буду знать. Кстати, Алексей, а вы используете Prism? Есть впечатления от него? И если нет, то почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КArm79... и наследование там очень удобно.В WPF вместо наследования применяется композиция. композиция в подавляющем количестве случаев лучше наследования . это верно даже для ООП. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttда какие проблемы, я не понимаю Глючит. Я ж не говорю, что оно не существует. См предыдущие сообщения. Просто настолько корявое, что его не используют. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttArm79Разумеется, нет. Ведь если писать свой НОРМАЛЬНЫЙ фреймворк для генерации форм, времени уйдет больше, чем вручную. Посмотрите, сколько труда вложено в XAF. Но суть не в этом. Если форм - 200, 300 или сколько там, - это не важно. Важно сколько ТИПОВ этих форм. А типов как раз таки не так много, и наследование там очень удобно. да какие проблемы, я не понимаю Windows Forms Visual Inheritance В WinForms этой штукой лучше не пользоваться. Многие "сложные" контролы, вроде ToolStrip, DataGridView и т. п., визуальное наследование не поддерживают. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 14:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Алексей КВ WPF вместо наследования применяется композиция. Буду знать. Кстати, Алексей, а вы используете Prism? Есть впечатления от него? И если нет, то почему?Не использую. Не увидел пользы от него для своих проектов, одни ненужные усложнения. Но это чисто моё субъективное мнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КНе использую. Не увидел пользы от него для своих проектов, одни ненужные усложнения. Но это чисто моё субъективное мнение. Я тоже так считаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:03 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79, Алексей К, хм ну ладно, просто мне не приходилось пользоваться визуальным наследованием форм, так как вообще не вижу в этом смысла. просто наследование форм на уровне классов, это да, делал. много. а так, спасибо, буду знать на будущее ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:06 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КМногие "сложные" контролы, вроде ToolStrip, DataGridView и т. п., визуальное наследование не поддерживают. да мне воображения даже не хватает, чтобы представить наследуемую форму с этими контролами. вот если generik-форма, это ещё можно представить. визуальная generik-форма, как вам? дельфи небось тоже покуривает в сторонке? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79hVosttчто у вас этих форм от 100 и выше. скорее всего вы задумаетесь об автоматизации Разумеется, нет. Ведь если писать свой НОРМАЛЬНЫЙ фреймворк для генерации форм, времени уйдет больше, чем вручную. Посмотрите, сколько труда вложено в XAF. Но суть не в этом. Если форм - 200, 300 или сколько там, - это не важно. Важно сколько ТИПОВ этих форм. А типов как раз таки не так много, и наследование там очень удобно.Единственная проблема с винформами (которая на самом деле совсем не проблема) - необходимость перекомпиляции родительскорй формы, чтобы изменения в ней стали доступны дизайнеру для дочерних форм. Все остальное с "мышекликаньем" - вполне адекватно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:09 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
sphinx_mvArm79пропущено... Разумеется, нет. Ведь если писать свой НОРМАЛЬНЫЙ фреймворк для генерации форм, времени уйдет больше, чем вручную. Посмотрите, сколько труда вложено в XAF. Но суть не в этом. Если форм - 200, 300 или сколько там, - это не важно. Важно сколько ТИПОВ этих форм. А типов как раз таки не так много, и наследование там очень удобно.Единственная проблема с винформами (которая на самом деле совсем не проблема) - необходимость перекомпиляции родительскорй формы, чтобы изменения в ней стали доступны дизайнеру для дочерних форм. Все остальное с "мышекликаньем" - вполне адекватно.WinForms со своей сериализацией в код - одна большая проблема. И проблемы с визуальным наследованием идут оттуда. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttвот если generik-форма, это ещё можно представить. визуальная generik-форма, как вам? Да ничего особенного, в общем-то. Только винформс-дизайнер с такой работать не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:15 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttАлексей КМногие "сложные" контролы, вроде ToolStrip, DataGridView и т. п., визуальное наследование не поддерживают. да мне воображения даже не хватает, чтобы представить наследуемую форму с этими контролами.Ну почему же... В принципе заманчиво поместить в базовую форму ToolStrip с основными кнопками (добавить, изменить, удалить и т. п.) и DataGridView. В в унаследованной форме добавить кнопок в ToolStrip и задать колонки в DataGridView под конкретный источник данных. Но не судьба... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:17 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныhVosttвот если generik-форма, это ещё можно представить. визуальная generik-форма, как вам? Да ничего особенного, в общем-то. Только винформс-дизайнер с такой работать не будет.Будет, через промежуточную форму. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КArm79... и наследование там очень удобно.В WPF вместо наследования применяется композиция. это в каком контексте? Если посмотреть иерархию их классов, то так не кажется:) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:22 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
[quote hVostt]Алексей Квот если generik-форма, это ещё можно представить. визуальная generik-форма, как вам? дельфи небось тоже покуривает в сторонке? вот такие как раз в первую очередь в визарде глючат ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:25 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
netivanАлексей Кпропущено... В WPF вместо наследования применяется композиция. это в каком контексте? Если посмотреть иерархию их классов, то так не кажется:)Вся модель содержимого (content model) строится на композиции. ContentControl, ItemsControl и т. д. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:25 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КСон Веры Павловныпропущено... Да ничего особенного, в общем-то. Только винформс-дизайнер с такой работать не будет.Будет, через промежуточную форму. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
не заметил пост ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:26 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Вдогонку: Код: c# 1. 2. 3. 4.
Композиция в чистом виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КНу почему же... В принципе заманчиво поместить в базовую форму ToolStrip с основными кнопками (добавить, изменить, удалить и т. п.) и DataGridView. В в унаследованной форме добавить кнопок в ToolStrip и задать колонки в DataGridView под конкретный источник данных. Но не судьба... такие вещи лучше делаются не через дизайнера. тулстрипы могут быть отцепляемыми и переносимыми, скрываемыми пользователем, скрываемыми по условиям, вся эта пользовательская настройка должна сохраняться. все действия на кнопках адресуются менеджеру команд, т.е. вообще нет смысла задавать евенты на кнопки через дизайнера. иконки и текст на кнопках тоже через дизайнера нет смысла задавать, это лучше через слой интернационализации.. вообще нахрен этот дизайнер впился, так до сих пор и не пойму. чтобы какая-нибуд Люся, не окончившая ПТУ могла мышкой кнопку с панели инструментов притащить? бред в общем. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:33 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
также если учесть огромное множество ньюансов, связанных с работой производимой в фоне, и как это должно отображаться на контролах, кнопках, куча взаимозависимых условий, всё это вообще не поддаётся нормальному управлению с дизайнера. кроме того, этот дизайнер глючит, глючил и будет глючит, ибо поделом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КArm79пропущено... Буду знать. Кстати, Алексей, а вы используете Prism? Есть впечатления от него? И если нет, то почему?Не использую. Не увидел пользы от него для своих проектов, одни ненужные усложнения. Но это чисто моё субъективное мнение. Призм же сразу выходит с оговорками - он для "мегаапликаций". Если одно и то же приложение будут разрабатывать разные фирмы - то тогда призм послужит документированной средой для интеграции блоков. Если программа пишется одним отделом, и даже разными, но в одной фирме - призм излишен. Все локальные проблемы можно решить внутри фирмы. Я так понял. Беда в том, что каждый владелец софтверного бизнеса, обижается, если говорят, что он создает обычное приложение, не "мега". :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей Кnetivanпропущено... это в каком контексте? Если посмотреть иерархию их классов, то так не кажется:)Вся модель содержимого (content model) строится на композиции. ContentControl, ItemsControl и т. д. http://www.stauffware.com/d_and_d/dotNet/WPF_UIElement_inheritance.png м? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129, Prism для WPF действительно сложный. Для WinApp он как-то лучше выглядит. А так MVVM Light рулит ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 15:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
netivanАлексей Кпропущено... Вся модель содержимого (content model) строится на композиции. ContentControl, ItemsControl и т. д. http://www.stauffware.com/d_and_d/dotNet/WPF_UIElement_inheritance.png м?Не, там речь о визуальном наследовании с поддержкой дизайнера. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 18:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttАлексей КНу почему же... В принципе заманчиво поместить в базовую форму ToolStrip с основными кнопками (добавить, изменить, удалить и т. п.) и DataGridView. В в унаследованной форме добавить кнопок в ToolStrip и задать колонки в DataGridView под конкретный источник данных. Но не судьба... такие вещи лучше делаются не через дизайнера. тулстрипы могут быть отцепляемыми и переносимыми, скрываемыми пользователем, скрываемыми по условиям, вся эта пользовательская настройка должна сохраняться. все действия на кнопках адресуются менеджеру команд, т.е. вообще нет смысла задавать евенты на кнопки через дизайнера. иконки и текст на кнопках тоже через дизайнера нет смысла задавать, это лучше через слой интернационализации.. вообще нахрен этот дизайнер впился, так до сих пор и не пойму. чтобы какая-нибуд Люся, не окончившая ПТУ могла мышкой кнопку с панели инструментов притащить? бред в общем.В целом я согласен. Но тут беда в том, что в WinForms нет языка разметки для декларативного описания формы, а на C# это описывать несколько неудобно. В WPF с этим гораздо лучше, в нём работать без дизайнера достаточно удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 18:44 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КВ целом я согласен. Но тут беда в том, что в WinForms нет языка разметки для декларативного описания формы, а на C# это описывать несколько неудобно. В WPF с этим гораздо лучше, в нём работать без дизайнера достаточно удобно. наверное, от части, поэтому WPF и был изобретён :) согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 19:01 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129Призм же сразу выходит с оговорками - он для "мегаапликаций".Эти оговорки меня просто убили. Я как-то уже их цитировал, повторюсь: Проблема: монолитные приложенияЗатем, для соединения всего вместе, надо будет использовать маршрутизированные события (RoutedEvent), маршрутизированные команды (RoutedCommands) и привязку данных. Эта тема подробнее освещается в статье Брайана Нойеса (Brian Noyes) «Understanding Routed Events and Commands in WPF» («Понимание маршрутизированных событий и команд в WPF»), которая вошла в этот выпуск журнала (msdn.microsoft.com/magazine/cc785480). PositionGrid имеет связанную RoutedCommand для выполнения выбора. В обработчике этой команды Execute при каждом выборе позиции происходит событие TickerSymbolSelected. TrendLine и NewsReader привязаны к нему, они ждут события TickerSymbolSelected и визуализируют свое содержимое, основываясь на выбранном биржевом коде. В данном случае приложение тесно привязано к каждому элементу управления. Для координации всех различных частей в интерфейсе пользователя имеется значительный объем логики . Также существует взаимозависимость между элементами управления.Для начала надо изучить возможности WPF, а потом делать выводы и, тем более, давать советы окружающим. Тогда не будет "значительного объёма логики" для интеграции различных частей между собой. И всё там будет нормально и с независимостью контролов друг от друга, и с параллельной разработкой и со всем остальным. Всё это решается описанием свойств зависимостей прикладного назначения и банальным биндингом различных частей UI между собой, описанных в виде CustomControl или UserControl, в зависимости от потребностей.. И как после этого можно верить авторам сего поделия, если "оговорки" тянут на премию "Шариков - сентябрь, 2008"? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 19:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttICollection и ICollection<T> -- разные по смыслу и замыслу интерфейсы, это совсем не тоже самое «только с типом». это и касается IDictionary/IDictionary<T>.Неправда. Коллекция по своей сути - это "Add", "Count" и итератор. Не больше и не меньше. Все недженерик коллекции имеют в том или ином виде операции добавления. Так почему не вынести Add на интерфейс? И да, ICollection и ICollection<T> - это абсолютно одинаковые по замыслу интерфейсы. Но только первый реализован криво - какой сомнительной компетентности проектировщик не добавил туда Add. Идиотизм. hVosttвсё логично, если подумать тем местом, что называется голова. я же сказал ICollection и ICollection<T> никак не коррелируют друг с другом, да и были спроектированы с довольно большим интервалом времени. кое что доосмыслилось при проектировании типизированных коллекций, а старое менять нельзя, надеюсь сам понимаешь почему. очень надеюсь.Неправда. Вы уже дважды сказали глупость, что они, дескать, не коррелируют. Ну тогда откройте эти парные интерфейсы в соседних вкладках, и переключаясь между ними, убедитесь, что IDictionary<> и IDictionary реализуют абсолютно одни и те же базовые методы (игнорируем ненужную шелуху вроде "IsSyncrionzied"). Аналогично и с ICollection<> и ICollection за тем исключением, что разработчики языка забыли добавить в ICollecton методы Add, Remove и Contains, создав тем самым бесполезного и уродливого монстра. По поводу ConcurrentBag ваш аргумент так же не катит по аналогичной причине. Добавлять в него можно? Да. Удалять можно? Да. Count брать можно? Да. Так почему он не имплементирует ICollection<>? Потому что коллекции в .Net плохо спроектированы, другого объяснения нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 23:45 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvПотому что коллекции в .Net плохо спроектированы, другого объяснения нет. Вы верно отметили, что нетипизированные варианты - древние жить не мешает, на недостатки - глубоко насрать ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2014, 23:55 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКоллекция по своей сути - это "Add", "Count" и итератор. Не больше и не меньше. Все недженерик коллекции имеют в том или ином виде операции добавления. Так почему не вынести Add на интерфейс? И да, ICollection и ICollection<T> - это абсолютно одинаковые по замыслу интерфейсы. Но только первый реализован криво - какой сомнительной компетентности проектировщик не добавил туда Add. Идиотизм.IList и List<T> нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 09:45 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КIList и List<T> нет?Каждый лист это коллекция. Не каждая коллекция это лист, ибо операция получения элемента по индексу зачастую не имеет смысла (напр., HashSet). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 09:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, Зачем спорить? Сказали же, что нетипизированные коллекции чего-либо - это анахронизм... Может в Java и привычно писать ArrayList, в .Net предпочитают типизированные варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 10:15 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КIList и List<T> нет?Каждый лист это коллекция. Не каждая коллекция это лист, ибо операция получения элемента по индексу зачастую не имеет смысла (напр., HashSet).Ну и что? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 10:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvНеправда. Вы уже дважды сказали глупость, что они, дескать, не коррелируют. Не коррелируют, ещё раз говорю. Похожие интерфейсы даже буква в букву ничего не означает. Типизированные и нетипизированные коллекции по определению -- разные. С нетипизированными сегодня практически уже нет смысла работать. Вообще. Нужно хранить объекты неизвестного типа? ICollection<Object>, про старые интерфейсы можно забыть и выкинуть на помойку. Они оставлены для совместимости. Поэтому прекращайте сношать мозг в жёсткой форме. cdtyjvПо поводу ConcurrentBag ваш аргумент так же не катит по аналогичной причине. Добавлять в него можно? Да. Удалять можно? Да. Count брать можно? Да. Так почему он не имплементирует ICollection<>? Потому что коллекции в .Net плохо спроектированы, другого объяснения нет. Не должен ни в коем случае. Даже если методы вроде бы похожи. Здесь я полностью согласен с разработчиками. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 10:29 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, отчасти согласен с вашим недоумением.. по поводу ICollection и ICollection<T> Где то на форуме один дядька (от туда) сказал. Типа такого: ICollection ну не оправдал наших надежд, получился уродцем в имплементации дженериков, вместо него создали ICollection<T>, а это недоразумение приходится таскать за собой.. По поводу ConcurrentBag vs ICollection, тут все наверное сложнее, как бы выскажу личное мнение. Все скорее завязано с могопоточностью, мы привыкли работая с ICollection садить блокировку снаружи, там есть такой метод Contains, который вообще бесполезен в конкурентной коллекции. Если учесть что совпадение не желательны ( мешок превращается в лист) мы производим не аттомарное добавление, проверяем есть ли? - если нет адд, так вот между проверкой и Add какой нибудь негодяй может вставить уже такое значение из другого потока, исключение конечно не получим но мешок останется, или садим блокировку с наружи, что уже будет курьёзом. Поэтому и не отнаследовали его от ICollection, что бы не будить лихо. Было бы конечно это хорошо, если бы,ConcurrentDictionary наследует ICollection, хотя и в явном виде (( Тут уже можно получить фокусы с с сообщениями об ошибках. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
зы в System.Collections.Concurrent ничего сокрального нет, все они реализованы на связных списках, вся скрытая блокировка через ядерные мониторы.. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степи, если уж разбираться, что в .NET действительно вызывает полнейшее недоумение, это архитектура исключений. а с коллекциями как раз проблем никаких нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:29 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttГде-то в степи, если уж разбираться, что в .NET действительно вызывает полнейшее недоумение, это архитектура исключений. а с коллекциями как раз проблем никаких нет. а что с ней не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttНе коррелируют, ещё раз говорю. Похожие интерфейсы даже буква в букву ничего не означает. Типизированные и нетипизированные коллекции по определению -- разные. С нетипизированными сегодня практически уже нет смысла работать. Вообще. Нужно хранить объекты неизвестного типа? ICollection<Object>, про старые интерфейсы можно забыть и выкинуть на помойку. Они оставлены для совместимости. Поэтому прекращайте сношать мозг в жёсткой форме.Вы не отличаете интерфейсы от имплементаций. За сим предлагаю закончить. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:36 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
kmawhVosttГде-то в степи, если уж разбираться, что в .NET действительно вызывает полнейшее недоумение, это архитектура исключений. а с коллекциями как раз проблем никаких нет. а что с ней не так? человечьей логике сия архитектура плохо соответствует, в общем Рихтер уже об этом всё высказал ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:37 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttkmawпропущено... а что с ней не так? человечьей логике сия архитектура плохо соответствует, в общем Рихтер уже об этом всё высказал а где почитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvВы не отличаете интерфейсы от имплементаций. За сим предлагаю закончить. если сказать вам по существу нечего, то конечно надо закончить. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:39 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
kmawа где почитать? РихтерСпециалисты Microsoft хотели сделать тип System.Exception базовым для всех исключений, а два других типа, System.SystemException и System.ApplicationException , стали бы его непосредственными потомками. Кроме того, исключения вброшенные CLR, стали бы производными от типа SystemException , в то время как исключения, появившиеся в приложениях, должны были наследовать от ApplicationException . Это дало бы возможность написать блок catch , перехватывающий как все CLR-исключения, так и все исключения приложений. Однако на практике это правило соблюдается не полностью; некоторые исключения являются прямыми потомками типа Exception , некоторые CLR-исключения наследуют от типа ApplicationException , а некоторые исключения приложений -- от типа SystemException . Из-за этой путаницы типы SystemException и ApplicationException не несут никакой особой смысловой нагрузки. В настоящее время Microsoft подумывает вообще убрать их из иерархии классов исключений, но это невозможно, так как приведёт к нарушению работы уже имеющихся приложений, в которых используются эти классы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 11:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvhVosttНе коррелируют, ещё раз говорю. Похожие интерфейсы даже буква в букву ничего не означает. Типизированные и нетипизированные коллекции по определению -- разные. С нетипизированными сегодня практически уже нет смысла работать. Вообще. Нужно хранить объекты неизвестного типа? ICollection<Object>, про старые интерфейсы можно забыть и выкинуть на помойку. Они оставлены для совместимости. Поэтому прекращайте сношать мозг в жёсткой форме.Вы не отличаете интерфейсы от имплементаций. За сим предлагаю закончить. запутался свеном в интерфейсах :) В чем ваша проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 12:01 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv Вы не отличаете интерфейсы от имплементаций. За сим предлагаю закончить. Я хоть учился на токаря, но точно знаю, что в профильных вузах на первом или втором курсе изучают такие структуры данных, как очередь и стек. Какой нафик в них Add? Задача ICollection обеспечить конкурентный доступ, копирование и получение информации о размере. Далее, если бы ICollection имел Add и ICollection<T> наследовался от него, какой вызывать, Add(object) или Add(T)? В момент разработки ICollection знали, что будет ICollection<T>! Далее, при разработке ICollection<T> посчитали, что о потокобезопасности надо заботиться в другом месте(видимо задумывались о ns Concurent), а вот ридонливость пригождается часто. Так то вот! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 12:36 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
а может свином не знает IList<T>? всегда им пользуюсь) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 12:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
я думаю, что надо прекращать метать бисер. это обыкновенный толстый троллинг, без малейшего желания в чём-то разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 13:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Интересно, что будет, когда топикстартер узнает об Immutable collections в дотнете. А также о коллекциях из F#, которые можно заюзать и в C#/VB.NET. Да и про Power Collections стоит упомянуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 13:39 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
petalvikИнтересно, что будет, когда топикстартер узнает об Immutable collections в дотнете. А также о коллекциях из F#, которые можно заюзать и в C#/VB.NET. Да и про Power Collections стоит упомянуть. скажи спасибо, он интерфейсы от имплементаций отличает, величайшее достижение! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 13:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ЕвгенийВЯ хоть учился на токаря, но точно знаю, что в профильных вузах на первом или втором курсе изучают такие структуры данных, как очередь и стек. Какой нафик в них Add?А вы когда добавляете элемент в очередь, и делаете Push() в стэк, вы тем самым разве не добавляете элемент в коллекцию? ЕвгенийВЗадача ICollection обеспечить конкурентный доступ, копирование и получение информации о размере.Вы, видимо, то же не отличаете интерфейс от имплементации. ICollection это интерфейс, описание. Он не может обеспечивать никакой конкурентный доступ, ваш кэп. ЕвгенийВДалее, если бы ICollection имел Add и ICollection<T> наследовался от него, какой вызывать, Add(object) или Add(T)? В момент разработки ICollection знали, что будет ICollection<T>!Дайте второму методу другое имя, и проблема решена. ЕвгенийВДалее, при разработке ICollection<T> посчитали, что о потокобезопасности надо заботиться в другом месте(видимо задумывались о ns Concurent), а вот ридонливость пригождается часто.Еще раз - это интерфейсы. Никакой конкаренси там нет. Если разработчики .Net смешали воедино теплое с мягким, и добавили в интерфейсы всякий шлак вроде "SyncRoot", то это только лишь говорит об их некомпетентности. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 15:41 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvНу есть там некоторые нелогичности в интерфейсах, ну и что? Чем это мешает жить? При использовании LINQ-to-Object с коллекциями в чистом виде мало приходится работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 15:59 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvА вы когда добавляете элемент в очередь, и делаете Push() в стэк, вы тем самым разве не добавляете элемент в коллекцию? Стек и очередь явно гарантируют очередность извлечения, которая напрямую зависит от добавления. Коллекция в общем виде этого не гарантирует. cdtyjv Вы, видимо, то же не отличаете интерфейс от имплементации. ICollection это интерфейс, описание. Он не может обеспечивать никакой конкурентный доступ, ваш кэп. ICollection - контракт, который реализации должны выполнять. cdtyjv Дайте второму методу другое имя, и проблема решена. Все проблемы можно решить введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества абстрактных слоёв. cdtyjv Еще раз - это интерфейсы. Никакой конкаренси там нет. Если разработчики .Net смешали воедино теплое с мягким, и добавили в интерфейсы всякий шлак вроде "SyncRoot", то это только лишь говорит об их некомпетентности. Это контракты, которые реализации должны выполнять. И если там есть SyncRoot, то разработчики посчитали, что данное свойство важно! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvЕвгенийВЗадача ICollection обеспечить конкурентный доступ, копирование и получение информации о размере.Вы, видимо, то же не отличаете интерфейс от имплементации. ICollection это интерфейс, описание. Он не может обеспечивать никакой конкурентный доступ, ваш кэп.Свеном, тупо определение в MSDN прочитай, чтобы понять о чём тебе говорят. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:06 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvICollection не имеет метода Add.Теперь имеет: Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К Теперь имеет: А если c-System.Text.RegularExpressions.CaptureCollection? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:20 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ЕвгенийВАлексей К Теперь имеет: А если c-System.Text.RegularExpressions.CaptureCollection? :) Все равно имеет. Просто не будет работать :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ЕвгенийВАлексей К Теперь имеет: А если c-System.Text.RegularExpressions.CaptureCollection? :)А как же. :-) public class CaptureCollection : ICollection , IEnumerable ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КЕвгенийВпропущено... А если c-System.Text.RegularExpressions.CaptureCollection? :)А как же. :-) public class CaptureCollection : ICollection , IEnumerableТак она по жизни неизменяемая, запутали меня совсем. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:24 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, тут (IList)c - упадет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:37 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ЕвгенийВАлексей К, тут (IList)c - упадет.Да я понял. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 16:39 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
а в java просто пистец как все логично. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 18:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
кормлю троля ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 18:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
swenom-а надо троллить в java-разделе , а то коллекции видите ли нетакие ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 19:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
kmawа в java просто пистец как все логично. да-да, Java это крестально-идиальный езык в вакууме для настоящих джигитов Код: java 1. 2. 3. 4. 5.
а как прелестно устроено работа с коллекциями Код: java 1. 2. 3. 4. 5. 6.
блевать почти не тянет. короче, джавадрочеры, лучше даже не лезьте со своим гуаном ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 19:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt , Вы меня продолжаете поражать качеством своих знаний, и качеством приводимых ссылок. Пройдемся по пунктам. 1) Cross-language interoperability. Разумеется, никакой интероперабилити у .Net нет. Есть байткод, есть среда исполнения байткода, и есть несколько компиляторов, создающих этот байткод из текста. .Net может работать только внутри самого себя. А что с Java? Да ничего особенного, кроме того, что эта фича была в ней заложена, когда .Net не было и в проекте. JVM точно так же работает с байткодом. И есть ряд языков с соответствующими компиляторами: Java, Scala, Closure. 2) Маршаллинг - никаких принципиальных отличий нет. В Java это интерфейсы, в .Net это аннотации и интерфейсы. Шило на мыло. 3) Pointers - разумеется, они есть в Java, на них построена огромная масса критичных по времени работы приложений. См. Unsafe. 4) Native types - я хз, что он имеет ввиду. Если value types, то да, их нет, скоро будут. 5) Fixed size buffer - см. Unsafe в Java. 6) Stack allocation - действительно, нету в Java. 7) Address of - см. Unsafe в Java. 8) Object pinning - см. Unsafe в Java. Итого, из 8 пунктов этот многоуважаемый автор ошибся в шести. Бывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 21:47 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, Однозначно и Java и .NET Framework промышленные технологии. И Java оказала большое влияние на C#. Но последний развивается более динамично, но и лидер далеко не определен. Треды последнего времени говорят, что старичок Lisp не рак и стар, скорее наоборот. P. S. нужно от бесполезных споров переходить к конструктивному диалогу! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 23:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
перенесите этот топик в ПТ, или закройте его. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2014, 23:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
kmawперенесите этот топик в ПТ, или закройте его. По каким причинам? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 00:51 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ЕвгенийВkmawперенесите этот топик в ПТ, или закройте его. По каким причинам? хочется поорать. ну сами же видите, что тема -фуфел ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 00:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvИтого, из 8 пунктов этот многоуважаемый автор ошибся в шести. Бывает. <irony>О.., ви таки утверждаете, что перед вбросом надо таки разобраться в вопросе?</irony> На самом деле мне фиолетово что и как там в Java, мне спорить незачем, т.к. свой выбор я уже сделал, а инфа приведена из первых же ссылок по запросу «Java is sucks», посмотреть на вашу реакцию. Вижу, что зацепило Надеюсь это поможет вам понять, что ваши наезды на коллекции .NET крайне топорные и дилетантские. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 08:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
kmawперенесите этот топик в ПТ, или закройте его. Согласен. Автор не задает вопросов, не просит помощи разобраться в чем либо, и вся суть темы топика - ".Net отстой, Java рулит". Тут только остается пожелать ему побыстрее вернуться на родимую яву, а топик отправить по вышеуказанному адресу. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 08:51 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttcdtyjvИтого, из 8 пунктов этот многоуважаемый автор ошибся в шести. Бывает. <irony>О.., ви таки утверждаете, что перед вбросом надо таки разобраться в вопросе?</irony> На самом деле мне фиолетово что и как там в Java, мне спорить незачем, т.к. свой выбор я уже сделал, а инфа приведена из первых же ссылок по запросу «Java is sucks», посмотреть на вашу реакцию. Вижу, что зацепило Надеюсь это поможет вам понять, что ваши наезды на коллекции .NET крайне топорные и дилетантские. Даже такое понятие такое существует Java.Next, видимо потому, что Java Current не особо.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 08:52 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ЕвгенийВДаже такое понятие такое существует Java.Next, видимо потому, что Java Current не особо.... Наконец-то один проект на Java закончен и на подходе очередной... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 09:09 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttНадеюсь это поможет вам понять, что ваши наезды на коллекции .NET крайне топорные и дилетантские.Да разобрались уже с коллекиями. Ваши коллеги подтвердили, что они кривые. Вопрос закрыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 09:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvhVosttНадеюсь это поможет вам понять, что ваши наезды на коллекции .NET крайне топорные и дилетантские.Да разобрались уже с коллекиями. Ваши коллеги подтвердили, что они кривые. Вопрос закрыт. Я рад, что Вы теперь спите спокойно ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 10:09 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Сон Веры Павловныkmawперенесите этот топик в ПТ, или закройте его. Согласен. Автор не задает вопросов, не просит помощи разобраться в чем либо, и вся суть темы топика - ".Net отстой, Java рулит". Тут только остается пожелать ему побыстрее вернуться на родимую яву, а топик отправить по вышеуказанному адресу.+1 Да и такие вбросы опасны. Так каждый воинствующий дилетант, вроде Свенома, начнёт тут жаловаться о том, что не выходит у него супер-пупер низкоуровневый универсальный обработчик из-за того, что "коллеции в .Net кривые". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 10:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAДа и такие вбросы опасны.Скорее скучны. Хочется нормального профессионального троллинга, а не унылого нытья... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 11:01 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КskyANAДа и такие вбросы опасны.Скорее скучны. Хочется нормального профессионального троллинга, а не унылого нытья... + ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 11:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANA, Да будет Вам, не уподобляйтесь: Когда весь мир пытается понять и улучшить платформу c#, а равно и разобраться в ней. У нас находятся отщепенцы, которые вот так без идейно, с ненавистью, могут огульно заявить что коллекции в # кривые. Скажем НЕТ, этим идейным паразитам, у диезников свободное общество: чемодан - вокзал - соседний форум.. чел задал вопрос, аргументировал его со своего ИМХО, что тут сложного указать где он не прав а где прав, причем тут тролинг? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 11:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степичел задал вопрос, аргументировал его со своего ИМХО, что тут сложного указать где он не прав а где правЕму два раза сказали про linq-to-object. А ему пофиг. Броню включил и прёт как танк со своим ICollection. Где-то в степипричем тут тролинг?Называй это как хочешь. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 11:17 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, авторЕму два раза сказали про linq-to-object. А ему пофиг надо было рассказать еще про idisposeble и stringbuilder ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 11:24 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степинадо было рассказать еще про idisposeble и stringbuilderСогласен. В IDisposable, как и в ICollection, тоже нет метода Add. А в StringBuilder-е метод добавления называется Append. Чё за бардак? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 11:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, автор linq-to-object авторЧё за бардак че то вспомнилось из блогов Липперта, как они ( компильщики) реализовывают фитчи и взаимодействуют с другими командами разработчиков ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 11:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
вопрос был дебильный типа, а зачем НЕТ , когда есть Джава? ....................???,...................SAP? .... а затем что, за Джава, САП и т.д. не платят тому кто пишет, НЕТ,??? и т.д. а так все одно говно ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 13:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КЕму два раза сказали про linq-to-object. А ему пофиг.Какой нафиг linq-to-object? Где я спрашивал про него? У меня совершенно другая залача, где LINQ совершенно неприменим. Можете сказать про это и третий, и четвертый раз, менее кривыми коллекции в .Net не станут. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 13:43 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КЕму два раза сказали про linq-to-object. А ему пофиг.Какой нафиг linq-to-object? Где я спрашивал про него? У меня совершенно другая залача, где LINQ совершенно неприменим. Можете сказать про это и третий, и четвертый раз, менее кривыми коллекции в .Net не станут. а меня куй кривой. и чо? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 13:45 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степичел задал вопрос, аргументировал его со своего ИМХО, что тут сложного указать где он не прав а где прав, причем тут тролинг?Ну это классическая ситуация. Сидит тут костяк дотентовцев, варятся сами в себе, хвалятся перед друг другом мнимой крутизной дотнета (выдумывая несуществующие критерии, см. 16230955 ), ничего дальше своего носа не видят, и начинают оголтело отстаивать кривизну, дескать, все нормально. Не надо называть черное белым. .Net - узкоприменимая, нишевая платформа. Как и в любых других сложных продуктах в ней есть косяки. Я лишь пытался понять мотивацию разработчиков, почему они сделали такую невообразимую хрень с коллекциями. Как высянилось, их мотивацией была просто напросто некомпетентность. Ну и ладно, хрен с ними. Свою задачу я уже давно решил. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 13:49 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvГде-то в степичел задал вопрос, аргументировал его со своего ИМХО, что тут сложного указать где он не прав а где прав, причем тут тролинг?Ну это классическая ситуация. Сидит тут костяк дотентовцев, варятся сами в себе, хвалятся перед друг другом мнимой крутизной дотнета (выдумывая несуществующие критерии, см. 16230955 ), ничего дальше своего носа не видят, и начинают оголтело отстаивать кривизну, дескать, все нормально. Не надо называть черное белым. .Net - узкоприменимая, нишевая платформа. Как и в любых других сложных продуктах в ней есть косяки. Я лишь пытался понять мотивацию разработчиков, почему они сделали такую невообразимую хрень с коллекциями. Как высянилось, их мотивацией была просто напросто некомпетентность. Ну и ладно, хрен с ними. Свою задачу я уже давно решил. иди в java плачься. я 4 года назад с ней имел дело. го.. все на любителя ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 13:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКак высянилось, их мотивацией была просто напросто некомпетентность получи медаль. иди жалуйся биллу ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 13:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv Не надо называть черное белым. .Net - узкоприменимая, нишевая платформа.Начни с себя, Свеном, будь мужиком. Узкоприменимый и нишевой - это язык R. А C# - это мейнстрим. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 13:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvУ меня совершенно другая залача, где LINQ совершенно неприменим. компетентность так и прёт со всех щелей уверен, что стоит вашего уважаемого свенома испросить, а что же это у него там за такая «совершенно другая задача», где «LINQ совершенно не применим», уверен что сольёт и в кусты. как и подобает джентльмену такого уровня. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 17:26 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttуверен, что стоит вашего уважаемого свенома испросить, а что же это у него там за такая «совершенно другая задача», где «LINQ совершенно не применим», уверен что сольёт и в кусты. как и подобает джентльмену такого уровня.Задача очень простая - протокол скоростной сериализации. Разумеется, всякий шлак вроде LINQ, мне нафиг не упал. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 17:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvРазумеется, всякий шлак вроде LINQ, мне нафиг не упал. с какого перепугу он здесь «не упал»? глупый бред пожалуйста не надо тут нести. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 17:46 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvпротокол скоростной сериализации делай на асме ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 17:49 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttс какого перепугу он здесь «не упал»? глупый бред пожалуйста не надо тут нести.Ну вы сначала изучите, что такое linq-to-object, почитайте объяснения Microsoft, когда его надо использовать, а там, глядишь, и сами сможете ответить на вопрос, почему он здесь "не упал". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 17:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvНу вы сначала изучите, что такое linq-to-object, почитайте объяснения Microsoft, когда его надо использовать, а там, глядишь, и сами сможете ответить на вопрос, почему он здесь "не упал". вы ответить на крайне простой вопрос можете или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 18:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvпочитайте объяснения MicrosoftСвоей головой думать надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 18:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvhVosttс какого перепугу он здесь «не упал»? глупый бред пожалуйста не надо тут нести.Ну вы сначала изучите, что такое linq-to-object, почитайте объяснения Microsoft, когда его надо использовать, а там, глядишь, и сами сможете ответить на вопрос, почему он здесь "не упал". да иди ты уже в джаву. там с блэк-джеком и шлюхами сядите с пацанами, и засрете этот нищебротский C#. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 18:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей Кcdtyjvпочитайте объяснения MicrosoftСвоей головой думать надо. любой дурачок из деревни может ответить на любой самый сложный вопрос типа "иди в библиотеке почитай", большого ума тут не надо. а называть «шлаком» LINQ, это вообще детский сад, человек как будто из берлоги вылез. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 18:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Люди, ну что вы накинулись на человека то? Ну не нравятся ему устаревшие коллекции в .Net. Это же не криминал, пусть и дальше не нравятся... И LINQ, каким бы прекрасным он не был, непосредственно к теме отношения не имеет. Такое чувство, что утверждение превосходства Java для многих как красная тряпка для быка. По мне так фиолетово. Я разницы концептуально и архитектурно не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 18:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttа называть «шлаком» LINQ, это вообще детский сад, человек как будто из берлоги вылез.Ооо, да вы еще и слова из контекста вырывать умеете. "Шлаком" LINQ является в моей задаче, так как он не нужен - я не делаю никаких запросов по коллекциям. У меня простая задача - приходит ICollection или ICollection<>. И мне надо положить туда данные, все. Какой нахрен LINQ? Вы бы мне еще посоветовали через EF это делать Это как в фильме "Горячие головы" - Тебе будут делать операцию на глазах? - Да, но что бы не повредить сетчатку, ее делают через задний проход ... Вот так же и у вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 18:44 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvhVosttа называть «шлаком» LINQ, это вообще детский сад, человек как будто из берлоги вылез.Ооо, да вы еще и слова из контекста вырывать умеете. "Шлаком" LINQ является в моей задаче, так как он не нужен - я не делаю никаких запросов по коллекциям. У меня простая задача - приходит ICollection или ICollection<>. И мне надо положить туда данные, все. Какой нахрен LINQ? Вы бы мне еще посоветовали через EF это делать Это как в фильме "Горячие головы" - Тебе будут делать операцию на глазах? - Да, но что бы не повредить сетчатку, ее делают через задний проход ... Вот так же и у вас. придурок, уйди уже в джаву ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 19:25 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, Женщина измеряла температуру ребенка разогрев духовку, прислонив одну руку к ней, а другую к голове ребенка. Она сказала медсестре, что у ребенка была температура около 120 градусов.(быль) авторУ меня простая задача - приходит ICollection или ICollection<> ну предположим прочитать то можно и через утиную типизацию GetEnumerator(). А вот собрать его? ( десерелизовать), xm надо постараться, примерно 200 типов реализуют ICollection<>, чуть меньше тысячи ICollection где в некоторых и add нет в помине хоть и сериализуемые.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 19:41 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 20:49 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvУ меня простая задача - приходит ICollection или ICollection<>. И мне надо положить туда данные, все.В дотнетах для этого используют IList, о чём было сказано с самого начала. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КcdtyjvУ меня простая задача - приходит ICollection или ICollection<>. И мне надо положить туда данные, все.В дотнетах для этого используют IList, о чём было сказано с самого начала. да это тролище. все он знает. ему просто интересно наблюдать за его вбросами ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:01 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КВ дотнетах для этого используют IList, о чём было сказано с самого начала.Да я уже объяснил, почему: потому что в маразматичном представлении разработчиков .Net в коллекцию нельзя добавлять элементы. Ну бывает, это называется некомпетентностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КВ дотнетах для этого используют IList, о чём было сказано с самого начала.Нет, в .Net много коллекций. Во всех них можно класть элементы (за исключением read-only), но общего метода для этого нет. В этом и проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:06 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КВ дотнетах для этого используют IList, о чём было сказано с самого начала.Нет, в .Net много коллекций. Во всех них можно класть элементы (за исключением read-only), но общего метода для этого нет. В этом и проблема. а зачем ты врукопашную реализуешь интерфейсы? чем конкретно тебя не страивают готовые коллекции? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КВ дотнетах для этого используют IList, о чём было сказано с самого начала.Да я уже объяснил, почему: потому что в маразматичном представлении разработчиков .Net в коллекцию нельзя добавлять элементы. Ну бывает, это называется некомпетентностью.В коллекцию нельзя, зато в список можно. IList чем не угодил? Название не нравится? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Абсолют, Да он не нужен (Add) если его нет в контексте десериализации ( собрать объект) в конце концов внутреннее содержание объекта ( в виде поля) имеет законченный более реальный тип, чем то что торчит наружу типа перечисления или IList, равно и для врапперов коллекций (as TempFileCollection) , а содержательные коллекции практический все имеют конструктор с заполнением... add даже не трогаем.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КВ дотнетах для этого используют IList, о чём было сказано с самого начала.Нет, в .Net много коллекций. Во всех них можно класть элементы (за исключением read-only), но общего метода для этого нет. В этом и проблема.Они все реализуют IList? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:09 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvУ меня простая задача - приходит ICollection или ICollection<> . И мне надо положить туда данные, все. Шел 2014 год... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:14 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КВ дотнетах для этого используют IList, о чём было сказано с самого начала.Да я уже объяснил, почему: потому что в маразматичном представлении разработчиков .Net в коллекцию нельзя добавлять элементы. Ну бывает, это называется некомпетентностью. Считаю это скороспелым утверждением, тем более высказано в такой декларативной форме, и не один раз.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:15 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, Что означает "приходит ICollection и нужно положить туда данные" ? Откуда "приходит"? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:41 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КВ коллекцию нельзя, зато в список можно. IList чем не угодил? Название не нравится?Уже отвечал: потому что любой список это коллекция, но не любая коллекция это список. Например, у меня в руках Queue, мне надо его заполнить. Так понятнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:41 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КОни все реализуют IList?Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилЧто означает "приходит ICollection и нужно положить туда данные" ? Откуда "приходит"?Извне, разумеется. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:43 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, Может, вы конкретнее покажете? На примере вашей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:48 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, авторНапример, у меня в руках Queue, мне надо его заполнить. Так понятнее? public Queue(ICollection col) одним ударом через конструктор Queue ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Наверное я поторопился, я бы скорее отнёсся к нему как к обертке и сделал более глубокую десериализацияю через внутренне поле as нативный массив private object[] _array; ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 21:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степиcdtyjv, авторНапример, у меня в руках Queue, мне надо его заполнить. Так понятнее? public Queue(ICollection col) одним ударом через конструктор QueueУточню задачу. У меня в руках есть поток данных, и больше ничего. Из него я вычитываю некий маркер, который говорит мне, что дальше в потоке идет сериализованная коллекция некоего типа. В Java я бы на основании этого типа инстанциировал коллекцию (тут бы возможно потребовался какой-то if/switch), и запихал в нее данные через Add, так как в любую коллекцию можно добавлять данные, это и дураку понятно - на то она и коллекция. А в .Net мне это не сделать. Так как не существует универсального способа класть данные в коллекцию. Идиотизм собственной персоной. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvидет сериализованная коллекция некоего типа Коллекция .Net? Может, спокойно десериализовать, если знаете тип? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, вот в данном случае, я получаю маркер что идут объекты простого Queue и пошли поля этого объекта одно поле (закрытое) является массивом я заполняю простейший массив , заканчиваю с Queue и иду дальше. зы не дай вам бог использовать Activator.CreateInstance ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
все коллекции это просто обертки над массивом А интерфейсы этих оберток это просто интерфейсы. конечно в плане маршалинга ( упаковки) хочется подняться по выше массива что бы поиметь более сжатую форму передачи, понадеяться на выигрыш в скорости. Ну тогда появляется лоскутное одеяло из if_ов, но и сериализаторов выбор большой ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степивот в данном случае, я получаю маркер что идут объекты простого Queue и пошли поля этого объекта одно поле (закрытое) является массивом я заполняю простейший массив , заканчиваю с Queue и иду дальше.Еще уточню - у меня кроссплатформенная сериализация. Мне приходит коллекция в некоем универсальном виде. Поэтому ни про какие "создать массив" речи не идет, так как все возможные коллекции этим не покрыть. Где-то в степизы не дай вам бог использовать Activator.CreateInstanceЯ FormatterService использую. Где-то в степивсе коллекции это просто обертки над массивомНу это не так. Массив применим к спискам и очередям. LinkedList - уже не массив. HashSet - не массив. Hashtable - не массив. И т.д.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, про связанные списки соглашусь, всегда про них забываю, FormatterService - гут а все остальное для меня абстрактно, глубина ширина, и что приходит.., хотите через интерфейсы готовьтесь к if ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 23:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, В каком виде информация о типе в сериализованных данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 23:26 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Свеном, ты таки жжешь. Если у тебя "кроссплатформенная" сериализация, то возьми уже Protocol Buffers или Thrift какой и не возбуждайся по пустякам. Если же есть желание повбрасывать, то расскажи нам, гуру Явы, какие малолетние индусы-укурки проектировали Date & Time API? Почему "A year y is represented by the integer y - 1900" и 2014 год у вас представлен как 104? Почему "A month is represented by an integer from 0 to 11; 0 is January, 1 is February, and so forth; thus 11 is December."? Почему эти классы мутабельные? Почему нужен отдельный java.sql.Date? Где у даты TimeZone? "Как вы с этим живете" и все такое прочее. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 00:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
забавно всё, явсксий add для коллекции - optional operation имеет полное право UnsupportedOperationException выбросить ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 00:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропил, я про это и имел ввиду приведя ссылку выше. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 01:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
топикстартер похоже пытается по типу коллекции (хранимому в сериализованных данных) сконструировать конкретную пустую коллекцию и наполнять её универсальным образом методом add ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 01:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvУточню задачу. У меня в руках есть поток данных, и больше ничего. Из него я вычитываю некий маркер, который говорит мне, что дальше в потоке идет сериализованная коллекция некоего типа. В Java я бы на основании этого типа инстанциировал коллекцию (тут бы возможно потребовался какой-то if/switch), и запихал в нее данные через Add, так как в любую коллекцию можно добавлять данные, это и дураку понятно - на то она и коллекция. не прошло и пол года, уточнять с самого начала надо было. кстати, а как вы собираетесь "инстанцировать" коллекцию типа ICollection? вы же вроде умный, умеете отличать интерфейс от имлементации. cdtyjvА в .Net мне это не сделать. Так как не существует универсального способа класть данные в коллекцию. Идиотизм собственной персоной. это у вас, батенька, ручки кривые. универсальный способ класть данные в коллекцию есть, это IList указали на это уже несколько раз, но вы с упорством, достойным всяческих похвал, продолжаете зарываться рогом в землю. в конце концов, если бы Великий Создатель наделил вас способностью гуглить, вы бы легко нашли топик http://stackoverflow.com/questions/11690147/why-does-icollection-not-contain-an-add-method ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 03:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttв конце концов, если бы Великий Создатель наделил вас способностью гуглить, вы бы легко нашли топикК сожалению Великий Создатель вместо этого наделил его способностью троллить... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 03:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttуниверсальный способ класть данные в коллекцию есть, это IList указали на это уже несколько раз, но вы с упорством, достойным всяческих похвал, продолжаете зарываться рогом в землю.Бред. IList это частный случай коллекции. А если у меня в руках HashSet? hVosttв конце концов, если бы Великий Создатель наделил вас способностью гуглить, вы бы легко нашли топик http://stackoverflow.com/questions/11690147/why-does-icollection-not-contain-an-add-method Прочитал верхний ответ: "В случае же ICollection<T> мы знаем тип объектов, а потому можем их добавлять ...", закрыл. Эту чушь читать невозможно. ICollection хранит в себе объекты. Это означате, что я могу добавлять туда что-угодно. Перестаньте ссылаться на отстойные источники. То Википедию мне подсовываете, то теперь статью со Стэка с кучей дилетантских ответов. Зачем мне это? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 09:32 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КВ коллекцию нельзя, зато в список можно. IList чем не угодил? Название не нравится?Уже отвечал: потому что любой список это коллекция, но не любая коллекция это список. Например, у меня в руках Queue , мне надо его заполнить. Так понятнее?А если у тебя, например, FileStream будет в руках, тоже его будешь сериализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 09:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvГде-то в степиcdtyjv, пропущено... public Queue(ICollection col) одним ударом через конструктор QueueУточню задачу. У меня в руках есть поток данных, и больше ничего. Из него я вычитываю некий маркер, который говорит мне, что дальше в потоке идет сериализованная коллекция некоего типа. В Java я бы на основании этого типа инстанциировал коллекцию (тут бы возможно потребовался какой-то if/switch), и запихал в нее данные через Add, так как в любую коллекцию можно добавлять данные, это и дураку понятно - на то она и коллекция. А в .Net мне это не сделать. Так как не существует универсального способа класть данные в коллекцию. Идиотизм собственной персоной.Ну напиши набор адаптеров для поддержки добавления во все объекты, которые в твоём понимании являются коллекциями. Ты времени тут на форуме больше потратил. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 09:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, гипотеза: топикстартер пытается десериализатор явскоко протокола сериализации написать потому - тщательно скрывает, откуда у него информация о десереализуемом типе берётся ("извне", "приходит", "на руках") ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 10:18 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей К, гипотеза: топикстартер пытается десериализатор явскоко протокола сериализации написать потому - тщательно скрывает, откуда у него информация о десереализуемом типе берётся ("извне", "приходит", "на руках")Может про SOAP ему рассказать? Или рано ещё? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 12:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КА в StringBuilder-е метод добавления называется Append. Чё за бардак? И не говори. Длина массива - Length. Длина коллекции - Count. Ясен пень, что Net - ацтой и маздай! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИли рано ещё? рано. откуда берётся десериализуемый тип - интересно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КcdtyjvУ меня простая задача - приходит ICollection или ICollection<>. И мне надо положить туда данные, все.В дотнетах для этого используют IList, о чём было сказано с самого начала. +1. После его появления никакие ICollection не нужны ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79cdtyjv, Может, вы конкретнее покажете? На примере вашей задачи. +1. Мне тоже интересно. При переходе с одного языка на другой сознательно и несознательно тащаться старые привычки. Я фообще не понимаю, зачем опускаться столь низкий на уровень, когда ощущается разница между ICollection и ICollection<T> ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:34 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvИз него я вычитываю некий маркер, который говорит мне, что дальше в потоке идет сериализованная коллекция некоего типа Маркер несет информацию о типе? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КИли рано ещё? рано. откуда берётся десериализуемый тип - интересноИз существующего явогового сервера, мне показалось. Решается задача прикрутить к нему дотнетного клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, как информация о типе коллекции может звучать в контексте кроссплатформенности? вообще о типе? или xsd аки soap, или примитивы на уровне json или межгалактическое соглашение - контракт для тур дефранс ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИз существующего явогового сервера, мне показалось. а мне показалось - из потока сериализации ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:10 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КИз существующего явогового сервера, мне показалось. а мне показалось - из потока сериализацииНу поток ведь откуда-то берётся. Тут вопрос в другом, если захотелось кроссплатформенного взаимодействия, почему не выбран стандарт? Накой тут велосипед? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:15 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КТут вопрос в другом, если захотелось кроссплатформенного взаимодействия, почему не выбран стандарт? XML изобретен уже давно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей Кпочему не выбран стандарт топикстартер за стандарт принял Java Object Serialization Stream Protocol и пытется сожрать кактус ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Cat2Алексей КТут вопрос в другом, если захотелось кроссплатформенного взаимодействия, почему не выбран стандарт? XML изобретен уже давноИ даже более высокий уровень, SOAP например. зы: и вопрос номер два - накой в DTO использовать такие специфичные структуры данных, как Stack, Queue, Dictionary или HashSet? Чтобы потом ныть на форуме? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей Кнакой в DTO использовать такие специфичные структуры данных, как Stack, Queue, Dictionary или HashSet? автор же сказал - универсальное решение создаёт ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:29 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvБред. IList это частный случай коллекции. А если у меня в руках HashSet? Блин, да не тупи ты. Если у тебя пришёл маркер хэшсета - используй хэшсет. Если пришёл маркер ICollection - используй IList, добавляй элементы, а потом отдавай ICollection. Всё! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей Кнакой в DTO использовать такие специфичные структуры данных, как Stack, Queue, Dictionary или HashSet? автор же сказал - универсальное решение создаётМысль хорошая. Этакий Java-Net-Remoting++. Microsoft в своё время отказалось от такой постановки задачи, но может у него получится. Тут главное, чтобы финансирование проекта шло не за счёт российских налогоплательщиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:36 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей Кнакой в DTO использовать такие специфичные структуры данных, как Stack, Queue, Dictionary или HashSet? автор же сказал - универсальное решение создаёт Ну тогда конечно. Срыв шаблона - универсальное решение для явы не подходит для нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Cat2XML изобретен уже давноНе менее давно специалисты знают, насколько XML медленнее бинарных протоколов. Алексей КИ даже более высокий уровень, SOAP например.Попробуйте проделать следующее: 1) Создайте строку. 2) Превратите ее в байты в какой-нибудь дефолтной кодировке, например UTF8. Замерьте размер полученного массива. 3) Теперь запихните эту же строку в SOAP сообщение. Теперь превратите это сообщение в байты и замерьте размер полученного массива. После анализа полученных результатов вы никогда не будете упоминать ни XML, ни тем более SOAP в контексте высокопроизводительных решение :-) Алексей Кзы: и вопрос номер два - накой в DTO использовать такие специфичные структуры данных, как Stack, Queue, Dictionary или HashSet? Юзерам они нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 21:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей Кзы: и вопрос номер два - накой в DTO использовать такие специфичные структуры данных, как Stack, Queue, Dictionary или HashSet? Юзерам они нужны. с коллекциями понятно,а как десериализуются объекты, входящие в коллекции? отуда берутся соответствующие типы .net ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 01:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
petalvikмаркер хэшсета - используй хэшсет пришёл маркер Windows XP. щто делать? пачиму в .NET нет интефрейса WIndows XP. .NET ужасен! щто за дибилъ его придумал? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 01:29 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvНе менее давно специалисты знают, насколько XML медленнее бинарных протоколов. да-а-а? и на сколько же? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 01:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv3) Теперь запихните эту же строку в SOAP сообщение. Теперь превратите это сообщение в байты и замерьте размер полученного массива. После анализа полученных результатов вы никогда не будете упоминать ни XML, ни тем более SOAP в контексте высокопроизводительных решение :-)В высокопроизводительных решениях стараются не гонять большие объёмы между звеньями. В таких условиях разницей между XML и бинарной сериализацией можно принебречь. Впрочем, есть MTOM . .Net его поддерживает. Java, наверное, тоже. cdtyjvАлексей Кзы: и вопрос номер два - накой в DTO использовать такие специфичные структуры данных, как Stack, Queue, Dictionary или HashSet?Юзерам они нужны.Особенно старшему руководящему составу. Да и менеджерам среднего звена тоже не помешает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 06:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилcdtyjvпропущено... Юзерам они нужны. с коллекциями понятно,а как десериализуются объекты, входящие в коллекции? отуда берутся соответствующие типы .net ?Жёстко, но справедливо. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 06:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttда-а-а? и на сколько же? Только на SQL.ru можно встретить спецов, которые будут спорить о том, что текстовые XML-протоколы могут соревноваться в скорости с бинарными. Алексей КВ высокопроизводительных решениях стараются не гонять большие объёмы между звеньями. В таких условиях разницей между XML и бинарной сериализацией можно принебречь.Это в ваших корпоративных приложениях можно принебречь. Но в мире полно других приложений с другими требованиями по времени отклика. Я прекрасно понимаю, что в .Net это редкость, и вы больше по части формочек и сайтов, но все же. Изопропилс коллекциями понятно,а как десериализуются объекты, входящие в коллекции? отуда берутся соответствующие типы .net ?Оттуда же, откуда их берут любые другие сериализационные решения - метаданные, конфигурация. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 08:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvТолько на SQL.ru можно встретить спецов, которые будут спорить о том, что текстовые XML-протоколы могут соревноваться в скорости с бинарными. типичный ответ тролля, который понятия не имеет о чём говорит. повторю свой вопрос. на сколько быстрее? сомневаюсь, что получу ответ на свой вопрос. взамен задам другой вопрос, что быстрее, легковой седан (бренд и марку выбрать любую по вкусу) или древний уазик? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 09:14 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttповторю свой вопрос. на сколько быстрее?Я уже приводил ответ выше: 1) Засериалуйте стрингу в байты. 2) Поток оберните ее в SOAP-конверт и так же засериализуйте в байты. 3) Сравните размеры полученных массивов. Во столько раз больше данных у вас будет бегать по сети. Это и есть приблизительный ответ. В зависимости от кривоты имплементации DOM/SAX-процессоров в .Net, разница будет от нескольких раз до десятков. Собственно, поэтому и существуют Thrift, Protobuf, Kryo, Avro и прочие. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 09:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt , Вот интересная статистика по разным сериалайзерам http://stackoverflow.com/questions/549128/fast-and-compact-object-serialization-in-net Как я и сказал выше, проигрыш в XML идет в разы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 09:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv проигрыш в XML идет в разы. Каждая фишка хороша на своем месте. Тут надо считать отношение время процессора/время программиста. Для разных проэктов оно будет разное. Если нужна гибкость и легкость поддержки - то ХМЛ, заодно есть требования безопасности - байтовый поток может содежать вирусы, текстовый - легче контролировать. Есть свои большие плюсы. Там, где важна скорость, и выигрыш в милисекундах реально выливается в часы - там можно и заморочиться более низким уровнем. Проигрыш даже в 3 раза не является в наше время критичным для связи. Говорите точнее - например - "массив байтов передается на 30 милисекунд быстрее" . "Ок" , скажет менеджер, - "а стоит дороже. Я не готов платить за 30 милисекунд!" Вот и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:24 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КВ высокопроизводительных решениях стараются не гонять большие объёмы между звеньями. В таких условиях разницей между XML и бинарной сериализацией можно принебречь.Это в ваших корпоративных приложениях можно принебречь. Но в мире полно других приложений с другими требованиями по времени отклика. Я прекрасно понимаю, что в .Net это редкость, и вы больше по части формочек и сайтов, но все же.Не зацепило. Пиши ещё. Пока пишешь - думай о правильной архитектуре, преждевременной оптимизации и экономии на спичках. Попутно сравни дельту времени, которую ты выигрываешь на бинарной сериализации, с сетевым пингом. Результаты исследования доложи своему руководству. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:26 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvИзопропилс коллекциями понятно,а как десериализуются объекты, входящие в коллекции? отуда берутся соответствующие типы .net ?Оттуда же, откуда их берут любые другие сериализационные решения - метаданные, конфигурация.Схему-то хоть стандартную взял? XSD? Или опять велосипед? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvТолько на SQL.ru можно встретить спецов, которые будут спорить о том, что текстовые XML-протоколы могут соревноваться в скорости с бинарными.Только на скуле можно встретить специалиста, сравнивающего язык разметки с протоколом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 10:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей Кcdtyjvпропущено... Это в ваших корпоративных приложениях можно принебречь. Но в мире полно других приложений с другими требованиями по времени отклика. Я прекрасно понимаю, что в .Net это редкость, и вы больше по части формочек и сайтов, но все же.Не зацепило. Пиши ещё.Да он это уже писал и не раз. Видимо спёкся Свеном, не может новый оригинальный вброс придумать. Возможно ему нужен очередной бан и, как следствие, новый ник. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 11:03 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Не зацепило. Пиши ещё.Да он это уже писал и не раз. Видимо спёкся Свеном, не может новый оригинальный вброс придумать. Возможно ему нужен очередной бан и, как следствие, новый ник.Может ему в отпуск пора? Потом после отпуска с новыми силами... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 11:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvЯ уже приводил ответ выше: 1) Засериалуйте стрингу в байты. 2) Поток оберните ее в SOAP-конверт и так же засериализуйте в байты. 3) Сравните размеры полученных массивов. Во столько раз больше данных у вас будет бегать по сети. Это и есть приблизительный ответ. В зависимости от кривоты имплементации DOM/SAX-процессоров в .Net, разница будет от нескольких раз до десятков. Собственно, поэтому и существуют Thrift, Protobuf, Kryo, Avro и прочие. да... так и не увидел я ответа, речь шла о скорости сериализации, а не про размер байтов. учитывая ряд преимуществ, начиная от безопасности, заканчивая способностью проталкнуть галимый текст через любые барьеры, валидация, и абсолютная увереность, что любое мудацкое ПО, на любой самой мудацкой платформе, написанное на одном из самых мудацких языков, способно ЭТО прочитать, то жирность можно простить. а на счёт того, "на сколько быстрее", рекомендую как-нибудь не полениться и проверить на практике. именно свою задачу. вот такие пешки О_О гарантирую. ибо ваши рассуждения быстрее-медленнее больше похожи на девчачьи, "красивее-ужаснее", а не на подкреплённые реальной практикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 12:32 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКак я и сказал выше, проигрыш в XML идет в разы. в русском сибирском лесу раздолбанный русский уазик уделает любой порше и б́ольшую часть внедорожников. слушая ваши рассуждения я себя вспоминаю лет 15 назад. максимализъм, оторванный от реальности, бу-га-га... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 12:36 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКак я и сказал выше, проигрыш в XML идет в разы. XML используется не для решения задач производительности, а для стандартизации. А стандартизация - это такая вещь, которая поважнее многих производительностей будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 16:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt а не на подкреплённые реальной практикой. А вот это уже наезд. Я работал и с байтами - читая их напрямую из сокета, и со всякими там WCF. Между прочим, у последнего есть тип байндинга как раз бинарный - то есть, надо будет, включаешь. А что касается низкоуровневых сокетов - то читать параметры из битов, установленных в шестнадцатиразрядном целом, это наверное, очень быстро было. Но это было при связи с контроллером. То есть, не было выбора. А когда выбор есть - то выбирается простота. Связь сейчас черезчур быстрая, и дешевая, чтобы на ней экономить. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 16:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129А вот это уже наезд. Я работал и с байтами - читая их напрямую из сокета, и со всякими там WCF. Между прочим, у последнего есть тип байндинга как раз бинарный - то есть, надо будет, включаешь. А что касается низкоуровневых сокетов - то читать параметры из битов, установленных в шестнадцатиразрядном целом, это наверное, очень быстро было. Но это было при связи с контроллером. То есть, не было выбора. А когда выбор есть - то выбирается простота. Связь сейчас черезчур быстрая, и дешевая, чтобы на ней экономить. меня вот что поражает. ведь много всего есть. и молотки, и микроскопы, и ножи, и топоры, пассатижи, отвёртки... как же выбрать правильный инструмент? наверное надо брать самый мощный? кувалда! да, лучше чем микроскоп, определённо. и чё тут думать? что за придурки выдумали микроскоп? есть же нормальная такая мужская кувалда. когда начинают рассуждать о чём-то в отрыве от контекста реальной задачи, это просто смешно. XML медленный... что это $#ть, значит? для чего? что за детский сад, не пойму? из какой берлоги некоторые товарищи повылазили? или это лето так действует на неокрепший детский мозг? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 16:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Я понимаю, почему адепты дотнета искренне не понимают, зачем нужен перфоманс: вы просто дальше обычных корпоративных сайтиков ничего не видели, и не разрабатывали. Окей, расскажу. Я разрабатываю коробочный продукт. Потенциальные покупатели оценивают его по ряду характеристик, которые условно можно разделить на качественные и количественные. Качественные характеристики - это что бы в продукте был заявленный функицонал, что бы не вылетали ошибки, что бы его можно было легко конфигурировать, и т.д.. Количественные характеристики - это его скорость (читай - операций в секунду) и потребление памяти на стандартных наборах данных. Когда кому-то нужен этот продукт, он сначала шерстит рынок, и находит предварительно подходящие варианты. Потом на этапе предварительного эвалуэйшена откидывает откровенный шлак. Оставшиеся вендоры подвергаются тестированию. Как правило, с качественными характеристиками все более менее на одном уровне. Возьмите Thrift, Protobuf и Avro, и посмотрите на то, что они умеют. Этого за глаза хватает подавляющему большинству кастомеров. Поэтому наиболее интересным этапом отбора является количественное тестирование, когда юзеры начинают гонять данные и смотреть на следующие вещи: - загрузку сети - загрузку процессора - скорость передачи полезной информации - количество операций в секунду - нагрузку на память. И когда вы к ним придете со своим несчастным SOAP, и покажите результат в несколько раз хуже других, ибо даже дураку понятно, что XML будет работать медленнее практически всего, то ни про какие premarute optimization вы им даже заикнуться на успеете, так как с вами просто перестанут разговаривать, и выкинут из конкурса. Вы же смотрите на вещи со стороны прикладного программиста, который сидит в каком-нибудь банке, и пилит очередную унылую учетную систему. Конечно, вашему супер-пупер решению, где бухгалтерша посылает отчетик раз в пятилетку, не нужна никакая скорость. Вам этого XML хватит за глаза на годы вперед. Но, представьте себе, есть и другие проекты, где нужна максимальная скорость. Например, высокоскоростная торговля. Пойдите-ка и расскажите им про свой XML и premature optimization. Так что не пишите ерунды про "берлоги" и "быстрый XML", вы тем самым выставляете себя дилетантами. Лучше расширяйте свой кругозор. У того, чем сейчас занимаюсь я, цель простая - он должен порвать по скорости конкурентов, которых как минимум 4 штуки. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 19:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvУ того, чем сейчас занимаюсь я, цель простая - он должен порвать по скорости конкурентов, которых как минимум 4 штуки. О! Стало быть, проект пишется на голом Си? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 19:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
petalvikО! Стало быть, проект пишется на голом Си?Отнюдь. Еще один дилетантский миф, что все сверхбыстрое должно быть написано на сях. Код, который генерирует JIT в Java не смогут превзойти по скорости подавляющее большинство программистов C/C++. А если и смогут, то не в разы, а дай бог, что б на пару десятков процентов. Но это мы говорим про какую-нибудь процедурку. А когда у вас проект на десятки и сотни тысяч строк кода, то на этот выигрышь всем становится плевать, так как пока синики напишут соответствующий функционал, таки выжав дополнительные 10 процентов, джависты и дотнетовцы уже займут весь рынок, благодаря высокой скорости разработки. Пипец, среди вашей тусовки есть хоть кто-то, кто не мыслит шаблонами? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 19:29 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvpetalvikО! Стало быть, проект пишется на голом Си?Отнюдь. Еще один дилетантский миф, что все сверхбыстрое должно быть написано на сях. Код, который генерирует JIT в Java не смогут превзойти по скорости подавляющее большинство программистов C/C++. А если и смогут, то не в разы, а дай бог, что б на пару десятков процентов.В Java можно отключить контроль типов и границ массивов? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 19:33 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КВ Java можно отключить контроль типов и границ массивов?Ерунду не спрашивайте. После ваших перлов про XML, вопросы про контроль границ массива выглядят смешно. В Java есть прямой доступ к памяти процесса через специальный утилитарный класс. Вызов операций чтения/записи этого класса после компилирования JIT-ом вырождается в одну единственную инструкцию mov. Поэтому если вы дошли до того, что вам проверки границ массивов начинают отравлять жизнь, то вы берете этот класс, и начинаете фигачить что-угодно и куда-угодно без каких-либо проверок. Конкретно в моей задаче это не является узким местом. У меня другие узкие места - сеть, аллокации массивов, последовательная vs рандомная запись/чтение в/из MemoryStream, рефлекшн. Разумеется, у меня есть некоторое количество unsafe кода. И я уверен, что добавь я его еще больше, приложение станет работать еще быстрее. Но так как на данный момент я не уперся в это, я склон считать, что выигрыш от этого с учетом амортизации будет крайне и крайне невелик. Поэтому мне плевать на эти несчастные границы массивов. Но если надо будет - я от них смогу избавиться, как в Java, так и в .Net. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 19:43 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvУ меня другие узкие места - сетьЭто да, как было сказано выше, сеть все твои потуги сводит к нулю. cdtyjvаллокации массивовТут-то что не так? Они у тебя здоровые и в LOH попадают? Или что? cdtyjvпоследовательная vs рандомная запись/чтение в/из MemoryStreamЧто за ацкий алгоритм вызывает такую дилемму? cdtyjvрефлекшнЭто жёстко. Если ты такой реактивный, почему используешь рефлекшен? Читай про компиляцию Expression Tree или про более низкий уровень - Emit. cdtyjvРазумеется, у меня есть некоторое количество unsafe кода.Ну и что от него толку, если рядом используется рефлекшен? И эти люди учат нас ковыряться в носу... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 20:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvадепты дотнета искренне не понимают, зачем нужен перфоманс cdtyjvесть и другие проекты, где нужна максимальная скорость. Например, высокоскоростная торговля Я занимался трейдингом на C#. И я действительно подтверждаю, что использование SOAP, Xml и штатных форматтеров (даже BinaryFormatter) сильно замедляет процесс обмена данными. Самое лучшее по скорости из опробованного - в корпоративной сети Tcp/Ip, наружу поток через UDP, протокол самописный со своим форматтером либо использование движка FAST/FIX Тем не менее, где сверхскорость не нужна, было и Xml over MSMQ, и Xml over tcp, SOAP over tcp и SOAP over HTTP (интегрируемых систем было вагон и тележка) Так что вопрос в допустимой задержке. Коллеги по форуму хотят вам сказать, свеном, что для вашей задачи, ВОЗМОЖНО, вполне допустимо использование Xml и прочих высокоуровневых протоколов. Вы ведь не сказали, в какие рамки должны уложиться... Может, откроете, наконец, тайну - хотя бы какого класса/типа ваша разрабатываемая система и где именно в ней вы собираетесь порвать всех по скорости передачи данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 20:06 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Может, откроете, наконец, тайну - хотя бы какого класса/типа ваша разрабатываемая система и где именно в ней вы собираетесь порвать всех по скорости передачи данных? Рискну предположить - что-то типа cdtyjvThrift, Protobuf и Avro упомянутых автором выше ... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 20:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvВозьмите Thrift, Protobuf и Avro, и посмотрите на то, что они умеют. Этого за глаза хватает подавляющему большинству кастомеров. кастомера, эти потроха, мягко говоря, мало интересуют. Если я правильно понимаю, кто есть кастомер, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 21:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Так что вопрос в допустимой задержке. Коллеги по форуму хотят вам сказать, свеном, что для вашей задачи, ВОЗМОЖНО, вполне допустимо использование Xml и прочих высокоуровневых протоколов. Вы ведь не сказали, в какие рамки должны уложиться...Коробочный продукт, на основе которого кастомеры строят свои решения. Поэтому критерий только один - как можно быстрее. XML под этот критерий не попадает никоим образом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2014, 21:59 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvИ когда вы к ним придете со своим несчастным SOAP, и покажите результат в несколько раз хуже других, ибо даже дураку понятно, что XML будет работать медленнее практически всего, то ни про какие premarute optimization вы им даже заикнуться на успеете, так как с вами просто перестанут разговаривать, и выкинут из конкурса. От такой невиданной глупости я аж прослезился. Всё остальное такой же бред. Как я уже говорил, рассуждения на уровне детского сада, в отрыве от контекста конкретной задачи говорить, что «SOAP в несколько раз хуже других» — это заявление не мужа, а пацана со двора, который ещё не переболел максимализмом. Желаю вам повзрослеть, и надеюсь когда-нибудь вам доведётся писать «коробочное решение для юзеров». ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 08:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Может, откроете, наконец, тайну - хотя бы какого класса/типа ваша разрабатываемая система и где именно в ней вы собираетесь порвать всех по скорости передачи данных? я думаю, что нет никакой у него задачи. сам придумал, сам посмеялся. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 08:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКоробочный продукт, на основе которого кастомеры строят свои решения каково назначение продукта? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 08:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttКак я уже говорил, рассуждения на уровне детского сада, в отрыве от контекста конкретной задачи говорить, что «SOAP в несколько раз хуже других» — это заявление не мужа, а пацана со двора, который ещё не переболел максимализмом. Желаю вам повзрослеть, и надеюсь когда-нибудь вам доведётся писать «коробочное решение для юзеров».Вам до сих пор неводмек, что у меня нет конкретной прикладной задачи. У разработчиков SQL Server есть прикладная задача? Нет, им надо написать максимально крутой SQL движок, что бы когда их будут сравнивать с Oracle, они показывали лучшие цифры, потому что изначально потребности и возможности кастомера неизвестны, так как неизвестен сам кастомер. Идите и предложите разработчикам SQL Server хранить данные СУБД в XML. Ну а чо, диски же сейчас большие и дешевые! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 09:34 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvВам до сих пор неводмек, что у меня нет конкретной прикладной задачи. Вообще-то я уже понял, что задачи у вас нет. Поэтому времени вагон и можно парить мозги людям здесь на форуме. cdtyjvУ разработчиков SQL Server есть прикладная задача? У них есть свой круг задач. Если вы не заметили, есть несколько редакций SQL Server для разных областей применения. Как и наборы функций и возможностей. cdtyjvНет, им надо написать максимально крутой SQL движок, что бы когда их будут сравнивать с Oracle, они показывали лучшие цифры, потому что изначально потребности и возможности кастомера неизвестны, так как неизвестен сам кастомер. Ещё раз спрашиваю, в какой части глуши матушки России находится та берлога, откуда вы вылезли? cdtyjvИдите и предложите разработчикам SQL Server хранить данные СУБД в XML. Ну а чо, диски же сейчас большие и дешевые! Я предложил бы вам купить мозг, но к сожалению он не продаётся. Поэтому искренне сочувствую. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 09:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 09:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvВам до сих пор неводмек, что у меня нет конкретной прикладной задачи. Тогда зачем описывать сферического коня в вакууме? Универсальной таблетки нет. И пытаться делать супер-пупер архитектуру на все случаи жизни бессмысленно. Тот же пример с СУБД - если они так хороши и универсальны, почему появляются embedded СУБД, key-value хранилища или in-memory database системы? Если вы так озабочены конкурентными преимуществами - дарю идею: в вашу прикладную неконкретную систему-конструктор заложите еще выборочные защиту целостности (ЭЦП), конфиденциальность (шифрование), сжатие (архивирование), защиту от DDOS, MIM, не забудьте интеграцию с каким-нибудь аутентификационным центром наподобие Tivoli Access Manager. И у меня еще вопрос. Если .Net так плох, а вам нужны любые преимущества над конкурентами, то почему вы не сделаете вашу систему на Java, который обгоняет с++ по скорости исполнения кода, и .Net - по скорости разработки? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Рискну предположить, что Свеному поручили реализовать кусок C# драйвера к чему-то (ядру какого-то продукта). Причём не с нуля, а дали кусок кода из Java версии драйвера. И проблема в том, что Свеном не может придумать, как правильно решить поставленную задачу на C#, а код Java в лоб не портируется. Ну и наш юный падаван обвиняет во всём "кривой .Net с его убогими коллекциями". О самом продукте он скорее всего знает только в общих чертах, технические детали ему неведомы. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAРискну предположить, что Свеному поручили реализовать кусок C# драйвера к чему-то (ядру какого-то продукта). Причём не с нуля, а дали кусок кода из Java версии драйвера. И проблема в том, что Свеном не может придумать, как правильно решить поставленную задачу на C#, а код Java в лоб не портируется. Ну и наш юный падаван обвиняет во всём "кривой .Net с его убогими коллекциями". О самом продукте он скорее всего знает только в общих чертах, технические детали ему неведомы. То что он не рубит в Нет это давно понятно. Но если бы он был крутой, то вряд ли делал бы такие детские высеры. Я конечно понимаю первые эмоции и тд, но все же это не профессионально:) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:26 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
netivan, а я где-то сказал, что он крутой? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttcdtyjv, http://technet.microsoft.com/ru-ru/library/ms189887(v=sql.105).aspx В довесок... чтобы кое-кто потом не утверждал, что XML в базах данных это "сугубо личная проблема" MSSQL... тынц тынц тынц ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAnetivan, а я где-то сказал, что он крутой?ну он себя позиционирует просто мега java гуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
netivanskyANAnetivan, а я где-то сказал, что он крутой?ну он себя позиционирует просто мега java гуру.А ещё он дом строит и курсы по Java ведёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:34 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv изначально потребности и возможности кастомера неизвестны, так как неизвестен сам кастомер. Повеселил бывают конечно ошибки в оценке возможностей и потребностей покупателя продукта, но чтобы утверждать, что не известен кастомер - это сильно. Т.е. пишется нечто без выяснения потребностей ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 10:52 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилТ.е. пишется нечто без выяснения потребностей ?Расскажите мне пожалуйста про кастомеров SQL Server, и про их потребности. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 22:45 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Тогда зачем описывать сферического коня в вакууме? Универсальной таблетки нет. И пытаться делать супер-пупер архитектуру на все случаи жизни бессмысленно. Тот же пример с СУБД - если они так хороши и универсальны, почему появляются embedded СУБД, key-value хранилища или in-memory database системы?Никто и пытается сделать универсальную таблетку. Можно пытаться покрыть все возможные сценарии, и никогда это не сделать, так как это по определению невозможно. Можно вообще ничего не делать, и сказать кастомеру: "У меня ничего нет, но как у вас появятся какие-то требования, приходите, сделаем под вас". Это два экстремума. Истина находится посередине. Я не делаю универсальную таблетку, я покрываю наиболее вероятные сценарии. Arm79Если вы так озабочены конкурентными преимуществами - дарю идею: в вашу прикладную неконкретную систему-конструктор заложите еще выборочные защиту целостности (ЭЦП), конфиденциальность (шифрование), сжатие (архивирование), защиту от DDOS, MIM, не забудьте интеграцию с каким-нибудь аутентификационным центром наподобие Tivoli Access Manager.Все это нахер никому не нужно. Если все же потребуется, прикрутить все это - дело пяти минут. А написать нормальный алгоритм и затюнить его до зубов - задача совершенно иной трудоемкости. Arm79И у меня еще вопрос. Если .Net так плох, а вам нужны любые преимущества над конкурентами, то почему вы не сделаете вашу систему на Java, который обгоняет с++ по скорости исполнения кода, и .Net - по скорости разработки?Писал уже - продукт кросс-платформенный, .Net - одна из платформ. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 22:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
netivanТо что он не рубит в Нет это давно понятно.Осмелюсь заявить (особенно принимая во внимание темы вашего раздела в духе "Надо ли писать юнит-тесты?" и "Зачем знать потроха .Net?"), что я по своим знаниям core .Net дам прикурить 95% мемберов этого форума. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 22:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvя по своим знаниям core .Net дам прикурить 95% мемберов этого форумаУтверждение конечно хитрое, но оно ничего не значит ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 23:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvИзопропилТ.е. пишется нечто без выяснения потребностей ?Расскажите мне пожалуйста про кастомеров SQL Server, и про их потребности. например - http://www.microsoft.com/sqlserver/ru/ru/sql-2012-editions.aspx На курсы маркетинга сходи ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 23:09 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилнапример - http://www.microsoft.com/sqlserver/ru/ru/sql-2012-editions.aspx На курсы маркетинга сходиЗамечательно, вы мне вместо ответа дали рекламный буклетик. Ну пусть хоть так. Теперь следующий вопрос: отталкиваясь от этих требований осмелились бы вы, например, реализовать движок SQL Server так, что бы он все хранил в виде XML? Или полностью забить на кэширование результатов запросов? Или не запариваться с какими-то непонятными merge и hash join'ами, а просто в оптимайзере херачить по индексам сверху вних, вне зависимости от условий? Не, вообще индексы выпилть? И оптимайзер до кучи? Сделали бы вы так, зная, что у конкурентов все это есть, и что благодаря этому конкуренты от вас мокрого места не оставят? авторНу а чо, ведь есть же кастомеры, которым не нужно "быстро"? Да и диски нынче дешевые, можно и в XML все хранить. А индексы - так это вообще premature optimization! Сначала докажите, от бинарного индекс дает выигрыш в скорости, который нужен кастомеру! Как вам перспективка, м? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 23:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvСделали бы вы так, зная, что у конкурентов все это есть, и что благодаря этому конкуренты от вас мокрого места не оставят? cdtyjvизначально потребности... неизвестныЧто-то Свеном путается с неизвестными ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 23:32 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Походу уточнил у более сведущих коллег, что планируется выпускать в ближайшем релизе. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2014, 23:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvчто я по своим знаниям core .Net дам прикурить 95% мемберов этого форума. По способности трепать языком толком не зная предмета обсуждения, не имея конкретной задачи, действительно дадите прикурить овер 95% форумчанам. На русском языке таким людям есть одно емкое крепкое словцо, озвучивать не буду. А мы ведь так и не услышали от вас ни одного слова конкретики. Одни рассуждения о неведомых скоростях и злых конкурентов, которые горячо дышат в спину. Пока что в вашем лице наблюдается конкурент Донцовой, но не разработчиков. По крайне мере дотнетчикам уж точно переживать не стоит. Будет уже что-нибудь по существу или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 01:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvя по своим знаниям core .Net дам прикурить 95% мемберов этого форума.Про Expression и Emit прочитал уже? Понял хоть о чём там? Реактивный ты наш... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 06:33 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttА мы ведь так и не услышали от вас ни одного слова конкретики. Одни рассуждения о неведомых скоростях и злых конкурентов, которые горячо дышат в спину. Пока что в вашем лице наблюдается конкурент Донцовой, но не разработчиков. По крайне мере дотнетчикам уж точно переживать не стоит. Будет уже что-нибудь по существу или нет?А я что, помощи прошу что ли, чтобы вдаваться в конкретику? Помощь нужна вам - вы же не понимаете в чем разница меду разработкой типичной корпоративной системы с четкими требованиями, и разработкой коробочного продукта, а не я. По своей задаче я дал достаточно информации, что бы любой вменяемый человек понял, насколько глупо звучат ваши предложения вроде "используйте SOAP". Вы, коллеги дотнетовцы, должны понять, что услышать где-то фразу "premature optimization is pure evil" - это не значит понять ее суть. Вы, например, почти поголовно не понимаете ее. Ведь надо не только не избегать premature optimization, но и уметь отличить, где оптимизация оправдана, а где действительно "premature". А эта грань очень сильно варьирует от контекста задачи. В типичной корпоративке, где пользователи лениво плыкают на кнопки, и ни о каком перфомансе речи не идет в принципе, эта грань одна. В коробочном решении, в котором о требованиях пользователя изначально известно только то, что он будет гонять какие-то данные, эта грань совершенно иная. Поэтому не надо мне рассказывать про XML. В ваших решениях он работает, в моем нет. Ведь если я буду заворачивать свои сообщения в SOAP, то для случая, когда пользователь гоняет туда-сюда тексты книг, накладные расходу на конверт после амортизации составят доли процента, а если он будет гонять туда-сюда, скажем, отдельные интеджеры (4 байта), то накладные расходу будут 2000%. А в типичном случае, когда он гоняет некий объект с полями разных типов, они будут, нуу, процентов 200-300. Все это не катит. Мне нужно процентов 5, а лучше и еще меньше. И не надо мне рассказывать, что "сеть сводит все ваши потуги на нет". Ну так пойдите расскажите об этом вашему любимому вендору. Пускай закрывает команду оптимизатора SQL Server - ведь все равно же IO есть (диск/сеть), значит вся их работа бесполезна. Ведь так? Конечно нет. Во-первых, IO можно уменьшать (например, уменьшая объем прокачиваемых данных, переходя от того же XML к бинарной форме). Во-вторых, с IO можно работать по-разному. У меня, например, нет ни одного блокирующего сетевого вызова, ибо селекторы. В-третьих, IO бывает разное. Бывает HDD, а бывает SSD. Бывает сеть 10Мбит, а бывает сеть 10Гбит, и я должен уметь нормально загрузить любое оборудование. И т.д. и т.п.. В общем, просвещайтесь и развивайтесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 07:34 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvПомощь нужна вам - вы же не понимаете в чем разница меду разработкой типичной корпоративной системы с четкими требованиями, и разработкой коробочного продукта, а не я.Свеном с первой строки начал врать. Дальше можно не читать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 07:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, то, о чём вы говорите, это какое-то надо же с такой уверенностью нести такой сказочный бред. это талант. донцова отдыхает. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 08:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvА эта грань очень сильно варьирует от контекста задачи. «ты барсука видишь? а он есть...» «истина где-то рядом...» «свеном по ходу трындит...» ну так где это чёртов контекст задачи? если его нет, то нахрена тратить калории, бессмысленно нажимая кнопки? пока не будет контекста, эту свою лапшу про «прематуре», отведайте пожалуйста сами в ближайшей подворотне за углом. скармливать это гадость форумчанам не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 08:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt ну так где это чёртов контекст задачи? если его нет, то нахрена тратить калории, бессмысленно нажимая кнопки? пока не будет контекста, эту свою лапшу про «прематуре», отведайте пожалуйста сами в ближайшей подворотне за углом. скармливать это гадость форумчанам не нужно.Контекст уже дан - быстрый кроссплатформенный сериализатор общего назначения. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 09:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКонтекст уже дан - быстрый кроссплатформенный сериализатор общего назначения. их вагон. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 09:14 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКонтекст уже дан - быстрый кроссплатформенный сериализатор общего назначения Так вы и ответ знаете - Protocol Buffers. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 09:18 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКонтекст уже дан - быстрый кроссплатформенный сериализатор общего назначения. покупатель(заказчик) то есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 09:48 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
и все что ль? муся, где ты? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2014, 19:17 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79cdtyjvКонтекст уже дан - быстрый кроссплатформенный сериализатор общего назначения Так вы и ответ знаете - Protocol Buffers. +1024 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 00:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvhVostt ну так где это чёртов контекст задачи? если его нет, то нахрена тратить калории, бессмысленно нажимая кнопки? пока не будет контекста, эту свою лапшу про «прематуре», отведайте пожалуйста сами в ближайшей подворотне за углом. скармливать это гадость форумчанам не нужно.Контекст уже дан - быстрый кроссплатформенный сериализатор общего назначения ."Быстрый" не бывает "общего назначения". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 05:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К"Быстрый" не бывает "общего назначения".А если два "общего назначения" поставить рядом, то можно ли сказать, какой из них "быстрый", а какой "медленный"? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 07:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей К"Быстрый" не бывает "общего назначения".А если два "общего назначения" поставить рядом, то можно ли сказать, какой из них "быстрый", а какой "медленный"?Зачем мне "общего назначения", если мне надо быстрее всех? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 08:20 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей Кcdtyjvпропущено... А если два "общего назначения" поставить рядом, то можно ли сказать, какой из них "быстрый", а какой "медленный"?Зачем мне "общего назначения", если мне надо быстрее всех?это неправильное желание нужно хотеть и рыбку съесть и на лошадке покататься. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 11:24 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvреализовать движок SQL Server так, что бы он все хранил в виде XML? А я верну мысль - движок SQL в настоящее время вообще не нужен. Его делали зачем? - Хранить данные на диске, потому, что у тогдашних серверов было по 32 мегабайта памяти.... А сейчас на десктопе - 4 гига. Вся база данных может быть в памяти, в виде коллекций, с указателями на родителя и на любую необходимую сущность. :-) По скорости бьет всех конкурентов. Из недостатков - нет конфигурационного масштабирования, надо дописывать код. Зато понятно, как его дописывать - я когда сделал и уволился - ни разу не позвонили и не спросили - ":-{} ?" ... База там была только для сохранения состояний, и для перезапуска. Никаких джойновых запросов, никаких индексов, ни к чему кеширование итп . :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 11:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129, то есть у вас на декстопе обыкновенный датасет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 12:01 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129я когда сделал и уволился - ни разу не позвонили ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 12:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степиD129, то есть у вас на декстопе обыкновенный датасет? Обьект. С коллекциями всего что было нужно. С кросс-референсами кому надо и бизнес-логикой для сохранения-обновления-удаления. Логистика полок автоматического склада. 100 000 полок при загрузке сайта съели 300 мегабайт памяти. А это большой склад, поверьте. На ближнем востоке - так вообще чемпион. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 12:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ПарамонD129я когда сделал и уволился - ни разу не позвонили Я имел в виду что не звонили с вопросами "а как это изменить".... Позвонил начальник, и поблагодарил за работу. От моего модуля было минимальное количество проблемм, и они в разы легче чинились. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 12:33 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 14:06 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129Логистика полок автоматического склада. 100 000 полок при загрузке сайта съели 300 мегабайт памяти. А это большой склад, поверьте. На ближнем востоке - так вообще чемпион.Я уже тут слышал перлы про XML. Слышал перлы про "не надо быстро". Слышал перлы от тех, кто не может отличить коллекцию от списка. Теперь очередной перл: записали 300 Мб в память, и пришли к выводу, что СУБД не нужны. Люди, вы это все серьезно??? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 23:47 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvD129Логистика полок автоматического склада. 100 000 полок при загрузке сайта съели 300 мегабайт памяти. А это большой склад, поверьте. На ближнем востоке - так вообще чемпион.Я уже тут слышал перлы про XML. Слышал перлы про "не надо быстро". Слышал перлы от тех, кто не может отличить коллекцию от списка. Теперь очередной перл: записали 300 Мб в память, и пришли к выводу, что СУБД не нужны. Люди, вы это все серьезно??? Свеном, успокойся уже. Человек гордится своей хорошо проделанной работой. Да, это не рокет сайнс, но зато доставляет ему удовольствие, позитив. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2014, 23:59 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv Люди, вы это все серьезно??? "Капитализмус не есть идея. Социализмус - это идея. Капитализмус - это чистоган". (с) Вы просто пытаетесь очередной раз изобрети способ межпланетного сообщения. Идеальную программу, которой будут пользоваться все - а вы станете миллиардером. Это похвальное желание. Проблема в том, что даже Виндовсом 95 не стали пользоваться все. Аналогию понимаете? Скорость не всегда решающий фактор. Вот мне нужна была скорость - когда я начал "тянуть все в память"? - нет. Вообще то, что мы начали делать предназначалось для клиента, который строил маленький склад, и не хотел покупать "большую" складскую систему. А потом так же поступил очень большой клиент - и системка, которая должна была обрабатывать каких-то 4000 полок, подняла 100000. Случайно так произошло, кстати, с подачи умников, которые как раз вроде вас - фанатично решили "никакой логики в базе данных, никаких запросов в коде!" - что мы и воплотили. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 09:32 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129, обтекаемые общие фразы, в каком контексте это вы говорите ? если в контексте одного пользователя ( как единицы работы) это обыкновенный портфель клиентских данных получаемый при старте или еще как приложения, с возможностью подкачки сверх новых и фиксации измененных на клиенте, тут ничего нового. если это в контексте многопользовательского режима - обыкновенная трехзвенка, с выборочным кеширование ( на втором звене) вариантов кеширования ну очень много, роли и тд. - Я не скажу что это подвиг, но в какой то мере это подвиг (с) ( надо рано приходить на работу) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 13:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степиобыкновенная трехзвенка, с выборочным кеширование ( на втором звене) вариантов кеширования ну очень много Ну конечно трехзвенка - клиент получал данные через WCF. На западе редко бываешь "сам себе режиссер"... Я доволен тем, что угадал с архитектурой в том пространстве, которое мне выделили "для творчества", и потом легко сделал "конкурентноспособный продукт". Который смог заменить изделия крупных фирм (в той области). Если бы я запредметился на требованиях первого заказчика (а они были скромные) - и сделал бы только их, не соблюдая ООП - то это было бы невозможно. Стесняюсь сказать, но я и ОРМ свой тоже сделал. Обошелся без EF и Хибернейтов. Для требования "никаких запросов в базе" - подошел моторчик, который строил запросы (о да, параметризированные ;-) ) на Insert и Update - с помощью рефлекшен, Ну а с удалением или загрузкой всего - вообще элементарно.... Когда версия базы и кода расходилась - кидался вменяемый эксепшен, оставалось только в базу добавить недостающее поле. Сейчас все такие хибернитизированные, а я вот думаю - этож надо полгода учить то, что можно за две недели написать... Кстати - топикастер, подумайте о том, что ваш чудо-продукт надо еще уметь конфигурировать - и пока только вам очевидно как... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 13:45 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129, а Вы Фаулера читать не пробовали, ради интереса? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 13:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129, давай поразмышляем что должна орм или желательно 1 ну то что насаживать типы по дефолту. 2 Единица работы 3 Кеш первого уровня - обязательно. 4 Кеш второго уровня, или прикурутить в легкую - обязательно. 5 Расширение декларативной разметки типа ( атрибуты) обязательно. что получается если есть типы коллекций, вешаем на них атрибуты Код: c# 1. 2. 3. 4. 5. 6.
вставляем вставляем орм на вторую звезду со вторым кешем все - больше писать ничего не надо, готовый портфель данных ну естественно что все обращения через вторую звезду, что бы кеши были актуальны, или после правки админом напрямую убить все кеши..( пересоздать, что по запросу, что в автомате) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 14:14 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степи, а учтены в ОРМах всякие нюансы типа - изменения праймери кей - удаление и ввод объектов с одиноковым форинкей -.... разруливаются такие вещи автоматом? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 15:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степидавай поразмышляем что должна орм или желательноЗачем? Человек реализовал необходимый минимум для своего проекта, обозвал это ORM и ладно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 15:40 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129а я вот думаю - этож надо полгода учить то, что можно за две недели написать... Если вопрос времени, то взять какой нибудь мини орм, пару часов на освоение, чем две недели потратить на то, что проверено и уже давно работает. Пробовать самому конечно полезно, хотя, кому то намапить датаридер в список это уже орм. ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 16:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAD129, а Вы Фаулера читать не пробовали, ради интереса? Все это было уже давно. Ну и я же написал - на западе редко бывает возможность заниматься самодеятельностью. Важно не то, что читал ты, а что читал менеджер и дизайнер. То и будет использоваться. Причем, доводы что "не стоит стрелять из пушки по воробьям" - тут не проходят, так как за стрельбу из пушки больше заплатят. Вот сейчас я работаю в фирме, и тут то как раз все вышестоящие начитанные и перечитанные. У нас супер-пупер масштабирование и "идеально чистый" код. Аджайл и юнит тесты - и вообще все, что только модно. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 16:11 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Парамонвзять какой нибудь мини орм, пару часов на освоение а потом начать борьбу с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 16:59 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129Аджайл и юнит тесты - и вообще все, что только модно. :-)10 лет назад это было модно, а сейчас это тупо набор практик и инструментов, что либо подходят, либо нет вашему проекту. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 17:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAD129Аджайл и юнит тесты - и вообще все, что только модно. :-)10 лет назад это было модно, а сейчас это тупо набор практик и инструментов, что либо подходят, либо нет вашему проекту. Реальные бизнесы, видимо, раскачиваются медленно. Мы со всей этой фигней (тестами и "clean code" ) въехали в проблемы производительности, и ситуация плохая. Но по отчетам все ок. Проблема в делении на кусочки того, что должно работать вместе. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 17:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилПарамонвзять какой нибудь мини орм, пару часов на освоение а потом начать борьбу с ним.В борьбе рождается победа! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 18:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129skyANAпропущено... 10 лет назад это было модно, а сейчас это тупо набор практик и инструментов, что либо подходят, либо нет вашему проекту. Реальные бизнесы, видимо, раскачиваются медленно. Мы со всей этой фигней (тестами и "clean code" ) въехали в проблемы производительности, и ситуация плохая. Но по отчетам все ок. Проблема в делении на кусочки того, что должно работать вместе.О каких таких реальных бизнесах речь? Как тесты и чистота кода ухудшили вам производительность? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 18:25 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129skyANAD129, а Вы Фаулера читать не пробовали, ради интереса? Ну и я же написал - на западе... Важно не то, что читал ты, а что читал менеджер и дизайнер. То и будет использоваться.Прикольно там у вас. А главное и не поспоришь с ними, ведь сам-то не читал, да? P.S.: интересно, почему у нас в компании не так, ведь мы тоже вроде как "на западе". Видимо "запад" он разный... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 18:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилПарамонвзять какой нибудь мини орм, пару часов на освоение а потом начать борьбу с ним. да вроде объездили их уже со всех сторон, вердикт - usable ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 18:33 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ПарамонИзопропилпропущено... а потом начать борьбу с ним. да вроде объездили их уже со всех сторон, вердикт - usable )Юзибл, то юзибл, но не везде ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 18:43 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAПарамонпропущено... да вроде объездили их уже со всех сторон, вердикт - usable )Юзибл, то юзибл, но не везде С технологической точки зрения я бы сказал чаще unusable чем usable, но маркетинг мать его... Когда Заказчик видит что полученный продукт два часа грузится и так важно не спешно работает, то да... Видно что ребята постарались на славу, много видать написать пришлось, заморились бедняги, надо бы им печенюшек подкинуть... А когда решение заводится с полпинка и летает то вердикт - да нихрена они там не делали, видать простая задача, еще и денег за такое хотят... психология :( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 18:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIС технологической точки зрения я бы сказал чаще unusable чем usableНаплодить SQL-запросов много ума не надо. EDUARD SAPOTSKIКогда Заказчик видит что полученный продукт два часа грузится и так важно не спешно работает.ORM тут не причём. Любой результат - следствие кадровой и финансовой политики. Если основная цель, как это нынче принято, экономия, то удивляться нечему. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKI, какой такой микро ОРМ грузится два часа? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAкакой такой микро ОРМ грузится два часа? Хоспати, ну уже поутрировать даже нельзя ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:10 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAEDUARD SAPOTSKI, какой такой микро ОРМ грузится два часа?Любой, где от безвыходности применяется "N+1 запрос" без постраничного вывода. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:11 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КskyANAEDUARD SAPOTSKI, какой такой микро ОРМ грузится два часа?Любой, где от безвыходности применяется "N+1 запрос" без постраничного вывода.Хм. То есть микро ОРМ "чаще unusable чем usable" потому, что у кого-то руки кривые? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:13 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Любой, где от безвыходности применяется "N+1 запрос" без постраничного вывода.Хм. То есть микро ОРМ "чаще unusable чем usable" потому, что у кого-то руки кривые? Кривые руки могут превратить в "микро ОРМ" всё что угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:14 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIskyANAкакой такой микро ОРМ грузится два часа? Хоспати, ну уже поутрировать даже нельзя То есть рассуждения о том, что микро ОРМ "чаще unusable чем usable" надо читать наоборот? Пеши есчо! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:15 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... Хм. То есть микро ОРМ "чаще unusable чем usable" потому, что у кого-то руки кривые? Кривые руки могут превратить в "микро ОРМ" всё что угодно. И свалить всё на "маркетинг мать его..." ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Ваще я топик не читал но осуждаю А кто собственно кому что доказывает? Единственное что из съедобного пробовал это дапар и l2sql остальное фтопку ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:24 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIВаще я топик не читал но осуждаю А кто собственно кому что доказывает?Ты доказываешь, что не только чукча не читатель, но ещё и белорус ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAEDUARD SAPOTSKIВаще я топик не читал но осуждаю А кто собственно кому что доказывает?Ты доказываешь, что не только чукча не читатель, но ещё и белорус Ты как всегда жжош зеленоградскими аргументами ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 19:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
без топикстартера топик скатывается в УГ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 20:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ViPRos- изменения праймери кей Застрелится и не жить! Про суррогатные ключи слышали? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 20:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIskyANAпропущено... Ты доказываешь, что не только чукча не читатель, но ещё и белорус Ты как всегда жжош зеленоградскими аргументами А какие тебе аргументы нужны? Если ты был читатель, то прочитал бы что речь о микро ОРМ. Если ты был читатель, то прочитал бы как правильно пишется Dapper. Если ты был читатель, то прочитал бы что на нём (Dapper.NET) работает StackOverflow, и не писал фигню про "два часа грузится" и "маркетинг мать его...". Если ты был читатель, то прочитал бы что Linq2SQL, NHibernate и EF не являются микро ОРМ. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 20:15 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Cat2ViPRos- изменения праймери кей Застрелится и не жить! Про суррогатные ключи слышали? и че? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 20:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ViPRosГде-то в степи, а учтены в ОРМах всякие нюансы типа - изменения праймери кей - удаление и ввод объектов с одиноковым форинкей -.... разруливаются такие вещи автоматом?А конкретный пример по каждому кейсу есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 20:37 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAEDUARD SAPOTSKIпропущено... Ты как всегда жжош зеленоградскими аргументами А какие тебе аргументы нужны? Если ты был читатель, то прочитал бы что речь о микро ОРМ. Если ты был читатель, то прочитал бы как правильно пишется Dapper. Если ты был читатель, то прочитал бы что на нём (Dapper.NET) работает StackOverflow, и не писал фигню про "два часа грузится" и "маркетинг мать его...". Если ты был читатель, то прочитал бы что Linq2SQL, NHibernate и EF не являются микро ОРМ. Ой мля, слушай аннушка небесная, ты реально зануда Ни юмора ни логики, была бы логика дошло бы что пункты 3 и 4 следствие пункта 1. А пункт 3 просто очепятка. Ладно, нефиг карму с тобой засерать в выходной. Отдыхать пора ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 21:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIskyANAпропущено... А какие тебе аргументы нужны? Если ты был читатель, то прочитал бы что речь о микро ОРМ. Если ты был читатель, то прочитал бы как правильно пишется Dapper. Если ты был читатель, то прочитал бы что на нём (Dapper.NET) работает StackOverflow, и не писал фигню про "два часа грузится" и "маркетинг мать его...". Если ты был читатель, то прочитал бы что Linq2SQL, NHibernate и EF не являются микро ОРМ. Ой мля, слушай аннушка небесная, ты реально зануда Ни юмора ни логики, была бы логика дошло бы что пункты 3 и 4 следствие пункта 1. А пункт 3 просто очепятка. Ладно, нефиг карму с тобой засерать в выходной. Отдыхать пора Конечно зануда. Ты который раз уже не читатель и сливаешь куда-то, потому как пора. Чем чаще ты так будешь делать, тем острее я буду это подчёркивать. Вот такой вот юмор, вот такая вот логика. Тро-ло-ло. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 21:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAViPRosГде-то в степи, а учтены в ОРМах всякие нюансы типа - изменения праймери кей - удаление и ввод объектов с одиноковым форинкей -.... разруливаются такие вещи автоматом?А конкретный пример по каждому кейсу есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 21:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
промахнулся попробуй, я ж его спросил, что б узнать, есть такая возможность или нт ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 21:51 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ViPRosпромахнулся попробуй, я ж его спросил, что б узнать, есть такая возможность или нт Вопрос-то про изменение значения ключа и каскадное обновление, или про какое другое изменение? Изменение типа, состава? NHibernate Cascades: the different between all, all-delete-orphans and save-update ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 22:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANA, ну, я просто не знаю, что делает, например, ЕФ, если в кеше удалить запись (с уникальным констрейнтом, например), тут же ввести такую же запись ( с таким же констрейнтом и с автоматическим суррогатом Кота - должна пройти, так как предыдущая запись со статусом "Удалена") и дать команду - Сохранить ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 22:59 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
точно так же можнно сначала изменить ключ, а потом ввести новую запись с прошлым ключом и попробовать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 23:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
это одно и то же до каскадо пока далеко ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 23:03 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Приятно смотреть, как обсуждают NHibernate. Это означает, что open source коммьюнити все таки методично пробивает одну брешь за другой в Microsoft'e. И, естественно, первым делом все копируют с Linux/Java: NUget - это по сути помесь Maven и apt, NHibernate - порт джавовского Хибернейта, и т.д.. Но, на какие-то серьезные изменения в расстановке сил по рынкам .Net все равно рассчитывать не приходится - он не кроссплатформен, а накопленного боевого опыта в серьезных проектах у .Net просто напросто нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 23:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, да много ты понимаешь срать на джаву нет и т.д. гони монету хоть на турецком напишу ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2014, 23:12 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvПриятно смотреть, как обсуждают NHibernate. Это означает, что open source коммьюнити все таки методично пробивает одну брешь за другой в Microsoft'e. И, естественно, первым делом все копируют с Linux/Java: NUget - это по сути помесь Maven и apt, NHibernate - порт джавовского Хибернейта, и т.д.. Но, на какие-то серьезные изменения в расстановке сил по рынкам .Net все равно рассчитывать не приходится - он не кроссплатформен, а накопленного боевого опыта в серьезных проектах у .Net просто напросто нет. чево за детский лепет? после покупки Java ораклом, она скатилась в полное фуфло, так же стоит отметить, что Java уже давненько тырит фишечки из c# ничуть не стесняясь. так что гонево на .NET безоснвоательно. а порты это совершенно логично. достаточно сравнить возраст обеих технологий, ясен перец что под Java гораздо больше написанного боевого кода, что не мешает ему с успехом быть портированным на .NET ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 00:46 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvон не кроссплатформен вообще-то в отличии от Java, .NET -- открытая платформа. остальное дело времени. успех дотнета уже давно предопределён. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 00:48 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvПриятно смотреть, как обсуждают NHibernate. Это означает, что open source коммьюнити все таки методично пробивает одну брешь за другой в Microsoft'e. И, естественно, первым делом все копируют с Linux/Java: NUget - это по сути помесь Maven и apt, NHibernate - порт джавовского Хибернейта, и т.д.. Но, на какие-то серьезные изменения в расстановке сил по рынкам .Net все равно рассчитывать не приходится - он не кроссплатформен, а накопленного боевого опыта в серьезных проектах у .Net просто напросто нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 06:04 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttвообще-то в отличии от Java, .NET -- открытая платформа. остальное дело времени. успех дотнета уже давно предопределён."Псведооткрытая" вы, видимо, хотели сказать. То есть она как бы вроде и открытая, но как бы вроде и заисплементировать ее целиком невозможно, если вы не Microsoft Для сравнения, у Java существует с десяток реально используемых полноценных виртуальных машин. HotSpot, JRockit, Azul, Excelsior, IBM JVM, и т.д.. Это полноценные JVMки, которые проходят специальную сертификацию и тесты, и на которых реально гоняют критичные приложения. А чем ваша "открытая" платформа может похвастаться, кроме того, что ее маркетологи Microsoft называют таковой? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 07:24 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, видишь ли, глубоко фиолетово на чём писать - java или dotnet ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 08:18 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvТо есть она как бы вроде и открытая, но как бы вроде и заисплементировать ее целиком невозможно, если вы не Microsoft разработчикам Mono это расскажите, они поржут. cdtyjvА чем ваша "открытая" платформа может похвастаться, кроме того, что ее маркетологи Microsoft называют таковой? давайте не будем как маленькие дети спорить с фактами . C# и .NET стандартизированы, и Microsoft не берёт ни копейки за собственную реализацию этих стандартов. стандарты полностью открытые. большая часть библиотек из BCL распространяется свободно, стек ASP.NET вообще доступен в исходных кодах. Microsoft не только говорит, но и делает. чего не скажешь о Java. владелец которой только чего-то там всё обещает, и продолжает рубить бабло с вендоров. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 08:19 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttMicrosoft не только говорит, но и делает. чего не скажешь о Java. владелец которой только чего-то там всё обещает, и продолжает рубить бабло с вендоров. Между прочим да - владельцы Java не разрешили использование своей виртуальной машины на андроиде. В Андроиде джавы нет. Гуглы написали свою машину - Delvik, свой тип пакета (jar нельзя использовать на андроиде - там идет apk). Такой вот прикол. Использую Эклипсу для написания аппликации для Андроида - пишу на Java пр синтаксису, но собирается это в другой код. Только из-за патентных разногласий. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 09:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129Между прочим да - владельцы Java не разрешили использование своей виртуальной машины на андроиде. В Андроиде джавы нет. Гуглы написали свою машину - Delvik, свой тип пакета (jar нельзя использовать на андроиде - там идет apk). Такой вот прикол. Использую Эклипсу для написания аппликации для Андроида - пишу на Java пр синтаксису, но собирается это в другой код. Только из-за патентных разногласий.А вы суть дела то знаете? О чем вообще спор там идет? Там спор не о виртуальной машине. Спор идет о том, что Google взяли API Java, скопировали его себе, а потом сказали - "это не Java, это Android". Как вы думаете, как отреагировали бы в Microsoft, если бы Mono заимплементировали их API, но сазали "Это не реализация .Net, это Mono - совершенно не связанный с .Net продукт"? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 09:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvКак вы думаете, как отреагировали бы в Microsoft, если бы Mono заимплементировали их API, но сазали "Это не реализация .Net, это Mono - совершенно не связанный с .Net продукт"? никак бы не отреагировали. C# и .NET открытые спецификации, можно их реализовывать и называться при этом как угодно. отличие очень весомое, которое вы похоже не понимаете. я думаю, что если бы Андроид начал разрабатываться прямо сейчас, шансы выбора в качестве платформы в виде .NET были бы очень высоки, и по производительности выигрыш имеется. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 10:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVostt и по производительности выигрыш имеется. произодительности чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 10:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvD129Между прочим да - владельцы Java не разрешили использование своей виртуальной машины на андроиде. В Андроиде джавы нет. Гуглы написали свою машину - Delvik, свой тип пакета (jar нельзя использовать на андроиде - там идет apk). Такой вот прикол. Использую Эклипсу для написания аппликации для Андроида - пишу на Java пр синтаксису, но собирается это в другой код. Только из-за патентных разногласий.А вы суть дела то знаете? О чем вообще спор там идет? Там спор не о виртуальной машине. Спор идет о том, что Google взяли API Java, скопировали его себе, а потом сказали - "это не Java, это Android". Как вы думаете, как отреагировали бы в Microsoft, если бы Mono заимплементировали их API, но сазали "Это не реализация .Net, это Mono - совершенно не связанный с .Net продукт"? Э нет. Это случилось уже потом. Зачем бы андроидянам разрабатывать свою машину, если можно было бы установить уже готовую? Нокия например - установила, я на нокию даже какие-то игрушки в стиле Спектрума скачивал - чистый jar пакет - запусти и лети... Им именно не разрешили, они взяли спецификацию, написали свою виртуальную машину - там даже тип процессора (виртуального) другой - в оригинальной джаве он стековый, а у них - регистровый, И сказали - это не джава. И действительно - в логи когда смотришь - Делвик. Все системные неймспейсы так начинаются. Оракл обиделся? Это чисто просчет их жадного (в разрез с идеей "открытой платформы") руководства. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 10:54 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилпроизодительности чего? работа с ужжжжасными (с точке срения сфенома) коллекциями, работа со строками. тема раскрывалась уже не однократно. хотя не всё так уж однозначно, но потенциал более качественной утилизации ресурсов на .net-е выше, благодаря поддержки ValueType. в реале сравнить не с чем (ондроеда на .нет не существует), кроме как с Xamarin, который показывает достойные результаты местами. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 11:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилhVostt и по производительности выигрыш имеется. произодительности чего? Mono vs. Dalvik implementation of Android for binary tree, jovian and hashtags: Read more: http://www.cnx-software.com/2012/05/02/xamarin-ported-android-to-c-with-massive-performance-improvement-over-dalvik ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 11:19 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилcdtyjv, видишь ли, глубоко фиолетово на чём писать - java или dotnetНет. Без лямбд и замыканий работать невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 11:22 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИзопропилcdtyjv, видишь ли, глубоко фиолетово на чём писать - java или dotnetНет. Без лямбд и замыканий работать невозможно. после сладкого на гадкое не тянет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 11:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИзопропилcdtyjv, видишь ли, глубоко фиолетово на чём писать - java или dotnetНет. Без лямбд и замыканий работать невозможно. +1 Линк - это зараза. Если один раз понял как - уже не можешь писать по другому.... :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 11:30 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
[quot D129Э нет. Это случилось уже потом. Зачем бы андроидянам разрабатывать свою машину, если можно было бы установить уже готовую? Нокия например - установила, я на нокию даже какие-то игрушки в стиле Спектрума скачивал - чистый jar пакет - запусти и лети... Им именно не разрешили, они взяли спецификацию, написали свою виртуальную машину - там даже тип процессора (виртуального) другой - в оригинальной джаве он стековый, а у них - регистровый, И сказали - это не джава. И действительно - в логи когда смотришь - Делвик. Все системные неймспейсы так начинаются. Оракл обиделся? Это чисто просчет их жадного (в разрез с идеей "открытой платформы") руководства.[/quot]Это, коненчо же, неправда от и до. Никогда Android не хотел использовать оракловскую имплементацию JavaME. Никогда. Dalvik использует совершенно другую архитектуру и подходы. Они в принципе не могут сосуществовать вместе, ни под каким соусом. 1) Разные форматы скомпилированного кода. У Dalvik свой формат для экономми места; 2) Разные способы работы с процессором. У Оракла через стэк, а Dalvik - регистровый подход, для экономии тактов; 3) Dalvik осознанно ушел от стандарта Java, что бы иметь свободу в изменении API, не заморачиваясь с бюрократией Sun/Oracle (JCP); 4) Dalvik никогда даже не пытался пройти сертификацию, что бы быть признанным реализацией Java-машины. Оно и понятно - у него урезанный функционал, часть АПИ скопировано, часть вырезано, и т.д.. У него никогда не было ни планов, ни шансов сьать сертифицированной JVMой. Так что, не надо путать божий дар с яичницой. Все, кто хочет сделать свою JVMку всегда могли это сделать без каких-либо претензий со стороны Sun/Oracle, могут и сейчас. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 12:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИзопропилcdtyjv, видишь ли, глубоко фиолетово на чём писать - java или dotnetНет. Без лямбд и замыканий работать невозможно. ну дык эта Java на месте не стоит, есть у неё лямбды уже ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 12:40 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129Им именно не разрешили, они взяли спецификацию, написали свою виртуальную машину .... И сказали - это не джава. И действительно - в логи когда смотришь - Делвик. Все системные неймспейсы так начинаются. авторЭто, коненчо же, неправда от и до. Эта ваша фраза не точна. Вы изложили более подробно то же самое. Противоречие только в "не разрешили" и "никогда не хотели". Я вижу необходимость писать велосипед, когда не разрешили использовать уже готовое - хибернейт там или триггеры. Пишу в таком случае с нуля, ну и по ходу действия приспосабливаю к железу. Думаю, что моя версия ближе к правде - не разрешили, стандарт изменить не позволили, что-то еще - вот и пришлось изголяться. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 12:41 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
D129Противоречие только в "не разрешили" и "никогда не хотели". Я вижу необходимость писать велосипед, когда не разрешили использовать уже готовое - хибернейт там или триггеры. Пишу в таком случае с нуля, ну и по ходу действия приспосабливаю к железу. Думаю, что моя версия ближе к правде - не разрешили, стандарт изменить не позволили, что-то еще - вот и пришлось изголяться. :-)А, ну то есть вы не знаете предмет спора, но в спор все же вступили. Понятненько. У вас типичное шаблонное мышление разработчика корпоративных программ. Если вам когда-нибудь доведется разрабатывать коробочные продукты, то вы поймете, насколько глупо звучат тезисы о "велосипедах" в контексте разработки таких продуктов. Особенно таких низкоуровневых, как виртуальные машины. P.S.: Nokia, которая вместо своей платформы использовала JavaME (которая никогда не была в мейнстриме и не славилась высокими качествами) недавно в предбанкротном состоянии была продана Microsoft. Она не хотела изобретать "велосипедов". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 13:06 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvдоведется разрабатывать коробочные продукты а расскажите-ка, что вы понимаете под «коробочными продуктами» в контексте сегодняшних реалий ? что это? уже не первый раз от вас подобное вижу, и складывается впечатление, что ваши «коробочные продукты» это некий заоблачный венец эволюции в разработке ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 13:11 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvЕсли вам когда-нибудь доведется разрабатывать коробочные продукты, то вы поймете, насколько глупо звучат тезисы о "велосипедах" в контексте разработки таких продуктов.Свеном, ты какую-то фигню несёшь. При чём тут коробочные продукты? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 13:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
skyANAcdtyjvЕсли вам когда-нибудь доведется разрабатывать коробочные продукты, то вы поймете, насколько глупо звучат тезисы о "велосипедах" в контексте разработки таких продуктов.Свеном, ты какую-то фигню несёшь. При чём тут коробочные продукты? ну дык он же творит "коробочный" продукт. Правда профиль потенциального покупателя его не интересует, да ладно ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 13:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvА, ну то есть вы не знаете предмет спора, но в спор все же вступили. Понятненько. Это вы считаете, что я не знаю предмет спора. Это ваше мнение так же не бесспорно. Нокия - не так давно (годика четыре назад) выгнала всех "стариков" на пенсию - был у них такой менеджерский ход. Из рассчета "дать дорогу молодым" - вот и результат. Кадровые перестановки влияют посерьезнее использования или не использования готовых платформ... Я так думаю... :-) Ну, а насчет "глупо звучит" - возьму на себя наглость заявить, что я здесь не чемпион. :-/ ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 13:55 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилну дык он же творит "коробочный" продукт. Правда профиль потенциального покупателя его не интересует, да ладно Вот кстати, интересная тема - я вообще чего за андроид взялся - и написал свой навигатор. :-) А зачем - их же полно, коробочных продуктов! Да, полно. Есть просто роскошные - мне подобный года два писать. Но моим запросам они не соответствуют. Запросы скромные, но особые - и ни один найденный навигатор им не соответствовал. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 14:03 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилну дык он же творит "коробочный" продукт. Правда профиль потенциального покупателя его не интересует, да ладно Ну я еще ладно - мелочь, а не клиент. Чего со мной считаться... А вот приходит Гугл с Самсунгом к Ораклу - и говорит - нагни под наши нужды (мы андроид изобретаем) - свою коробочную джаву! А Оракл и отвечает - счас, производитель телевизоров и поисковик будут меня учить как операционки писать! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 14:07 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей Кпропущено... Нет. Без лямбд и замыканий работать невозможно. ну дык эта Java на месте не стоит, есть у неё лямбды ужеНе понял, там замыканий (захват локальных переменных) нету что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 14:32 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КНе понял, там замыканий (захват локальных переменных) нету что ли? Почему нету? "Like local and anonymous classes, lambda expressions can capture variables; they have the same access to local variables of the enclosing scope" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 14:33 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Алексей КНе понял, там замыканий (захват локальных переменных) нету что ли? Почему нету? "Like local and anonymous classes, lambda expressions can capture variables; they have the same access to local variables of the enclosing scope"Не увидел ни одного примера с локальной переменной. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 14:39 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КНе увидел ни одного примера с локальной переменной. А это ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 17:34 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Алексей КНе увидел ни одного примера с локальной переменной. А это ? автор // The following statement causes the compiler to generate // the error "local variables referenced from a lambda expression // must be final or effectively final" in statement A: // // x = 99; ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 18:17 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Да "не настоящие" там блямбды - чего вы прикопались к ущербным. ))) Их ещё пилить и пилить Ораклу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 19:57 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Лучше скажите, что думаете по поводу, что Виндовс 9 таки не будет совсем универсальной . Просто выкинут Вин РТ, оставив телефонную версию. Это и так должны были сделать раньше. Т. е. единого фреймворка и UI-фреймворка (да ещё чтобы с управлением памятью, естественно) на все платформы под х86 и АРМы мы не получим. Придётся кучки if'ов делать и всяких прочих костылей, вместо того, чтобы просто писать не задумываясь. Я бы хотел, чтобы бизнес-логика исполнялась без всяких костылей везде одинаково - чтобы не приходилось писать if(телефон), то вызывать библиотеку для телефонов. Чтобы единственное ограничение было - а как там со скоростью исполнения - телефонный процессор выдержит? А UI бы писался либо как-то гибко, чтобы автоматом выравниваться на больших и малых экранах (подойдёт для простых UI, не перегруженных контролами), либо просто две версии - для дестопов с кучей контролов (автокады всякие и т. п.), и для мобильных устройств с ограниченным функционалом (ну просто на экран всё не влезет). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 20:05 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
HomeCoder, майкрософт заботится о поддержании и создании рабочих мест, какие претензии? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 21:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропилмайкрософт заботится о поддержании и создании рабочих мест, какие претензии?WPF когда доделают? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 09:19 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИзопропилмайкрософт заботится о поддержании и создании рабочих мест, какие претензии?WPF когда доделают? а зачем? где деньги или маркетшаре хотя бы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 09:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей Кпропущено... WPF когда доделают? а зачем?windowsPopularity++; ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 09:47 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИзопропилмайкрософт заботится о поддержании и создании рабочих мест, какие претензии?WPF когда доделают? WPF же официально похоронили без особой шумихи. Была фраза какого-то внутреннего разработчика, что он не отвечает вопросам производительности. Он будет доживать на десктопе, теснимый постепенно универсальными Modern UI-приложениями. МС не может себе позволить сказать "да, пацаны, мы вас кинули". Она будет до последнего говорить "пользуйтесь нашими продуктами, всё будет хорошо". Но только слепой не видит, что WPF не получает никаких существенных обновлений уже несколько лет. Какой из этого вывод? - WPF совершенен и ему больше ничего не надо? Не мне вам говорить, что в нём ещё сильного много есть куда стремиться. Остаётся только одно - это уже тупиковая ветка майкрософтовских UI-фреймворков. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 10:34 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
HomeCoder, WinForms тоже не обновляются вообще-то. Других альтернатив для Desktop у МС сейчас нет. P.S. И кстати, WPF то обновляется http://msdn.microsoft.com/ru-ru/library/ms171868(v=vs.110).aspx#client ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 10:53 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
LelouchHomeCoder, WinForms тоже не обновляются вообще-то. Других альтернатив для Desktop у МС сейчас нет. P.S. И кстати, WPF то обновляется http://msdn.microsoft.com/ru-ru/library/ms171868(v=vs.110).aspx#client WPF только минорные обновления получает - подрихтовать там что-нибудь, какую-нибудь мелочь выпустить. Проблемы производительности - как были, так и остались. Мультитача из коробки как не было, так и нет - Петцольд какие-то костыли самописные предложил и всё. Некоторые библиотеки, типа той же Dynamic Data Dysplay, для Сильверлайта лучше и более функциональны, чем для WPF. Для Сильверлайта есть игровой движок Babylon и что-то там с XNA, а для WPF - кукишь. Хотела МС как-то сделать поддержку кросс-компоновки всяких штук, отрисовываемых через Win Forms (GDI+), WPF и DirectX - чтобы можно было, скажем, картинку, рендерируемую в DX, сразу на какую-нибудь панель WPF выводить (минуя WPF-команды, посылаемые в DX - у них там, мягко говоря, разоптимизация), да забила нафиг. Всё это делается из маркетинговых соображений. Т. е. это не WPF совершенен и ему больше нечего добавить. Это МС забила на него и теперь в тренде Modern UI один. А я вот не пойму, в чём проблема добавить в Modern UI контролов для дестопа в том числе? Да тупо просто отрисовывать их в меньшем масштабе, да и всё. Ну и кучковать с такой же плотностью, как в дестопных приложениях. Т. е. в чём проблема писать для десктопа на Modern UI? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 19:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
HomeCoder, HomeCoderТ. е. в чём проблема писать для десктопа на Modern UI? 1) Только в Windows 8.1 Update 2 (короче, в следующем обновлении винды) станет доступным оконный режим работы таких приложений. 2) на всем, что младше Windows 8 оно просто не запустится. 3) Modern UI основан на WinRT, а не на .net. В WinRT много чего нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 20:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
HomeCoderWPF же официально похоронили без особой шумихи А ссылка есть? Или похоронили настолько тайно, что расстреляли все разработчиков платформы? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 20:40 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Cat2HomeCoderWPF же официально похоронили без особой шумихи А ссылка есть? Или похоронили настолько тайно, что расстреляли все разработчиков платформы? Только наивные будут ещё верить, что WPF - это мейнстрим. У МС теперь мейнстрим - мобильные разработки. Новая Виндовс (9) будет консолидироваться вокруг Modern UI, а не форм или WPF. МС даже хочет отобрать дестопный UI у планшетов, собака! Так что стоит закупиться нынешними планшетами на Bail Trail, пока есть такая возможность - 350-400 грамм веса и полноценная дестопная Виндовс 8.1 в кармане на 8 дюймах. 5-8 часов работы - на уровне айпадов. Ценник от 250 долларов (в США). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 21:25 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
HomeCoderТак что стоит закупиться ... О, так ты зарегался только ради того, чтобы запостить в итоге эту рекламу? В одном топике обсираешь wpf, в другом восхваляешь... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 21:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Lelouch... WinRT много чего нет. Как то раз надо было посылать из модерн аппа почту не через стандартный механизм и делать скриншот контролов с картинкой на бэкграунде. Разумными усилиями это не делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 22:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
petalvikHomeCoderТак что стоит закупиться ... О, так ты зарегался только ради того, чтобы запостить в итоге эту рекламу? В одном топике обсираешь wpf, в другом восхваляешь... У WPF есть достоинства и недостатки. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2014, 05:40 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Denis.Lelouch... WinRT много чего нет. Как то раз надо было посылать из модерн аппа почту не через стандартный механизм и делать скриншот контролов с картинкой на бэкграунде. Разумными усилиями это не делается. В WinRT есть аналог WPF'овского VisualBrush? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2014, 05:44 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvЯ понимаю, почему адепты дотнета искренне не понимают, зачем нужен перфоманс: вы просто дальше обычных корпоративных сайтиков ничего не видели, и не разрабатывали. Окей, расскажу. Я разрабатываю коробочный продукт. Потенциальные покупатели оценивают его по ряду характеристик, которые условно можно разделить на качественные и количественные. Качественные характеристики - это что бы в продукте был заявленный функицонал, что бы не вылетали ошибки, что бы его можно было легко конфигурировать, и т.д.. Количественные характеристики - это его скорость (читай - операций в секунду) и потребление памяти на стандартных наборах данных. Когда кому-то нужен этот продукт, он сначала шерстит рынок, и находит предварительно подходящие варианты. Потом на этапе предварительного эвалуэйшена откидывает откровенный шлак. Оставшиеся вендоры подвергаются тестированию. Как правило, с качественными характеристиками все более менее на одном уровне. Возьмите Thrift, Protobuf и Avro, и посмотрите на то, что они умеют. Этого за глаза хватает подавляющему большинству кастомеров. Поэтому наиболее интересным этапом отбора является количественное тестирование, когда юзеры начинают гонять данные и смотреть на следующие вещи: - загрузку сети - загрузку процессора - скорость передачи полезной информации - количество операций в секунду - нагрузку на память. И когда вы к ним придете со своим несчастным SOAP, и покажите результат в несколько раз хуже других, ибо даже дураку понятно, что XML будет работать медленнее практически всего, то ни про какие premarute optimization вы им даже заикнуться на успеете, так как с вами просто перестанут разговаривать, и выкинут из конкурса. Вы же смотрите на вещи со стороны прикладного программиста, который сидит в каком-нибудь банке, и пилит очередную унылую учетную систему. Конечно, вашему супер-пупер решению, где бухгалтерша посылает отчетик раз в пятилетку, не нужна никакая скорость. Вам этого XML хватит за глаза на годы вперед. Но, представьте себе, есть и другие проекты, где нужна максимальная скорость. Например, высокоскоростная торговля. Пойдите-ка и расскажите им про свой XML и premature optimization. Так что не пишите ерунды про "берлоги" и "быстрый XML", вы тем самым выставляете себя дилетантами. Лучше расширяйте свой кругозор. У того, чем сейчас занимаюсь я, цель простая - он должен порвать по скорости конкурентов, которых как минимум 4 штуки. есть еще кто-то не знакомый с 1С? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2014, 18:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Тут ссылку ( часть 2 ) интересную в тему нашел, про коллекции в .Net кто-нибудь использует или использовал в работе С5? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 10:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Тут ссылку ( часть 2 ) интересную в тему нашел, про коллекции в .Net кто-нибудь использует или использовал в работе С5? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Статья 2013-го года. Автор не знает, что использовать "лямбдовый" синтаксис для описания анонимных методов удобнее. Статья уг. Настоящая претензия к дотнетным коллекциям заключается в следующем. Они реализованы в safe-коде. Из-за этого происходит лишняя проверка границ массивов. Этого можно было бы избежать, если бы коллекции были реализованы в unsafe, как, например, реализован метод Array.Copy. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 11:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, Так было бы круче... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 12:05 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1402627]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
396ms |
get tp. blocked users: |
2ms |
others: | 337ms |
total: | 810ms |
0 / 0 |