LINUX.ORG.RU
ФорумTalks

Абстрактное о ЯП для СУБД


0

0

Вот скажите, аналитики. ЯПы общего назначения куда-то там себе развиваются, добавляют всякие там ОО, темплейты-дженерики, замыкания-лямбды и прочие навороты. Почему встроенные ЯП программирования СУБД фактически замерли в развитии? Все крутятся вокруг SQL-а (которому скоро уж полвека). Ну да, вставляют тот же SQL в дотнет или в жабку, тем или иным способом - но получается какая-то фигня. Почему сам по себе SQL замерз и практически не меняется (в смысле введения новых языковых концепций)?

Или я что-то не знаю про современный PL/SQL и пр.?

★★★★★
Ответ на: комментарий от svu

> Да нет, это просто хотелка такая! Хочу рефакторинг. Хочу удобства для внесения изменений в код.

EXPLAIN не спасёт?

Lumi ★★★★★
()
Ответ на: комментарий от gaa

>> Ну и что? tcl/tk тоже ООП-нутый, только это не сразу видно:

>Бгг, где ты в tk увидел наследование? А инкапсуляцию? Полиморфизм есть, это да, но двух других слонов ооп не видно.

Внутри. Посмотри исходники tk, там всё есть.

mnt
()
Ответ на: комментарий от mnt

>> Бгг, где ты в tk увидел наследование? А инкапсуляцию? Полиморфизм есть, это да, но двух других слонов ооп не видно.
> Внутри. Посмотри исходники tk, там всё есть.


Ты давай сам показывай, а то гнилыми помидорами закидаем.

gaa ★★
()
Ответ на: комментарий от mnt

Так, первый помидор полетел.

Давай показывай номера строчек, где тебе пригрезилась инкапсуляция и наследование.

gaa ★★
()
Ответ на: комментарий от gaa

>>В рамках проекта эти усложнения не нужны. Мне нужен был не мегауниверсальный фреймфорк, а средство решения конкретной задачи.
> Где в sql нужна "гибкость работы с типами"?

>> А чем в этом смысле sql лучше-хуже других языков?


ну вот этим и хуже, как только начинаются усложнения с нормальными типами, нормальными объектами, замыканиями -- начинает его не хватать. Если ограничить задачу, то хватит.

anonymous
()
Ответ на: комментарий от gaa

107 - наследование точно. (обрати внимание на комментарий) Ну вот так вот наследование на С реализуется.

mnt
()
Ответ на: комментарий от gaa

а зачем полиморфизм без наследования? нужен какой-то механизм этого полиморфизма. Или вручную проверять агрегацию/тип, или по данным с тегами.

anonymous
()
Ответ на: комментарий от anonymous

а вот теперь вопрос. Инкапсуляция в SQL очевидна. А где полиморфизм и наследование, это домены/внешние ключи?

anonymous
()
Ответ на: комментарий от tailgunner

>> Это агрегация.
> 107 - это именно наследование: "* This must be the first element of the Labelframe".


Я настаиваю на агрегации. С помощью неё можно много чего похожего на наследование. И они идут ноздря в ноздрю, пока не нужно вызвать метод, переопределённый в потомке.

gaa ★★
()
Ответ на: комментарий от anonymous

FK правда больше на аггрегацию с миксинами смахивает

anonymous
()
Ответ на: комментарий от gaa

вот та строчка 622 -- это очевидно конструктор.
И то, что sizeof(Base)<=sizeof(Derived) тут не случайно.

anonymous
()
Ответ на: комментарий от svu

> А при чем тут 1C?

Внутренний язык 1С -- дикая помесь сикля с бейсиком, причём на русском языке. Представляю там лямбды и замыкания...

Lumi ★★★★★
()
Ответ на: комментарий от svu

> Не очень понял, как спасет explain.

Тогда объясните, что понималось под рефакторингом, применительно к сиклю.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Лямбда по-русски будет, очевидно, полная фита. В верхнем регистре.

ЗЫ См. происхождение слова "фитюк"

svu ★★★★★
() автор топика
Ответ на: комментарий от gaa

>>> Это агрегация.

>> 107 - это именно наследование: "* This must be the first element of the Labelframe".

> Я настаиваю на агрегации.

Ну еще бы - иначе придется признать ошибку :) Но комментарий недвусмысленно говорит - наследование.

tailgunner ★★★★★
()
Ответ на: комментарий от Lumi

Ну, например, возможность перетаскивать блоки кода с детекцией всех необходимых зависимостей, попыткой их разрешить и обращением к помощи (зала) программиста при невозможности оного.

svu ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

> Ну еще бы - иначе придется признать ошибку :) Но комментарий недвусмысленно говорит - наследование.

Я не вижу там слова "наследование".

В любом случае снаружи унаследовать Button мы не сможем иначе как через агрегацию (как, собственно, делается в snit и megawidget).

gaa ★★
()
Ответ на: комментарий от svu

> Ну, например, возможность перетаскивать блоки кода с детекцией всех необходимых зависимостей, попыткой их разрешить и обращением к помощи (зала) программиста при невозможности оного.

В той же 1С, чур меня... конструкторы вполне отсеивают эту потребность. Хотя мне и сейчас не понятно, для чего это нужно в голом сикле, неприкрытом хотя бы одной абстакцией над таблицами.

Lumi ★★★★★
()
Ответ на: комментарий от gaa

А про "снаружи" никто не говорил. Речь шла о реализации гуи без ооп. И привели в пример tcl/tk. А он оказался ООП-нутый.

mnt
()
Ответ на: комментарий от mnt

