metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-08-19 03:44 pm

SQL

SQL — высокоуровневый декларативный специализированный язык четвёртого поколения, в отличие от того же Java или C#, по-прежнему относящихся к третьему поколению языков императивных. Единственный оператор SQL на три десятка строк, выполняющий нечто посложнее выборки по ключу, потребует для достижения того же результата в разы, если не на порядок, больше строк на C#.
http://habrahabr.ru/company/piter/blog/165327/

А кто не согласен - того мы скормим крокодилам.

[identity profile] falcrum.livejournal.com 2013-08-19 12:46 pm (UTC)(link)
Чё-та я не въехал: ты за коммунистов аль за большевиков? :)

[identity profile] bydlorus.livejournal.com 2013-08-19 12:51 pm (UTC)(link)
В C# есть свой декларативный Linq, есличо.

Дочитал, короче основная претензия что свой Linq медленнее, чем ручной SQL. Так никто не запрещает писать ручной SQL, nhibernate его отлично мапит. А учитывая premature optimization и бдыщь-и-в-продакшн, нафиг кому надо писать ручной sql.
Edited 2013-08-19 13:20 (UTC)

[identity profile] veremeenko-alex.livejournal.com 2013-08-19 01:07 pm (UTC)(link)
С появлением Linq пускай идут лесом со своим SQL.

[identity profile] nivanych.livejournal.com 2013-08-19 01:14 pm (UTC)(link)
> скормим крокодилам

А Крокодилы таких едят?

[identity profile] zelanton.livejournal.com 2013-08-19 01:22 pm (UTC)(link)
XQuery и XPath всё равно круче всех :P

[identity profile] raydac.livejournal.com 2013-08-19 02:12 pm (UTC)(link)
современные проггеры не управляются с императивным, а что бы на декларативном писать надо иметь уровень современного гуру-архитектора

[identity profile] alexeyk77.livejournal.com 2013-08-19 03:37 pm (UTC)(link)
все верно написано. орм не нужен.

[identity profile] juan-gandhi.livejournal.com 2013-08-19 03:56 pm (UTC)(link)
Я в общем-то согласен, но на скале в сквериле те же сиквелы пишутся и компилируются. Думаю, и в сишарпе это можно.

Что не отменяет правильности общей концепции.

[identity profile] theiced.livejournal.com 2013-08-19 05:19 pm (UTC)(link)
Единственный оператор SQL на три десятка строк отправит вас верной дорогой в дурку.

[identity profile] firebie.livejournal.com 2013-08-19 06:55 pm (UTC)(link)
Как тут уже выше заметили, для большинства приложений, где требуется чуть больше CRUD - LINQ хватит выше крыши. А где не хватит - можно будет использовать чистый SQL.
В результате в коде всё строго типизированно, а не жуткая мешанина из SQL. Само собой, что знание SQL никто не отменяет.
А вообще правильная ORM - это lightweight ORM, основная задача которой - статически типизированный мапинг. А вот разные entity management, встроенные в ORM - это зло.
Лучшие lightweight ORM на текущий момент - bltoolkit (linq часть), linq2db.

[identity profile] vit-r.livejournal.com 2013-08-19 09:07 pm (UTC)(link)
Ключевое слово: "нечто"