Последние комментарии

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


Михаил Фленов

2 Bush

Давно не удалял комментарии, но тут выхода просто нет, потому что дискуссии нет. В твоем комментарии только одна мысль по теме:

Как я понял, под "дискуссией" здесь подразумевают "полное согласие с исходным текстом". Любое отклонение от обозначенной траектории провоцирует срачь со стороны некоторых "взрослых специалистов".


Перечитай еще раз мой пост и посмотри, о чем мы говорим:

Если кто-то не согласен со мной, то назовите мне преимущество LINQ, которое затмит его недостатки.


Назови преимущество и я с удовольствием продолжу твою дискуссию. Прежде чем писать это преимущество перечитай еще раз мой пост и заметь две основные идеи его - я не рекомендую использовать LINQ к базам данных и я не против использования LINQ to XML или к массивам. Если ты будешь опять писать, что я не разбираюсь в сути LINQ, потому что использование LINQ к массивам - это супер, то перечитай еще раз мой пост, потому что ты его явно не понял


owl

Жду когда в продаже появиться Lumia 610, чтобы посмотреть на windows phone. Как-то вы уж больно его ругаете Михаил)


Абдулов Андрей

Михаил, сколько Вам платит Apple за то что бы вы так ненавидели майкрософт и продвигали продукцию Apple?


Bush

Я так понял, что Михаилу не приходят уведомления о том, что в курилке что-то написали. :)


Денис

Бреда не вижу. Просто человек любит синтаксис.

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

И самое главное - ты наверно не понял смысла LINQ. Я же сказал, что это передаст, который просто использует синтаксис запросов в коде. Ты пишешь запросы, но чаще всего (а может и всегда, тут я утверждать не буду, потому что не знаю всех тонкостей реализации) LINQ просто преобразовывает написанный тобой код в библиотечные функции других библиотек. Например, в случае с базами данных (прости, но уж с ними мне приходится работать чаще всего, поэтому описываю на их примере), твой запрос будет преобразован в SQL.

В случае с Linq to XML будут использоваться библиотечные функции .NET. Пойди на сайт Microsoft и посмотри, там черным по HTML странице написано: LINQ to XML uses the latest .NET Framework language capabilities and is comparable to an updated, redesigned Document Object Model (DOM) XML programming interface.

LiINQ - это действительно передаст (классное слово придумал Михаил), который преобразовывает запросы в библиотечные функции или в SQL. Тебе нравится этот синтаксис? Используй, какие претензии к другим? Ты думаешь, что если постиг LINQ к массивам, то постиг айсберг? Спешу тебя удивить, но основное предназначение LINQ - это как раз базы данных. Только если потом захочешь перенести свой код на C++/Java или что-то другое, не говори, что тебя не предупреждали, что LINQ - это дерьмо, которое использовать нужно аккуратно.


Преобразовать список в массив, либо массив в словарь, либо др. подобное действо.


Вот над этим ржал. Использовать LINQ для преобразования данных, это конечно жестоко. Спасибо, насмешил. Это точно айсберг, до которого я бы не додумался


n

А мне почему-то кажется, что это ромул. Такой же бред


Rub

Мальчик научился писать запросы к массивам данных и считает что это круто, теперь наверно на всех блогах и форумах будет показывать, какой он умный. Обработка массивов запросом – это пятнышко на айсберге LINQ, а все ваши (не думаю, что вам больше 20 лет) примеры это обработка структурированных данных в памяти. Когда начнёте работать программистом, то поймёте, что большинству требуется работать с базами данных и очень много времени уходит на написание запросов к базе данных. Обработка массивов информации и примеры, что вы описали нужны очень редко или если вы не знаете SQL.


Михаил Фленов

Последний раз говорю, используйте LINQ без проблем для чего угодно, но не для запросов к базам данных. То, что ты перечислил, это все работа с массивами данных (я надеюсь) не полученных из базы данных. Если данные можно обработать на стороне сервера нормальным SQL, то они должны обрабатываться на сервере нормальным SQL. Если для тебя перечисленное - это айсберг, то пусть будет айсбергом.

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

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


Bush

Я часто использую Linq в следующих ситуациях (имея на руках некий IEnumerable<T>):
1. Нужно выполнить некоторую несложную операцию над всеми элементами перечисления, после чего результат обработки отфильтровать по некоторому условию и на основе результата создать перечисление экземпляров совершенно иного типа (например члены анонимного класса). "Несложную операцию" как правило юзаем в виде лямбда-выражения.
Как правило, код получается небольшой, в одну-три строки, вполне удобочитаемый, поскольку я использую не синтаксис "аля SQL", который на мой взгляд уродлив, а точечную нотацию - такой код читается последовательно и весьма понятен.

2. Просто выполнить некоторые действия над всеми или некоторыми, выбранными по определённому условию элементами перечисления.

3. Преобразовать список в массив, либо массив в словарь, либо др. подобное действо.

4. Очень удобно выполнять группирование, объединение, пересечение, выборку уникальных записей.

5. Весьма полезны и "ленивые" вычисления (надеюсь не нужно пояснять, что это такое).

6. Про удобство работы с XML даже пояснять не буду - оно весьма очевидно.

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

имхо


Bush

Я написал по указанной тобой ссылке.


О блоге

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

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне