Здравствуйте, Flem1234, Вы писали:
IT>>Текущий C# от N не выдержал моих извращений и пошёл подумать над своим поведением
F>Не будете ли вы любезны описать причины?
Мы с Владом практически довели N и linq2db (точнее на тот момент это был просто клон BLToolkit) до состояния компилируемости. Некоторые вещи правда пришлось переписать, чтобы N их понимал, но это всё мелочи. Влад в результате довёл поддержку C# в N до более менее приемлемого уровня, но случилась одна неприятная засада. Вот в
этом файле задан маппинг стандартных фрейморковских методов на различные диалекты SQL. Это несколько сот пар лямбд. После того как проект начал компилироваться оказалось, что N его компилирует больше двух минут. Раньше на этом файле и решарпер существенно притормаживал, но потом в нём видимо что-то подкрутили. Так вот. Две минуты — это приговор. C# на это тратит не более 10 секунд. Влад предложил в качестве решения разбить проект на две части, одну писать на N, а вторую на C# и вынести туда все подобные штуки. Я в свою очередь предложил такую фигню мне не предлагать, т.к. это не соответсвует моему чуткому восприятию прекрасного окружающей действительности.
Всё это мы затеяли в рамках подготовки к конференции в Осло, а время поджимало. В результате мы решили всё это отложить на потом. А потом N перешёл в режим разработки новой версии, ускорять его сейчас никто не соберается, да и мне смысла писать что-то под старую версию особого нет. Что-то рабочее по словам разработчиков появится не раньше, чем через год, а linq2db итак уже застоялся на запасном аэродроме и дальшейший простой может убить саму идею. Так что либо писать его на C# и сейчас, либо забить на это дело совсем.
К тому же для реализации полноценного функционала мне нужна поддержка генерации кода под Silverlight, которой в N нет и опять же неизвестно когда будет.
F>По мне паттерн-матчинг куда гуманее визиторов. Н или так какой Фшарп сильно сократили бы количество усилий.
F>Так почему же не они?
ПМ рулит со страшной силой. Я бы легко на порядок увеличил количество оптимизаций генерируемого SQL, которые сейчас есть. Но пока видимо не судьба.