| 1 2 3 4 5 6 7 8 9 |
| LINQ как шаг к функциональному программированию | |
| От: | Чистяков Влад (VladD2) rsdn | ||
| Дата: | 28.08.08 13:11 | ||
| Оценка: | 1531 (53) +2 | ||
| Статья: LINQ как шаг к функциональному программированию Автор(ы): Чистяков Влад (VladD2) Дата: 26.01.2009 Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. Кроме того, эта статья дает некоторое понимание того, как работает «LONQ to Object» и на каких принципах он основан. Авторы: Чистяков Влад (VladD2) Аннотация: Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. Кроме того, эта статья дает некоторое понимание того, как работает «LINQ to Object» и на каких принципах он основан. |
| Re: LINQ как шаг к функциональному программированию | |
| От: | nikov эксперт | ||
| Дата: | 28.08.08 18:48 | ||
| Оценка: | +1 | ||
| Здравствуйте, Чистяков Влад (VladD2), Вы писали: ЧВV>Статья: ЧВV>LINQ как шаг к функциональному программированию Автор(ы): Чистяков Влад (VladD2) Дата: 26.01.2009 Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. Кроме того, эта статья дает некоторое понимание того, как работает «LONQ to Object» и на каких принципах он основан. Терминологическое уточнение: x = y это не "присвоение", а "присваивание". |
| Re: LINQ как шаг к функциональному программированию | |
| От: | _FRED_ эксперт | ||
| Дата: | 29.08.08 04:51 |
| Здравствуйте, Чистяков Влад (VladD2), Вы писали: ЧВV>Статья: ЧВV>LINQ как шаг к функциональному программированию Автор(ы): Чистяков Влад (VladD2) Дата: 26.01.2009 Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. Кроме того, эта статья дает некоторое понимание того, как работает «LONQ to Object» и на каких принципах он основан. Обычно, при использовании сокращений (даже общеизвестных), принято в первый раз упомянуть термин полностью, а следом указать аббревиатуру в скобках, и, далее, уже пользоваться кратким обозначением. Это как объявление и использование переменных Даже в узкоспециализированной литературе пренебрегать этим, ИМХО, неправильно: тяжело сразу настроить мозг на "раскрытие" сокращений и чтение уже не такое лёгкое, и удовольствия от него меньше. Аббревиатуры "ФП" и "ИЯ" встречаются сразу без предупреждения:
What I've learned about software engineering: 1) Listen to smart people 2) Prefer simple to clever 3) Have no ego 4) Shut the fuck up. Не бойтесь делиться своими методами работы. Большинству людей будет тупо лень их использовать. |
| Re: LINQ как шаг к функциональному программированию | |
| От: | McSim | ||
| Дата: | 01.09.08 00:42 | ||
| Оценка: | ![]() | ||
| Здравствуйте, Чистяков Влад (VladD2), Вы писали: ЧВV>Статья: ЧВV>LINQ как шаг к функциональному программированию Автор(ы): Чистяков Влад (VladD2) Дата: 26.01.2009 Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. Кроме того, эта статья дает некоторое понимание того, как работает «LONQ to Object» и на каких принципах он основан. Здравствуйте, Влад! Статью читал в журнале. Очень понравилась. Но очень огорчает большое количество орфографических ошибок в тексте. ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> |
| Re[2]: LINQ как шаг к функциональному программированию | |
| От: | Cyberax | ||
| Дата: | 01.09.08 01:28 | ||
| Оценка: | -1 ![]() | ||
| Здравствуйте, McSim, Вы писали: MS>Но очень огорчает большое количество орфографических ошибок в тексте. Это чтоб сразу было видно, что Влад пишет Sapienti sat! |
| Re[3]: LINQ как шаг к функциональному программированию | |
| От: | AngeL B. | ||
| Дата: | 01.09.08 02:36 | ||
| Оценка: | +2 | ||
| Здравствуйте, Cyberax, Вы писали: MS>>Но очень огорчает большое количество орфографических ошибок в тексте. C>Это чтоб сразу было видно, что Влад пишет Вместо того, чтобы писать вот такие комментарии про людей, которые для тебя статьи пишут, лучше бы предложил свои услуги по вычитке и коррекции текста. |
| Re[4]: LINQ как шаг к функциональному программированию | |
| От: | McSim | ||
| Дата: | 01.09.08 02:58 |
| Здравствуйте, AngeL B., Вы писали: AB>Здравствуйте, Cyberax, Вы писали: AB>Вместо того, чтобы писать вот такие комментарии про людей, которые для тебя статьи пишут, лучше бы предложил свои услуги по вычитке и коррекции текста. Да разве же я с претензией написал это? ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> |
| Re[5]: LINQ как шаг к функциональному программированию | |
| От: | AngeL B. | ||
| Дата: | 01.09.08 05:06 |
| Здравствуйте, McSim, Вы писали: MS>Да разве же я с претензией написал это? To McSim: Я не про твою фразу написал, а про Cyberax-овскую |
| Re[2]: LINQ как шаг к функциональному программированию | |
| От: | VladD2 rsdn | ||
| Дата: | 01.09.08 06:44 |
| Здравствуйте, McSim, Вы писали: MS>Но очень огорчает большое количество орфографических ошибок в тексте. Это довольно странно, так как статьи проходит корректуру в редакции. Огромная просьба выслать примеры ошибок на адрес mag@rsdn.ru или submit@rsdn.ru. |
| Re[3]: LINQ как шаг к функциональному программированию | |
| От: | McSim | ||
| Дата: | 01.09.08 07:30 | ||
| Оценка: | ![]() | ||
| Здравствуйте, VladD2, Вы писали: VD>Здравствуйте, McSim, Вы писали: VD>Это довольно странно, так как статьи проходит корректуру в редакции. VD>Огромная просьба выслать примеры ошибок на адрес mag@rsdn.ru или submit@rsdn.ru. К сожалению с собой только диск от журнала. Мне надо посмотреть на сами страницы журнала. Сейчас же из статьи с диска несколько цитат: 1.
и т.д. Т.е., то буква пропущена, то местами поменяны, то запятой нету. ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> |
| Re[4]: LINQ как шаг к функциональному программированию | |
| От: | Kupaev rsdn | ||
| Дата: | 01.09.08 10:25 |
| Здравствуйте, McSim, Вы писали: MS>Здравствуйте, VladD2, Вы писали: VD>>Здравствуйте, McSim, Вы писали: VD>>Это довольно странно, так как статьи проходит корректуру в редакции. VD>>Огромная просьба выслать примеры ошибок на адрес mag@rsdn.ru или submit@rsdn.ru. MS>К сожалению с собой только диск от журнала. Мне надо посмотреть на сами страницы журнала. Спешка, увы, дает о себе знать. |
| Re[4]: LINQ как шаг к функциональному программированию | |
| От: | Cyberax | ||
| Дата: | 01.09.08 13:00 | ||
| Оценка: | ![]() | ||
| Здравствуйте, AngeL B., Вы писали: C>>Это чтоб сразу было видно, что Влад пишет AB>Вместо того, чтобы писать вот такие комментарии про людей, которые для тебя статьи пишут, лучше бы предложил свои услуги по вычитке и коррекции текста. Я это не в упрёк Владу, его орфографические ашыпки и очепятки — уже давно неотъемлимая часть РСДН. Sapienti sat! |
| Re: LINQ как шаг к функциональному программированию | |
| От: | VladD2 rsdn | ||
| Дата: | 26.09.08 23:34 |
| Хороший сравнительный пример использования LINQ привел IT в этом сообщении Автор: IT .Дата: 22.09.08 |
| Re[2]: LINQ как шаг к функциональному программированию | |
| От: | Alf | ||
| Дата: | 12.01.09 20:16 |
| Похоже китайская техника копипейста добралась и до статей =) Особенность 1: В ФЯ иногда можно встретить два варианта этой функции FoldLeft, FoldRight. Первая производит свертку от начала списка к концу, вторая, соответственно, наоборот, от начала к концу. |
| Re: LINQ как шаг к функциональному программированию | |
| От: | alvas | ||
| Дата: | 13.01.09 06:11 |
| Здравствуйте, Чистяков Влад (VladD2), Вы писали: ЧВV>Аннотация: ЧВV>Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. ЧВV>Кроме того, эта статья дает некоторое понимание того, как работает «LINQ to Object» и на каких принципах он основан. Здравствуйте, Влад! Статья очень понравилась. http://alvas.net — Аудио-инструменты для .Net разработчиков |
| Re[3]: LINQ как шаг к функциональному программированию | |
| От: | VladD2 rsdn | ||
| Дата: | 13.01.09 09:19 |
| Здравствуйте, Alf, Вы писали: Alf>Похоже китайская техника копипейста добралась и до статей =) Ну, обладая некоторым талантом можно и без копипаста накосячить Alf>Особенность 1: В ФЯ иногда можно встретить два варианта этой функции FoldLeft, FoldRight. Первая производит свертку от начала списка к концу, вторая, соответственно, наоборот, от начала к концу. Да, есть такая ошибка. Сам заметил, но уже поздно. |
| Re[4]: LINQ как шаг к функциональному программированию | |
| От: | _FRED_ эксперт | ||
| Дата: | 13.01.09 09:40 |
| Здравствуйте, VladD2, Вы писали: Извиняюсь, что спамлю, но на форум mag ты, наверное, не подписан, и личные сообщения не получаешь Что с подпиской на журнал? Автор: _FRED_ Дата: 24.12.08 ... << RSDN@Home 1.2.0 alpha 4 rev. 1111>> What I've learned about software engineering: 1) Listen to smart people 2) Prefer simple to clever 3) Have no ego 4) Shut the fuck up. Не бойтесь делиться своими методами работы. Большинству людей будет тупо лень их использовать. |
| Re: LINQ как шаг к функциональному программированию | |
| От: | eao197 | ||
| Дата: | 13.01.09 10:26 |
| Здравствуйте, Чистяков Влад (VladD2) Идентификатор seed при вызове func -- это ошибка или что-то другое?
PS. Из статьи можно было бы смело выкинуть, как минимум, 1/3 текста при сохранении той же информативности. PPS. По ходу чтения сильно напрягает стиль изложения "от первого лица" с наездами на "императивных программистов". PPPS. Надеюсь, что 90% императивных программистов все-таки пишут так:
|
| Re: LINQ как шаг к функциональному программированию | |
| От: | server_mouse | ||
| Дата: | 13.01.09 15:44 |
| Здравствуйте, Чистяков Влад (VladD2), Вы писали: ЧВV>Статья: ЧВV>LINQ как шаг к функциональному программированию Автор(ы): Чистяков Влад (VladD2) Дата: 26.01.2009 Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. Кроме того, эта статья дает некоторое понимание того, как работает «LONQ to Object» и на каких принципах он основан. ЧВV>Авторы: ЧВV> Чистяков Влад (VladD2) ЧВV>Аннотация: ЧВV>Цель данной статьи – объяснить читателю незнакомому с ФП, что такое функциональный подход, какие он дает преимущества, и как его можно использовать с помощью LINQ и C# 3.0. ЧВV>Кроме того, эта статья дает некоторое понимание того, как работает «LINQ to Object» и на каких принципах он основан. Жаль про join не рассказали ничего. Повреждение мозга после ректальной биопсии — редкая штука (с) Хаус |
| Re[2]: LINQ как шаг к функциональному программированию | |
| От: | Andrey Gliznetsov | ||
| Дата: | 14.01.09 07:39 |
| Здравствуйте, eao197, Вы писали: E>PPPS. Надеюсь, что 90% императивных программистов все-таки пишут так: E>
Надеюсь что любой грамотный программист напишет вот так:
Кроме того за все в этой жизни надо платить, в том числе и за лаконичность LINQ, вот результаты конкатенации массива чисел из 10000 элементов: Способ: императивный Расход памяти: 1200 kb Время: 1600 ms Способ: LINQ Расход памяти: 2400 kb Время: 860 ms Способ: StringBuilder Расход памяти: 580 kb Время: 4 ms Интересно что Linq отаработал в два раза быстрее и сожрал в два раза больше памяти, чем простой цикл. Ну а последний результат, как говорится без коментариев |
| 1 2 3 4 5 6 7 8 9 |