Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Будущее C# и VB .NET, The LINQ Project 
:(
    Опции темы
Exception
  Дата 11.3.2006, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Уфф.... дописал-таки smile
http://forum.vingrad.ru/index.php?showtopic=87055
PM   Вверх
mr.DUDA
Дата 11.3.2006, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Код
  public static class Sequence {
    public static IEnumerable<T> Where<T>(
             this IEnumerable<T> source,        //Источник – перечисление
                  Func<T, bool> predicate) {   //Функция-условие

      foreach (T item in source)            //Для каждого объекта в источнике
        if (predicate(item))                //Если условие выполняется
          yield return item;              //Добавить в перечисление-результат
    }


Что-то я совсем запутался... Старый стал, наверно smile
Добавлено @ 20:41
З.Ы.
статья написана сложновато, с отступлениями, кое-где смысл улавливается с трудом... но плюс ставлю заслуженно - Гигант, сам такое осилил !


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 11.3.2006, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Имхо, единственный способ действительно все это осилить и понять - самому экспериментировать и компилировать каждый пример. Именно так я и делал smile
Добавлено @ 23:49
Пожалуйста, укажи непонятные места, постараюсь объяснить по-лучше smile
PM   Вверх
mr.DUDA
Дата 11.3.2006, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



прочитал всю статью и может просто на ночь лучше мозг не напрягать, но ближе к середине код стал слегка непонятным, а к концу даже не вчитывался. smile


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 12.3.2006, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Честно говоря, иногда сам не понимал, что они там в примерах пишут. Заставлял себя копи-пастить код в студию и разбирать...
PM   Вверх
Stargazer
Дата 12.3.2006, 06:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 11.3.2006

Репутация: нет
Всего: нет



Супер конечно. SQL-like запросы интегрированные в язык это нечто, из-за чего я могу поступиться прЫнципами и перейти на c# smile
Такого вроде даже в Nemerle нету.

Это сообщение отредактировал(а) Stargazer - 12.3.2006, 06:15
PM   Вверх
Ch0bits
Дата 12.3.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Ну вот наконец до конца дочитал! smile
Большую часть понял, но в исходниках конечно надо разбираться в живую.

Цитата(Exception @ 11.3.2006, 23:36 Найти цитируемый пост)
самому экспериментировать и компилировать каждый пример. Именно так я и делал

Это как? Может чего-то скачать надо?
PM WWW   Вверх
mr.DUDA
Дата 12.3.2006, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Ch0bits @ 12.3.2006, 10:00 Найти цитируемый пост)
Это как? Может чего-то скачать надо?

Там в конце почитай, есть инструкция вроде...


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 12.3.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



http://msdn.microsoft.com/vcsharp/future
качай там LINQ Technology Preview.
PM   Вверх
Void
Дата 12.3.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(Stargazer @ 12.3.2006, 08:15 Найти цитируемый пост)
Такого вроде даже в Nemerle нету.

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


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Exception
Дата 13.3.2006, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Ну уж клон DLinq ты там точно не сделаешь... smile
По содержимому самой статьи (по LINQ) вопросов нет?
PM   Вверх
chipset
Дата 13.3.2006, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 164



Цитата(Void @ 12.3.2006, 11:08 Найти цитируемый пост)
В Nemerle аналог (и даже клон) LINQ можно сделать очень быстро с помощью макросов, тем более значительная часть необходимого синтаксического сахара в языке уже есть. А вот в Шарпе по-прежнему некоторых элементарных вещей не хватает, и появятся они в нем или нет, решать не нам, а Microsoft.

Скажу больше, такое можно сделать и в C++.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Exception
Дата 13.3.2006, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Тут главное - не сам LINQ, а DLinq, имхо. Жутко удобная технология, позволяющая избавиться от применения бизнес-объектов - объекты - это и есть записи.
PM   Вверх
Void
Дата 13.3.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(Exception @ 13.3.2006, 04:22 Найти цитируемый пост)
Ну уж клон DLinq ты там точно не сделаешь...

Почему ты так уверен? В макросах Nemerle в compile-time доступна вся мощь языка. Макросы компилируются в сборки, которые подключаются компилятором на определенных этапах синтаксического и семантического разбора. Так что любые compile-time преобразования исходников — хоть LINQ в T-SQL, хоть интеграция XML, хоть реализация ORM — никаких проблем не вызовут. При этом возможно обеспечить внятные и прозрачные сообщения об ошибках.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Exception
Дата 13.3.2006, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Я имею в виду, нет готовой и такой простой реализации. Самому делать - другое дело smile .
PM   Вверх
Void
Дата 13.3.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(Exception @ 13.3.2006, 19:36 Найти цитируемый пост)
Я имею в виду, нет готовой и такой простой реализации.

Ты имеешь в виду простоту создания или простоту использования? Если второе, то, как я уже сказал, можно сделать полный аналог реализации MS. Если первое, то трудоемкость реализации LINQ я оцениваю в один день от силы; про остальное сказать не могу, ни с DLinq, ни с XLinq подробно не разбирался.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
mr.DUDA
Дата 13.3.2006, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Void @ 13.3.2006, 16:45 Найти цитируемый пост)
Если первое, то трудоемкость реализации LINQ я оцениваю в один день от силы

