Я побачив коментар / зауваження, де в ньому щось зазначалося - стосовно LINQ / lambda - по рядках: "Напишіть код, читаний для людей, а не читабельний на вашому комп'ютері".
Я думаю, що це твердження має багато достоїнств, однак врахуйте розробника (такого як я), який пройшов повну гаму мов розвитку від Асамблеї, через процедурні, через ОО, через керовані, завдяки використанню паралельних рішень із високою пропускною здатністю. .
Я пишався тим, що зробив свій код максимально зрозумілим та максимально використаним, і прийняв багато принципів дизайну GOF, щоб забезпечити системи якості та послуги для виробництва в широкій кількості різних секторів бізнесу.
Перший раз, коли я зіткнувся з лямбдаським виразом, я подумав: "Що це за чорт! ?!" Це було негайно протиінтуїтивним моїм знайомим (і тому комфортним) явним декларативним синтаксисом. Молодші <5 років у хлопцях із роботи, однак, збивали його так, як це була манна з неба!
Це тому, що роками мислення, як комп'ютер (у синтаксичному сенсі), перекладається дуже легко в синтаксис прямого кодування (незалежно від мови). Коли у вас був такий обчислювальний склад мислення приблизно 20 років (у моєму випадку 30+), ви повинні зрозуміти, що початковий синтаксичний шок лямбда-виразу може легко перетворитися на страх і недовіру.
Можливо, колега в ОП походив із подібного тла, як я (тобто кілька разів був навколо блоку), і це було їм проти інтуїтивно на той час? Моє запитання: що ти з цим зробив? Чи намагалися ви перевиховати свого однолітка в розумінні переваг вбудованого синтаксису, або ви наклали на них / остракізуєте їх за те, що вони не були "з програмою"? Перший, мабуть, бачив, як ваш колега підійде до вашої думки, другий, мабуть, змусить їх ще більше недовіряти синтаксису LINQ / lambda і тим самим посилювати негативну думку.
Для себе мені довелося перевиховати власний спосіб мислення (як Ерік підказує вище, це не незначна зміна розуму; мені довелося програмувати в Міранді в 80-х, щоб я мав свою частку досвіду функціонального програмування) але як тільки я пережив цей біль, переваги були очевидні, але, що важливіше - там, де його використання було застосовано (тобто використовувалося заради його використання), над складним та повторюваним (зважаючи на принцип DRY у тому випадку).
Оскільки людина, яка не тільки все ще пише багато коду, але й також повинна технічно переглядати багато коду, обов'язково я зрозуміла ці принципи, щоб я могла неупереджено переглянути елементи, порадити, де використання виразу лямбда може бути більш ефективним / читабельна, а також змусити розробників враховувати читабельність дуже складних вбудованих лямбда-виразів (де виклик методу - у таких випадках - зробить код більш читабельним, легкодоступним та розширюваним).
Тож коли хтось каже, що вони "не отримують лямбда?" або синтаксис LINQ, а не називати їх луддитською спробою, щоб допомогти їм зрозуміти основні принципи. Зрештою, вони можуть мати "стару школу", наприклад, я.