metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-04-03 01:06 am

В Советской Белоруссии SQL разжигает айседа

http://theiced.livejournal.com/238346.html
Собственно, про кобол я не знаю, на дельфи пишу уже 15 лет и никак избавится от него не могу (слишком много легаси кода), а вот про SQL я с ним не согласен.
Сам по себе SQL очень хорошо подходит для генерации отчетов. Если отчет сводится к фильтрации-сортировке-группировке множеств - идеально. С рекурсивными CTE - еще и деревья можно обрабатывать, не особо включая мозг. Всунув поверх этого минимальных размеров постобработку на какой-нибудь функциональщине, можно сделать почти любой отчет, пришедший в голову свихнувшимся на Excel выпускникам нархоза, работающим в минстате, минфине и МНС.

Но когда доходит до процедурных расширений, API между СУБД и клиентскими приложениями или каких-нибудь вещей, которые забыли вовремя добавить в стандарт - начинается полная, немыслимая жопа.
Например, проклятая тема - генерация автоинкрементных ключей и возвращение значений автоматически заполненных полей. Кто во что горазд - identity, генераторы, sequence, функции (в каждой СУБД названные по разному), returning, заебы на тему "вызывать в той же транзакции и сессии" и прочая и прочая. Про вариации на тему "вернуть поле, которое заполняется автоматически, но не является ключом/identity" лучше даже не думать.
Неудивительно, что люди при первой же возможности сбегают в ORM (которые являются уже второй производной от всего этого маразма и несут на себе его неизгладимый след).

[identity profile] evil-invader.livejournal.com 2013-04-03 08:17 pm (UTC)(link)
Не правда! Сейчас конфиг плавно смещается в строну аннотаций. Небольшой конфиг на хмыле, а дальше код с аннотациями.

>>"FactoryOfFactoryOfFactoryOfFacade"

Слишком утрированно

[identity profile] metaclass.livejournal.com 2013-04-03 08:41 pm (UTC)(link)
Ага, аннотации. Ad hoc имитация нормальной системы типов.
После нормальных языков с нормальными типами и метапрограммированием это все выглядит, как попытка любой ценой соблюсти обратную совместимость и не отпугнуть индусов из бангалора.
Похвальное желание, с точки зрения организации процессов разработки, но адекватные разработчики получившееся творчество будут избегать любой ценой.

[identity profile] evil-invader.livejournal.com 2013-04-03 08:44 pm (UTC)(link)
Т.е. адекватных разработчиков на java не существует? Я правильно понимаю?

[identity profile] metaclass.livejournal.com 2013-04-03 08:46 pm (UTC)(link)
Существуют, вынужденно.
Как и мне приходится писать на всякой хреновой чуши, по причине того, что миграция на адекватные языки требует невменяемых усилий.