Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Что ж вы, господа, испортили тут всё своими ООБД? :-) Мне показалось, что тему начал вымышленный персонаж, виртуал. И простебал он вас всех некисло. В общем, посмеялся я, спасибо Инкину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 10:47 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa Да, я в курсе, что "некоторые люди" типа Страуструпа определение извратили. Я плакал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 18:31 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa Дейт рассматривал именно GemStone/S. Вы уверены, что Дейт рассматривал GemStone именно в "Введение в базы данных"? Я там даже упоминания не нашел. Victor Metelitsa ООСУБД или нет, зависит от определения. Если впомнить, кто придумал определение объектной ориентированности и в чём оно заключалось, C++, Java, Delphi и их духовные родственники идут лесом. ;-). Зачем же мы будем придаваться всякого рода воспинаниям? Какое значение кроме исторического, имеет - кто придумал определение ОО, и в чем оно в те далекие годы заключалось. Када это было. Все-таки на этом форуме больше занимаются современным положением дел. Victor Metelitsa Да, я в курсе, что "некоторые люди" типа Страуструпа определение извратили. А я не в курсе. Где, кем и при каких обстоятельствах факт извращения зафиксирован? Victor Metelitsa Как-то я переформулировал определение Кея, заменив "объектно-ориентированный" на "серверно-ориентированный" (заменил "объект" на "сервер" и "сообщение" на "запрос" => 1. есть сервера и ничего кроме серверов; 2. сервера общаются между собой запросами). Зачем Вы так поступили? Можно было бы как-то помягче. Даже осужденный Вами Страуструп так делать не стал. Victor Metelitsa Cовершенно не помню этого момента. Что же тут не понять? У Дейта нет утверждения, что произвольные запросы не возможны в ООСУБД. Есть ООСУБД, которые оные поддерживают так или иначе. Но не все. Потому Ваш пример, если он верен не опрвергает Дейта. Т.е. Вы поторопились, надо было читать всю главу до конца. Victor Metelitsa В GemStone/S я могу всё сделать в command line, во время работы сервера. Как можно говорить о проблемах с adhoc? Во-первых, что значит все? Пока не все с этим ясно. Во-вторых, по любому решать - есть ли кроме GemStone другие ООСУБД или нет, мы с Вами точно не можем. Потому что есть какие-то общепринятые вещи. Ну кто мы такие, чтобы это решать? Может все что мы паро это знаем не серьезно. У нас же нет документа, что тока наше слово имеет значение. Нужно ссылаиться на каких-то признанных экспертов. А не так - хочу не хочу. Victor Metelitsa Выборка по условию: table select: [:each |each name = 'Smith'] чем не декларативная запись? Или второй пример: (employeeCollection select: [:each |each lastName='Иванов']) collect: [:eachEmployee | eachEmployee department manager]. Де-факто это всё-таки вызовы методов. Но сама запись декларативна - "дайте мне то-то", а не "сделайте так-то". Имеется в виду декларативный язык БД. А не просто вызов процедуры, к примеру. И типа это и есть декларативность. Юзер вообще кнопки нажимает - т.е. тоже не знает как. Некоторыми ООСУБД поддерживается OQL. Однако, там оптимизатор нарушает принцип инкапсуляции. Кроме того, все равно главным остается навигационный способ извлечения данных - а он не декларативный. Victor Metelitsa GLORP и TOPLink я приплёл из-за оптимизаций запросов. Они транслируют похожие запросы прямо на SQL, "дизассемблируя" условия в квадратных скобках, предоставляя разбираться с оптимизациями серверу БД. Очевидно, нично не мешает транслировать Smalltalk на Smalltalk (GemStone/S - это большой конструктор). Что за БД, которая у Вас там оптимизирует SQL запросы? Она что реляционная что-ли, чтобы SQL выполнять? Что значит большой конструктор? А кто конструктор маленький? У Вас там маппинг объектов на РСУБД чтоли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 20:13 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Вот я и предполагаю, Victor Metelitsa, что ХУЖЕ Вас понимаю ООСУБД. И задаю совершенно безобидный конкретный вопрос: Как, например, в "вашей" ООСУБД представляются связи между сущностями многие-ко-многим, когда у них (связей) есть свои свойства (характеристики)? Как в РСУБД ? И не получаю (вполне ожидаемо) на него конкретного ответа. Пример из соседней дискуссии (НРМ): Товар <--- Хранится на/Хранит ---> Склад Эта связь многие-ко-многим имеет характеристики, например, количество (товара на складе). И уж заодно еще более простой вопрос: семантика связей хранится на уровне метаданных в ООСУБД GemStone ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 22:25 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Да, vadiminfo, Дейт рассматривает именно GemStone. См. 25.4 Всеобъемлющий пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 22:28 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Андрей Леонидович Да, vadiminfo, Дейт рассматривает именно GemStone. См. 25.4 Всеобъемлющий пример. Здорово. У Конноли рассматривается пример ObjectStore и говорится, что в частности у этих двух производителей разные стратегии разработки СУБД. GemStone - Введение средств работы в существующий ОО язык программирования. ObjectStore, Версант, Онтос - Предоставление расширяемых ОО библиотек СУБД. (тоже используется существующий ОО язык программирования) Возможно, теперь можно будет на примерах лучше понять разницу этих стратегий. Меня давно интересовал этот вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2005, 01:06 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Андрей ЛеонидовичВот я и предполагаю, Victor Metelitsa, что ХУЖЕ Вас понимаю ООСУБД. И задаю совершенно безобидный конкретный вопрос: Как, например, в "вашей" ООСУБД представляются связи между сущностями многие-ко-многим, когда у них (связей) есть свои свойства (характеристики)? Как в РСУБД ? И не получаю (вполне ожидаемо) на него конкретного ответа. Почему "вполне ожидаемо"? Вам просто надо было немного (или много) больше подумать над тем, что я сказал. Пример из соседней дискуссии (НРМ): Товар <--- Хранится на/Хранит ---> Склад Эта связь многие-ко-многим имеет характеристики, например, количество (товара на складе). То, что вы хотите, вполне очевидно раскладывается на связи 1:N (Товар <--- Хранится на/Хранит) и N:1 (Хранится на/Хранит ---> Склад) между экземплярами классов "Товар", "Хранится на/Хранит", "Склад" И уж заодно еще более простой вопрос: семантика связей хранится на уровне метаданных в ООСУБД GemStone? Там нет понятия "связей". Есть объекты, они знают о других объектах - вот и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 20:40 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
vadiminfo... Имеется Кэево определение (1. есть только объекты 2. объекты общаются между собой посредством сообщений). Именно он придумал термин и его определение. Можете спросить его лично. Таково и старое, и современное положение дел. Отсюда автоматически вытекает, что знаменитая триада "наследование-инкапсуляция-полиморфизм" является извращением. Я называю его страуструповым, не интересуясь, он ли придумал это - как минимум, он это поддержал. "Серверы" и "запросы" я подставил, чтобы его определение было более понятно (объект в такой системе очень напоминает вебсервер - ему можно послать любой запрос/сообщение, некоторые он обрабатывает, на некоторые даёт "ошибки 404"). Чтобы рассуждать и делать выводы, мне мандаты, сертификаты и государственные лицензии не требуются. Главу я читал полностью, как вы могли видеть по приведенной мной ссылке на письмо в ньюсгруппу, но это было давно и издание было 6-е. Мне не так просто прямо сейчас найти 8-е. Сама запись запросов в GemStone/S декларативна. Семантику _можно_ сделать декларативной (как уже сделано в GLORP и TOPLink - O/R frameworks для Smalltalks). Я примерно представляю, как это делать, но за реализацию не возьмусь из-за лицензионной политики фирмы Gemstone (или как она сейчас называется). Не забывайте, что декларативная запись SQL тоже в конечном счете ведет к вызову внутренних функций/процедур, циклам while и пр., которые сокрыты от SQL-программиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 20:59 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
U-geneФигня! Вы не пробовали перед тем, как поставить, системную дату лет на 10 вперед перемотать... Они "хитрые" (но мне кажется, что они перехитрили сами себя). Лицензия именная, это зашифрованный текстовый файл с явно заданной датой завершения в нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 21:01 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Мне "надо было немного (или много) больше подумать над "головокружительными вариантами"" ??? Ну да ладно, ответ Вы, все-таки, дали. Не поддерживает GemStone ни связи многие-ко-многим (то есть поддерживает как и "Р"СУБД - нужно создать третий класс), ни семантику связей... Особенно "элегантно": 1) "вполне очевидно раскладывается на связи" в сочетании с 2) "там нет понятия "связей"". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 23:42 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa Имеется Кэево определение (1. есть только объекты 2. объекты общаются между собой посредством сообщений). Именно он придумал термин и его определение. Можете спросить его лично. Таково и старое, и современное положение дел. Отсюда автоматически вытекает, что знаменитая триада "наследование-инкапсуляция-полиморфизм" является извращением. Я называю его страуструповым, не интересуясь, он ли придумал это - как минимум, он это поддержал. ИМХО эта фишка с сообщениями позволяет сделать в определенном смысле совсем нетипизированную систему (в том смысле, что посылая сообщение объекту мы можем вообще не знать, что это за объект), а Страуструп пытался сделать таки типизированный язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 01:47 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa Имеется Кэево определение (1. есть только объекты 2. объекты общаются между собой посредством сообщений). Именно он придумал термин и его определение. Можете спросить его лично. Таково и старое, и современное положение дел. Отсюда автоматически вытекает, что знаменитая триада "наследование-инкапсуляция-полиморфизм" является извращением. Я называю его страуструповым, не интересуясь, он ли придумал это - как минимум, он это поддержал. То что кто-то придумал что-то, то честь ему и хвала. И, наверное, он займет место в истории. Но если он придумал стоящее, то оно должно развиваться. Так во многих областях. Кантор открыл теорию множества. Он гений. Но его теорию называю сегодня наивной. Однако главная идея и многие теориемы остались и сегодня. То же объекты. Без "наследование-инкапсуляция-полиморфизм" что из себя предяставляют? Ведь именно это дает им возможность улучшенного моделирования по сравнению с другими подходами. Возможность рационального проектирования. Выкиньте это и объекты канут в лету. Victor Metelitsa "Серверы" и "запросы" я подставил, чтобы его определение было более понятно (объект в такой системе очень напоминает вебсервер - ему можно послать любой запрос/сообщение, некоторые он обрабатывает, на некоторые даёт "ошибки 404"). Это похоже на CОM. Но и в принципе терминами "обмен сообщениями" используют в ООП подходах. Это ничего не заменяет в тех "извращениях". Они главнее. Victor Metelitsa Чтобы рассуждать и делать выводы, мне мандаты, сертификаты и государственные лицензии не требуются. Но чтобы делать громкие заявления, типа "Дейт ошибся" (или более сильные утверждения об авторитетах), они не лишни. Иначе может получиться не достаточно скромно. Victor Metelitsa Не забывайте, что декларативная запись SQL тоже в конечном счете ведет к вызову внутренних функций/процедур, циклам while и пр., которые сокрыты от SQL-программиста. Ну Вы еще вспомните, что все это выполняется в машинных командах. Потому нет разницы между С++ и ассемблером? Имеет значение именно декларативность языка. SQL - язык БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 10:20 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Андрей ЛеонидовичМне "надо было немного (или много) больше подумать над "головокружительными вариантами"" ??? Ну да ладно, ответ Вы, все-таки, дали. Не поддерживает GemStone ни связи многие-ко-многим (то есть поддерживает как и "Р"СУБД - нужно создать третий класс), ни семантику связей... Особенно "элегантно": 1) "вполне очевидно раскладывается на связи" в сочетании с 2) "там нет понятия "связей"". Те связи, о которых шла речь, у нас в головах. В самом GemStone/S такого понятия нет. Чем вас не устраивает разбиение, о котором я сказал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 22:34 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
U-gene ИМХО эта фишка с сообщениями позволяет сделать в определенном смысле совсем нетипизированную систему (в том смысле, что посылая сообщение объекту мы можем вообще не знать, что это за объект). Да, Smalltalk и Self именно такие. Куда угодно может быть передано что угодно, послано какое угодно сообщение. А ещё у Self'а нет наследования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 22:36 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
vadiminfoТо что кто-то придумал что-то, то честь ему и хвала. И, наверное, он займет место в истории. Разумеется, он занял место в истории, разве что вы её, по-видимому, не знаете. Возможно, для вас даже будет сюрпризом, что ОО, оконный интерфейс, мышь и сеть Ethernet появились в одном месте. Но если он придумал стоящее, то оно должно развиваться. Так во многих областях. Кантор открыл теорию множества. Он гений. Но его теорию называю сегодня наивной. Однако главная идея и многие теориемы остались и сегодня. Продолжение работ Кэя - это Squeak (http://www.squeak.org) и Open Croquet (http://opencroquet.org/). Он (вместе с группой товарищей) активно работает над ними. То же объекты. Без "наследование-инкапсуляция-полиморфизм" что из себя предяставляют? Ведь именно это дает им возможность улучшенного моделирования по сравнению с другими подходами. Возможность рационального проектирования. Выкиньте это и объекты канут в лету. Если объекты обмениваются сообщениями, а ничего кроме нет, то инкапсуляция и полиморфизм обеспечены автоматически. Наследование же не обязательно - существуют другие приемы. Victor Metelitsa "Серверы" и "запросы" я подставил, чтобы его определение было более понятно (объект в такой системе очень напоминает вебсервер - ему можно послать любой запрос/сообщение, некоторые он обрабатывает, на некоторые даёт "ошибки 404"). Это похоже на CОM. Но и в принципе терминами "обмен сообщениями" используют в ООП подходах. Это ничего не заменяет в тех "извращениях". Они главнее. Согласен, что и на COM это похоже. Вообразите себе систему, где, кроме COM-объектов, ничего нет. Даже "числа" - COM-объекты. Т.е., например, 1, 2 и 3 - это некие COM-объекты, запись 1 + 2 означает посылку сообщения с селектором + и аргументом-ссылкой на 2 объекту 1, и результатом сообщения будет ссылка на 3. Victor Metelitsa Чтобы рассуждать и делать выводы, мне мандаты, сертификаты и государственные лицензии не требуются. Но чтобы делать громкие заявления, типа "Дейт ошибся" (или более сильные утверждения об авторитетах), они не лишни. Иначе может получиться не достаточно скромно. В чём вы видите пользу "быть скромным"? Victor Metelitsa Не забывайте, что декларативная запись SQL тоже в конечном счете ведет к вызову внутренних функций/процедур, циклам while и пр., которые сокрыты от SQL-программиста. Ну Вы еще вспомните, что все это выполняется в машинных командах. Потому нет разницы между С++ и ассемблером? Имеет значение именно декларативность языка. SQL - язык БД. В декларативном вы говорите "что", а в процедурном "как". Но Smalltalk вы можете трактовать и так, и сяк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 22:59 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
В GemStone/S нет связей в том же смысле, в каком нет складов, аэропортов и пр. Эти вещи моделируются объектами соответствующих классов. Если "связь" "сложная", имеет атрибуты, просто напрашивается сопоставить ей объект соответствующего класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 23:29 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
В Self'е, кстати, не то что наследования - там и классов нет. Объекты размножаются копированием. Очевидно, каждый объект в подобной системе может (но не обязан) иметь уникальный набор методов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 23:31 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa Разумеется, он занял место в истории, разве что вы её, по-видимому, не знаете. Возможно, для вас даже будет сюрпризом, что ОО, оконный интерфейс, мышь и сеть Ethernet появились в одном месте. Если бы я все знал, то, наверное, мне не за чем было бы ходить на этот форум. Victor Metelitsa Продолжение работ Кэя - это Squeak (http://www.squeak.org) и Open Croquet (http://opencroquet.org/). Он (вместе с группой товарищей) активно работает над ними. Ну, знаете. Естественно, что работает. Если Вам пришла в голову идея, которая имеет ценность, и над ней многие начнут работать, то это не значит, что эти многие не придумают ничего стоящего. Так или иначе, сегодня есть какие-то наработки ОО, с которыми не считаться - слишком расточительно. Они выглядят как обоснованные. Victor Metelitsa Если объекты обмениваются сообщениями, а ничего кроме нет, то инкапсуляция и полиморфизм обеспечены автоматически. Наследование же не обязательно - существуют другие приемы. Инкапсуляция то не связана явно с наследованием. А вот такой тип полиморфизма как полиморфизм включения связан с наследованием. Впрочем, наследование обосновано не тока этим, но и тем, что обобщение и специализация имеют значение в моделировании. Victor Metelitsa Согласен, что и на COM это похоже. Вообразите себе систему, где, кроме COM-объектов, ничего нет. Даже "числа" - COM-объекты. Т.е., например, 1, 2 и 3 - это некие COM-объекты, запись 1 + 2 означает посылку сообщения с селектором + и аргументом-ссылкой на 2 объекту 1, и результатом сообщения будет ссылка на 3. И зачем такая система нужна? Все хорошо на своем месте. Чем 1, 2 и 3 - это некие COM-объекты, лучше, чем 1, 2 и 3 - это некие значения типа int? Victor Metelitsa В чём вы видите пользу "быть скромным"? Ну, во всех отношениях. Начиная от Христианской этики, представлениями о хороших манерах в том же христианском мире, и кончая верой в то, что в профессиональном отношении скромность способствует повышению вероятности принятия правильных решений, более адекватному пониманию предмета, лучшему пониманию между коллегами. Ну что это за интеллигент, если он не скромный? Чем же он отличается от подгулявшего купчика? Я, конечно, не претендую сам (это было бы не скромно), но все-таки, надеюсь, что совсем далеко не захожу. Victor Metelitsa В декларативном вы говорите "что", а в процедурном "как". Но Smalltalk вы можете трактовать и так, и сяк. Все-таки обыкновенно трактуют так или так. И раньше я думал, что Smalltalk т.е. не декларативный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 00:15 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Что значит "просто напрашивается" ??? А что можно явно представить связь многие-ко-многим в GemStone ??? Не зацикливайтесь, Victor Metelitsa. Очевидно же, что: 1) в GemStone не поддерживаются связи многие-ко-многим (приходится, как и в "Р"СУБД, создавать еще один класс); 2) в GemStone не поддерживается семантика связей, просто потому, как Вы пояснили, что там "вообще нет связей" (на концептуальном уровне они есть - ER-модель, а на логическом - нет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 00:55 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
vadiminfo в своем репертуаре: "Выкиньте это и объекты канут в лету". Опять забыл элементарную теорию баз данных. "Объекты" - это не столько инкапсуляция, полиморфизм и наследование, сколько - идентификация, навигация и семантика. Выкиньте объекты, и базы данных канут в лету - так будет вернее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 01:00 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
vadiminfo Если бы я все знал, то, наверное, мне не за чем было бы ходить на этот форум. Форум - сомнительное место для приобретения знаний. Он полезен, чтобы понять, что что-то не знаешь, но за _знаниями_ лучше обращаться к руководствам, справочникам, учебникам, ... Victor Metelitsa Продолжение работ Кэя - это Squeak (http://www.squeak.org) и Open Croquet (http://opencroquet.org/). Он (вместе с группой товарищей) активно работает над ними. Ну, знаете. Естественно, что работает. Если Вам пришла в голову идея, которая имеет ценность, и над ней многие начнут работать, то это не значит, что эти многие не придумают ничего стоящего. Так или иначе, сегодня есть какие-то наработки ОО, с которыми не считаться - слишком расточительно. Они выглядят как обоснованные. Классная наработка - собачья пятая нога. Бывают, знаете ли, вещи, которые в лучшем случае ни к чему. Victor Metelitsa Если объекты обмениваются сообщениями, а ничего кроме нет, то инкапсуляция и полиморфизм обеспечены автоматически. Наследование же не обязательно - существуют другие приемы. Инкапсуляция то не связана явно с наследованием. А вот такой тип полиморфизма как полиморфизм включения связан с наследованием. Впрочем, наследование обосновано не тока этим, но и тем, что обобщение и специализация имеют значение в моделировании. Есть другой подход - собирать всё из деталек. Агрегация. Человек - сборище клеток, которые состоят из молекул, которые состоят из атомов. Возьмем несколько человек, перетасуем их атомы и получим... жирафа. Victor Metelitsa Согласен, что и на COM это похоже. Вообразите себе систему, где, кроме COM-объектов, ничего нет. Даже "числа" - COM-объекты. Т.е., например, 1, 2 и 3 - это некие COM-объекты, запись 1 + 2 означает посылку сообщения с селектором + и аргументом-ссылкой на 2 объекту 1, и результатом сообщения будет ссылка на 3. И зачем такая система нужна? Все хорошо на своем месте. Чем 1, 2 и 3 - это некие COM-объекты, лучше, чем 1, 2 и 3 - это некие значения типа int? Смысл в обобщении. Для написания универсального кода, которому всё равно, с чем он имеет дело. Некоему объекту посылается некое сообщение, он его как-то обрабатывает. Простейший пример: ооо рисоватьСебяНаЭкране: экран. Что есть ооо? Число, строка, иконка, экземпляр класса Авиакомпания, коллекция? Какая разница. Ещё одна интересная черта ST - количество и код методов, переменные экземпляра, иерархия классов может меняться прямо во время выполнения программы. Victor Metelitsa В чём вы видите пользу "быть скромным"? Ну, во всех отношениях. Начиная от Христианской этики, представлениями о хороших манерах в том же христианском мире, и кончая верой в то, что в профессиональном отношении скромность способствует повышению вероятности принятия правильных решений, более адекватному пониманию предмета, лучшему пониманию между коллегами. Ну что это за интеллигент, если он не скромный? Чем же он отличается от подгулявшего купчика? Я, конечно, не претендую сам (это было бы не скромно), но все-таки, надеюсь, что совсем далеко не захожу. Я, слава богу ;-), атеист, и никакой связи между скромностью и <повышением вероятности принятия правильных решений, более адекватным пониманием предмета, лучшим пониманием между коллегами> не вижу, а про остальное промолчу - не из скромности, а чтобы не уйти от темы совсем далеко. Victor Metelitsa В декларативном вы говорите "что", а в процедурном "как". Но Smalltalk вы можете трактовать и так, и сяк. Все-таки обыкновенно трактуют так или так. И раньше я думал, что Smalltalk т.е. не декларативный. А тут имеет место двойственный случай. И выполнение одного и того же кода (!) может пойти по разному пути - исключительно цепочкой вызовов (характерно для процедурного подхода) или оптимизер с составлением и выполнением плана (как SQL). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 01:42 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Андрей ЛеонидовичЧто значит "просто напрашивается" ??? А что можно явно представить связь многие-ко-многим в GemStone ??? Не зацикливайтесь, Victor Metelitsa. Очевидно же, что: 1) в GemStone не поддерживаются связи многие-ко-многим (приходится, как и в "Р"СУБД, создавать еще один класс); 2) в GemStone не поддерживается семантика связей, просто потому, как Вы пояснили, что там "вообще нет связей" (на концептуальном уровне они есть - ER-модель, а на логическом - нет). Я вас с трудом понимаю - если понимаю вообще. (1)Что касается просто N:M (классы X и Y), то объект класса X может содержать/ссылаться на коллекцию Y, а объект класса Y - сдержать/ссылаться на коллекцию класса X, и, как понимаю, это и есть одна из реализаций связи многие-ко-многим между классом X и классом Y (в явном виде в GemStone/S не прописывается нигде). (2)Если же (конкретные) связи имеют атрибуты, то связь (между объектами x и y) удобно представить как объект z (который знает про x и y, а x и y знают про z). (Слово "приходится" несёт негативный оттенок - вы знаете лучший вариант?) Однако вы вольны держать в коллекциях объекты классов X и Y одновременно, и вот такую связь я вообще не знаю, как назвать. В GemStone/S можно задать constraint "эта коллекция содержит только экземпляры X", только это против духа Smalltalk'а, и потому я такие вещи не рассматриваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 02:13 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
А я Вас очень хорошо понимаю, Victor Metelitsa. И поэтому спрашиваю: что значит "удобно" ? Вы знаете "лучший вариант" в GemStone ? Я не "знаю", а просто использую много лет явное представление связей: 1) вне описания самих объектов (по Вашему - классов); и 2) без создания дополнительного объекта (по Вашему - класса). И чего Вы здесь не понимаете, я, действительно, не понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 23:06 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Андрей Леонидович Я не "знаю", а просто использую много лет явное представление связей: 1) вне описания самих объектов (по Вашему - классов); и 2) без создания дополнительного объекта (по Вашему - класса). а также вне самих объектов, каких-либо переменных и языков программирования вообще. :). Сорри, очень напрашивалось:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 11:47 |
|
||
|
Анализ популярности СУБД
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa ModelR[quot Victor Metelitsa] Про ненужность джойнов плз подробнее. Пример Таблиц нет, есть коллекции объектов (тоже объекты). Объекты предметной области "знают" о других. Чтобы узнать подразделение сотрудника, на SQL вы напишете Код: plaintext 1. 2. 3. 4. Код: plaintext 1. Вообще то я просил получить множество кортежей из двух других множеств: Код: plaintext 1. 2. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33181462&tid=1553815]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 186ms |
| total: | 328ms |

| 0 / 0 |