> А про "снаружи" никто не говорил. Речь шла о реализации гуи без ооп. И привели в пример tcl/tk. А он оказался ООП-нутый.

Во-первых, не оказался. Во-вторых, раз "снаружи" этого не видно, значит с использованием этого набора виджетов _можно_ писать гуй без ооп.

gaa ★★
()
Ответ на: комментарий от Lumi

Про абстракции - пожалуй, согласен. Их тоже нужно.

svu ★★★★★
() автор топика
Ответ на: комментарий от mnt

>А про "снаружи" никто не говорил. Речь шла о реализации гуи без ооп. И привели в пример tcl/tk. А он оказался ООП-нутый

ты тролль, лжец и девственник. реализация GUI на Tcl/Tk ни разу не использует ООП; реализация Tk в той или иной мере - да, однако даже школьнику понятно, что совсем оно там не обязательно

а если ты не видишь разницы между технологией и её реализацией - тебе к доктору

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

> реализация Tk в той или иной мере - да, однако даже школьнику понятно, что совсем оно там не обязательно

Даже школьнику понятно, что внутри Tk реализован в ОО-стиле. Докажи, что это возможно было по-другому - реализуй свой Tk :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Даже школьнику понятно, что внутри Tk реализован в ОО-стиле. Докажи, что это возможно было по-другому - реализуй свой Tk :)

это провокация

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

>> Даже школьнику понятно, что внутри Tk реализован в ОО-стиле. Докажи, что это возможно было по-другому - реализуй свой Tk :)

> это провокация

Ха, а ты думал - в сказку попал? Есть Tk, внутри реализованный в ОО-стиле, а снаружи допускающий использование и без ОО (как и любой тулкит, кстати - двже на Qt можно писАть в процедурном стиле). Вот реальность, и никакие посылы к доктору это не изменят.

tailgunner ★★★★★
()
Ответ на: комментарий от gaa

Тогда с низкоуровневым пасьянсом-косынкой.

svu ★★★★★
() автор топика
Ответ на: комментарий от gaa

> Преферанс объектно-ориентирован, так что не катит.

У тебя ООП-фобия, походу. Хочешь поговорить об этом? Хотя чего это я - ты же о ней и говоришь %)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Есть Tk, внутри реализованный в ОО-стиле, а снаружи допускающий использование и без ОО (как и любой тулкит, кстати - двже на Qt можно писАть в процедурном стиле).

Да ладно-ка. Как там сигнал со слотом соединить, не вляпавшись в наследование и инкапсуляцию методов?

gaa ★★
()
Ответ на: комментарий от tailgunner

> У тебя ООП-фобия, походу. Хочешь поговорить об этом? Хотя чего это я - ты же о ней и говоришь %)

Я ещё боюсь голых женщин. Давай поговорим о голых женщинах :о)

gaa ★★
()
Ответ на: комментарий от gaa

> Как там сигнал со слотом соединить, не вляпавшись в наследование и инкапсуляцию методов?

Во-первых, "соединение сигнала со слотом" - это копейки, остальное можно писать в труЪ-процедурном стиле; во-вторых, однажды как-то же прицепили Qt к Си :)

А еще вроде ее прицепили к Хасеклю... или это был wx?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Ха, а ты думал - в сказку попал? Есть Tk, внутри реализованный в ОО-стиле, а снаружи допускающий использование и без ОО (как и любой тулкит, кстати - двже на Qt можно писАть в процедурном стиле). Вот реальность, и никакие посылы к доктору это не изменят.

ещё раз - написать GUI можно (и нужно) без ООП. с этим ты согласен? если нет - тогда всё-таки к доктору, в Кащенко

следующий пункт - можно ли написать GUI-библиотеку без ООП? я - за то, что можно, однако удобного примера под рукой нет. провокация именно в этом и заключается - можно ведь и написать

>снаружи допускающий использование и без ОО (как и любой тулкит, кстати - двже на Qt можно писАть в процедурном стиле)

ты принципиально шлангуешь? фишка не в том, что он допускает, а в том, что оно там не нужно. и что отсутствие там ООП даёт большую производительность работы и большую гибкость создаваемого GUI

jtootf ★★★★★
()
Ответ на: комментарий от tailgunner

>А еще вроде ее прицепили к Хасеклю... или это был wx?

Qt и к Tcl прицепили. только сложность сцепления там несопоставимая с Tk. а знаешь почему? :)

jtootf ★★★★★
()
Ответ на: комментарий от tailgunner

>У тебя ООП-фобия, походу

у меня ООП-МДС. за неуместное использование хочется УБИВАТЬ

jtootf ★★★★★
()
Ответ на: комментарий от gaa

>Давай поговорим о голых женщинах :о)

начинай :)

jtootf ★★★★★
()
Ответ на: комментарий от tailgunner

>> Как там сигнал со слотом соединить, не вляпавшись в наследование и инкапсуляцию методов?

> Во-первых, "соединение сигнала со слотом" - это копейки, остальное можно писать в труЪ-процедурном стиле;

Копейка на connect(), полкопейки на model, треть копейки на view... Ряд сам просуммируешь?

> во-вторых, однажды как-то же прицепили Qt к Си :)

Сделать-то можно что угодно. Tk позволяет писать как тнб на душу положит, а qt лучше смотрится с ооп.

gaa ★★
()
Ответ на: комментарий от jtootf

> провокация именно в этом и заключается - можно ведь и написать
Можно попросить накидать примерный драфт заголовочного файла? Хотя бы 20-30 строчек.

svu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.