0>По опыту своих бесед с программистами, не знакомыми с linq, я собрал ряд стереотипных заблуждений и проблем с пониманеим linq, которые у них встречаются. В целом среди них преобладает такое мнение "это убогий SQL в С#, зачем он нужен?". Все попытки объяснить, что linq является воплощением аппарата операций над множествами, который ортогонален языку, и с необходимостью которого никто не спорит, сталкиваются с такой стеной непонимания.
Все попытки объяснить обезъянам, что такое дерево, приведут ровно к тому же. Может быть просто не надо с ними это обсуждать?
0> Это приводит меня к мысли, что linq подан неудачно. Его SQL-подобный синтаксис вызывает затруднения и у тех кто не знаком с SQL (выглядит больно непривычно) и у тех, кто знаком (не совсем понимают, что SQL делает в языке и сталкиваются с тем, что синтаксис всего лишь похож, а не повторяет SQL). Мое мнение по этому поводу: Linq — хорошая штука, но неудачно подан. Ваши мнения?
Это такая же мелочь, как лямбда в питоне состоит из одного выражения, стейтменты нельзя вписать. Затруднения — первые пару дней. LINQ — это инструмент для решения определённого класса задач. Если люди пишут код, чтобы решать задачи (а не чтобы поболтать про разные фичи), то они будут его использовать. Инструменты надо использовать, а не подавать.
"Подавать" надо маркетинговые безделушки, типа делегатов или встроенного в IDE списка задач.