![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
http://theiced.livejournal.com/238346.html
Собственно, про кобол я не знаю, на дельфи пишу уже 15 лет и никак избавится от него не могу (слишком много легаси кода), а вот про SQL я с ним не согласен.
Сам по себе SQL очень хорошо подходит для генерации отчетов. Если отчет сводится к фильтрации-сортировке-группировке множеств - идеально. С рекурсивными CTE - еще и деревья можно обрабатывать, не особо включая мозг. Всунув поверх этого минимальных размеров постобработку на какой-нибудь функциональщине, можно сделать почти любой отчет, пришедший в голову свихнувшимся на Excel выпускникам нархоза, работающим в минстате, минфине и МНС.
Но когда доходит до процедурных расширений, API между СУБД и клиентскими приложениями или каких-нибудь вещей, которые забыли вовремя добавить в стандарт - начинается полная, немыслимая жопа.
Например, проклятая тема - генерация автоинкрементных ключей и возвращение значений автоматически заполненных полей. Кто во что горазд - identity, генераторы, sequence, функции (в каждой СУБД названные по разному), returning, заебы на тему "вызывать в той же транзакции и сессии" и прочая и прочая. Про вариации на тему "вернуть поле, которое заполняется автоматически, но не является ключом/identity" лучше даже не думать.
Неудивительно, что люди при первой же возможности сбегают в ORM (которые являются уже второй производной от всего этого маразма и несут на себе его неизгладимый след).
Собственно, про кобол я не знаю, на дельфи пишу уже 15 лет и никак избавится от него не могу (слишком много легаси кода), а вот про SQL я с ним не согласен.
Сам по себе SQL очень хорошо подходит для генерации отчетов. Если отчет сводится к фильтрации-сортировке-группировке множеств - идеально. С рекурсивными CTE - еще и деревья можно обрабатывать, не особо включая мозг. Всунув поверх этого минимальных размеров постобработку на какой-нибудь функциональщине, можно сделать почти любой отчет, пришедший в голову свихнувшимся на Excel выпускникам нархоза, работающим в минстате, минфине и МНС.
Но когда доходит до процедурных расширений, API между СУБД и клиентскими приложениями или каких-нибудь вещей, которые забыли вовремя добавить в стандарт - начинается полная, немыслимая жопа.
Например, проклятая тема - генерация автоинкрементных ключей и возвращение значений автоматически заполненных полей. Кто во что горазд - identity, генераторы, sequence, функции (в каждой СУБД названные по разному), returning, заебы на тему "вызывать в той же транзакции и сессии" и прочая и прочая. Про вариации на тему "вернуть поле, которое заполняется автоматически, но не является ключом/identity" лучше даже не думать.
Неудивительно, что люди при первой же возможности сбегают в ORM (которые являются уже второй производной от всего этого маразма и несут на себе его неизгладимый след).
no subject
Date: 2013-04-03 07:43 am (UTC)no subject
Date: 2013-04-03 07:51 am (UTC)Ну и жаба унутре. Не надо забывать про жабу.
no subject
Date: 2013-04-03 08:13 am (UTC)no subject
Date: 2013-04-03 07:49 am (UTC)no subject
Date: 2013-04-03 07:53 am (UTC)no subject
Date: 2013-04-03 08:01 am (UTC)Есть, правда, одна тонкость: рекламированный вчера язык программирования (фреймворк, либа, кабак - нужное подчеркнуть) сегодня айседу может резко надоесть и ВНЕЗАПНО стать сраным говном. Мемуары Жукова онлайн.
no subject
Date: 2013-04-03 08:32 am (UTC)ммм. а можно документальные факты где у меня мнение менялось. адаптируется _изреееедка_ в свете получения новых знаний (или изменения внешней среды) - да, конечно. я ж не хочу писать-50-лет-на-делфи, развиваюсь. хороший пример - конференции, но это явно возрастное. какие у вас ещё примеры есть?
no subject
Date: 2013-04-03 08:38 am (UTC)Что до мнения - вы всегда C++ недолюбливали или это приобретённое? :)
no subject
Date: 2013-04-03 08:40 am (UTC)no subject
Date: 2013-04-03 08:46 am (UTC)no subject
Date: 2013-04-03 08:49 am (UTC)no subject
Date: 2013-04-03 08:49 am (UTC)no subject
Date: 2013-04-03 08:07 am (UTC)no subject
Date: 2013-04-03 07:50 am (UTC)no subject
Date: 2013-04-03 07:58 am (UTC)Уберформы типа make-array, defstruct, defclass, etc, 100500 параметров.
Pathnames: идея может и хорошая, но в реальности кроссплатформенности нет.
Конечно со временем глаз скобочки воспринимает и легко узнаёт где-чё вычисляется, куда передаётся, но на это надо это самое время.