Re[177]: Тормознутость и кривость linq. Compile-time EDSL DB
От: Ночной Смотрящий Россия  
Дата: 10.07.16 13:11
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Это в том числе тоже является недостатком.


Этот "недостаток" есть везде, где есть value типы.

НС>>А это для лучшего перформанса.

EP>Так я и говорю, этот код пришлось написать из вполне конкретных практических соображений.

Практические соображения и алгоритмическая выразительность это разные вещи. Алгоритмически все это можно было бы уложить в один небольшой метод.

EP> Был бы язык/платформа/компилятор мощнее — его бы и не пришлось писать, о чем собственно и речь.


Мощность штука не скалярная. Везде есть трейд-офф. Мощность текстовых шаблонов, к примеру, компенсируется отсутствием этих шаблонов в рантайме.

НС>>Но аналогичная ситуация с чудовищной кашей в твоей шаблонной магии тебя почему то устраивает, а тут прям какая то вселенская проблема и ужас ужас.

EP>Вот что-что, а передёргивать у вас всех здорово получается
EP>Шаблонная магия нужна для реализации EDSL запросов времени компиляции

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

EP>Для обсуждаемого простейшего алгоритма поиска минимального/максимального элемента никакой магии не нужно.


Ты обсуждаешь простейший алгоритм на С++ с его конкретной реализацией для дотнета, содержащей кучу подробностей, связанных со спецификой платформы. Это самая натуральная демагогия. Интересно сравнение алгоритмической выразительности — так возьми тогда чистый алгоритм, в чем проблема? Или давай вспомним, что куча плюсовых OR/M вообще не поддерживают NULL в value колонках, видать из-за крутой алгоритмической выразительности.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.