metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2008-12-13 01:25 am

ORM

Чтение споров про ORM приводит меня в дикое уныние. Такое ощущение, что все мегагуру-разработчики языков программирования никогда сами не писали DB-centric applications и поэтому ни один язык общего назначения для ORM не подходит в принципе.
Единственное, что мне приходит в голову в этом плане - это язык, у которого докомпиляция бы производилась уже в рунтайме, с метаданными из живой базы. Или же чтобы код автоматически генерился и компилировался при разработке тоже из метаданных базы, а в рунтайме производилось сравнение метаданных на которых прога компилировалась и на которых ее запускают.
На данный момент из похожего - разве что Nemerle с его метапрограммированием на макросах, но это ж экспериментальное шыло, без развитой userbase.

[identity profile] gds.livejournal.com 2008-12-13 09:02 pm (UTC)(link)
ну придумайте, кто мешает; а если будет так, что условием _действительно_ сможет служить "нормальная лямбда", и всё это будет эффективно работать (хотя бы транслироваться в эффективный sql) -- памятник поставят, и даже не потомки, а современники.

[identity profile] max-posedon.livejournal.com 2008-12-13 09:34 pm (UTC)(link)
А можете привести маленький test case, чего ИМЕННО вы бы хотеле на простых примерах, что-то у меня ощущения, что вам пора искать рабочих, на паятник 37signals .)
Я бы попробывал доказать, что ruby+activrecord проходит этот тест.

[identity profile] gds.livejournal.com 2008-12-14 10:38 am (UTC)(link)
интересует трансляция произвольных чистых функций в sql, без client-side фильтрации. Так как к чистым лямбдам относится и комбинатор для построения рекурсии, сюда же относятся произвольные рекурсивные функции. Думаю, теперь пример не особо нужен.
Однако могу на слово поверить, что упомянутая комбинация проходит тест посредством в том числе фильтрации выборки на клиенте после получения какого-либо результата от БД.