Оценка проекта LINQ
От: Alexander Polyakov  
Дата: 14.11.10 14:18
Оценка: -1
Подобная тема уже поднималась, но все же еще раз. Вот мое мнение.

Проект LINQ хорош во всём, что не касается Expression<T>. От Expression<T> хорошо себя показывает только property expression “x => x.SomeProperty”. Всё что “глубже” property expression при использовании Expression<T> можно считать не очень удачной частью проекта LINQ. Чужеродными телами являются эти Expression<T> в обычном C#-коде, причем они маскируются под обычный код.

А выражение для property expression через Expression<T> тоже не самое удобное, но гораздо лучше, чем вообще отсутствие такой возможности.
Re: Оценка проекта LINQ
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.11.10 14:44
Оценка: +1 -3
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Подобная тема уже поднималась, но все же еще раз. Вот мое мнение.


AP>Проект LINQ хорош во всём, что не касается Expression<T>. От Expression<T> хорошо себя показывает только property expression “x => x.SomeProperty”. Всё что “глубже” property expression при использовании Expression<T> можно считать не очень удачной частью проекта LINQ. Чужеродными телами являются эти Expression<T> в обычном C#-коде, причем они маскируются под обычный код.


AP>А выражение для property expression через Expression<T> тоже не самое удобное, но гораздо лучше, чем вообще отсутствие такой возможности.


Конечно же мнение отдельных личностей всех очень интересует.
Re: Оценка проекта LINQ
От: Alexander Polyakov  
Дата: 14.11.10 14:47
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Проект LINQ хорош во всём, что не касается Expression<T>. От Expression<T> хорошо себя показывает только property expression “x => x.SomeProperty”. Всё что “глубже” property expression при использовании Expression<T> можно считать не очень удачной частью проекта LINQ. Чужеродными телами являются эти Expression<T> в обычном C#-коде, причем они маскируются под обычный код.


А собственно, косяк Expression<T> в том, что при их дизайне не учтен один из базовых принципов программирования -- декомпозиция. Одиночный Expression строит компилятор, а когда разбиваем Expression на два, их надо сращивать руками.
Re[2]: Оценка проекта LINQ
От: WolfHound  
Дата: 14.11.10 17:35
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>А собственно, косяк Expression<T> в том, что при их дизайне не учтен один из базовых принципов программирования -- декомпозиция. Одиночный Expression строит компилятор, а когда разбиваем Expression на два, их надо сращивать руками.

Переходи на немерле.
Он для своего AST умеет и композицию и декомпозицию.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Оценка проекта LINQ
От: Lloyd Россия  
Дата: 14.11.10 22:40
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Переходи на немерле.

WH>Он для своего AST умеет и композицию и декомпозицию.

А для Expression-а?
Re[2]: Оценка проекта LINQ
От: fddima  
Дата: 22.11.10 09:02
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>А собственно, косяк Expression<T> в том, что при их дизайне не учтен один из базовых принципов программирования -- декомпозиция. Одиночный Expression строит компилятор, а когда разбиваем Expression на два, их надо сращивать руками.

Увы, но программировать приходится.
Re: Оценка проекта LINQ
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.11.10 16:32
Оценка: +1
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Проект LINQ хорош во всём, что не касается Expression<T>. От Expression<T> хорошо себя показывает только property expression “x => x.SomeProperty”. Всё что “глубже” property expression при использовании Expression<T> можно считать не очень удачной частью проекта LINQ. Чужеродными телами являются эти Expression<T> в обычном C#-коде, причем они маскируются под обычный код.


AP>А выражение для property expression через Expression<T> тоже не самое удобное, но гораздо лучше, чем вообще отсутствие такой возможности.


Какой-то жуткий сумбур, неопределенные понятия вроде "property expression" и вообще не пойми что. Ты что сказать то хотел?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Оценка проекта LINQ
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.11.10 16:35
Оценка:
Здравствуйте, Lloyd, Вы писали:

WH>>Переходи на немерле.

WH>>Он для своего AST умеет и композицию и декомпозицию.

L>А для Expression-а?


Да по фигу для чего. Линковские System.Linq.Expressions.Expression делаются теми же макросами. Вот только если ты перейдешь на немерл, то System.Linq.Expressions.Expression тебе особо нужен не будет, так как есть более удобные средства — макросы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Оценка проекта LINQ
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.11.10 19:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Какой-то жуткий сумбур, неопределенные понятия вроде "property expression" и вообще не пойми что. Ты что сказать то хотел?


Товарищ нашел в LINQ фатальный недостаток и изобрел собственную серебрянную пулю. Только почему то эта пуля никого не заинтересовала.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
Re[3]: Оценка проекта LINQ
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.11.10 20:41
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Товарищ нашел в LINQ фатальный недостаток и изобрел собственную серебрянную пулю. Только почему то эта пуля никого не заинтересовала.


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