Правильно, так их ламеров из M$, по мелкомягкому месту ! smile smile smile

А если серьёзно: неужели за 1 день можно заколбасить хотя бы отдалённое подобие линка ? Что-то меня мучают сомнения... smile


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 13.3.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата(mr.DUDA @ 13.3.2006, 19:44 Найти цитируемый пост)
Правильно, так их ламеров из M$, по мелкомягкому месту !

smile
Цитата(Void @ 13.3.2006, 18:45 Найти цитируемый пост)
ни с DLinq, ни с XLinq подробно не разбирался.

Как время будет, напишу о них отдельно.
PM   Вверх
Void
Дата 13.3.2006, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(mr.DUDA @ 13.3.2006, 20:44 Найти цитируемый пост)

Цитата
Если первое, то трудоемкость реализации LINQ я оцениваю в один день от силы

Правильно, так их ламеров из M$, по мелкомягкому месту!

А если серьёзно: неужели за 1 день можно заколбасить хотя бы отдалённое подобие линка ? Что-то меня мучают сомнения... smile

На Nemerle — да. То, что товарищи в MS колбасили соответствующий код в компиляторе не один день, я знаю smile Но метапрограммирование — сильная штука…

Я сам на Nemerle не специализируюсь, кто хочет подробнее — welcome to RSDN: сюда, да и вообще в Философии по этому поводу много в последнее время говорено. Фильтруйте флейм и будет вам масса полезной информации smile

Это сообщение отредактировал(а) Void - 13.3.2006, 21:25


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Medved
Дата 15.3.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 3
Всего: 154



Цитата(Void @ 14.3.2006, 00:15 Найти цитируемый пост)
Но метапрограммирование — сильная штука…

Пока, к сожалению, больше теоретически...


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
chipset
Дата 15.3.2006, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 164



Цитата(Pegas @ 14.3.2006, 15:15 Найти цитируемый пост)
Пока, к сожалению, больше теоретически...

Ы? Метапрограммирование это те-же самые шаблоны и макросы из C++. Просто в Немерле сейчас самый мощный, распространенный механизм метапрограммирования из языков что мне известны. В совокупности с хорошей библиотекой классов (FCL) Немерле представляеться мне очень и очень неплохой средой разработки ;)
Ох ужи эти слоники... smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
mr.DUDA
Дата 15.3.2006, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



А что такое DSL ? Вот на RSDN (в том числе в темке про немерле) все говорят что рульная мегатехнология программирования, а никто не объяснит в чём суть.


--------------------
user posted image
PM MAIL WWW   Вверх
Medved
Дата 15.3.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 3
Всего: 154



Цитата(chipset @ 15.3.2006, 08:06 Найти цитируемый пост)
Ы? Метапрограммирование это те-же самые шаблоны и макросы из C


Суть уловил, но имхо все же я бы не стал так говорить. Метапрограммирование включает в себя гораздо больше понятий. R# смотрели?
MS сейчас очень активно развивает именно эти направления.

Метапрограммирование - это программмирование самого процесса программирования.

Хочу почитать об этом в Wiki
R# – метапрограммирование в .NET

В общем все идет к тому, чтобы программировать не в исходных кодах, а в диаграммах UML, или чего-то похожего, если конечно будет придуманно что-то лучше.

ИМХО правильно сказал один мой знакомый - будущее за скриптовыми языками.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
arilou
Дата 15.3.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(mr.DUDA @ 15.3.2006, 08:31 Найти цитируемый пост)
А что такое DSL

DSL = Domain Specific Language - Язык Предметной Области. Велкам сюда : http://softwarefactories.com/

В двух словах - реализуется словарь понятий прикладной области для которой создается программа, и собственно сама программа пишется на этом языке.
Добавлено @ 13:24
Кстати, Microsoft тут уже засветился smile

http://msdn.microsoft.com/vstudio/DSLTools/


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
chipset
Дата 15.3.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 164



Цитата(mr.DUDA @ 14.3.2006, 22:31 Найти цитируемый пост)
А что такое DSL ? Вот на RSDN (в том числе в темке про немерле) все говорят что рульная мегатехнология программирования, а никто не объяснит в чём суть.

Языке в языке. Суть в том что для каждой области можно создать свой, специфичный язык и жечь на нём. Такое можно было-бы извлечь из C++ если бы его макросы были посложнее.
В Немерле макросы имеют дело прямо с веткой токенов, и поэтому они мощны smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Void
Дата 15.3.2006, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(Pegas @ 15.3.2006, 14:34 Найти цитируемый пост)
R# смотрели?

Pegas, Влад фактически отказался от развития R# после знакомства с Nemerle.

Цитата(chipset @ 15.3.2006, 19:24 Найти цитируемый пост)
В Немерле макросы имеют дело прямо с веткой токенов, и поэтому они мощны smile

Переводя на язык теории, макросы в Nemerle работают с AST, а не с текстовым представлением smile

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


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1260 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.