powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / ОБД
25 сообщений из 89, страница 2 из 4
ОБД
    #34790015
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовТип (шаблон) может быть, но только в целях вспомогательных (ну, типа :) что бы облегчить создания нового объекта).
Не простой это вопрос. В мумпсе и в лиспе нет типов, при этом структуру объектов (т.е. набор свойств) программист держит в голове. Явное метаописание структуры типа полезно, но проблемы возникают при его модификации - требуется реорганизация БД (правда не всегда).
Сахават Юсифов И шаблон должен быть самообучаемым и расширяемым.
Модифицируемым вручную - обязательно, самообучаемым - а где брать инфу для обучения ?
Сахават Юсифов Основа классификации - пользовательские классификаторы и их комбинации.
Да, конечно.
Сахават Юсифов А где есть?
Искал, не нашел, пришлось самому сделать. На реальной эксплуатации хорошо видны все подводные камни "объектного" подхода.
...
Рейтинг: 0 / 0
ОБД
    #34790043
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЛучше в сторону LISP.
Именно так - в лиспе все списки одного типа и, теоретически, разобрав сруктуру списка, можно динамически определить его тип. Но на практике всегда вводят метаописание типов и динамический разбор становится не нужен.
...
Рейтинг: 0 / 0
ОБД
    #34790752
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если автор не бредит, то ему скорее нужен не Smalltalk, а Self



Traditional class-based OO languages are based on a deep-rooted duality:

Classes define the basic qualities and behaviours of objects.
Object instances are particular manifestations of a class.
For example, suppose objects of the Vehicle class have a name and the ability to perform various actions, such as drive to work and deliver construction materials. Porsche 911 is a particular object (instance) of the class Vehicle, with the name "Porsche 911". In theory one can then send a message to Porsche 911, telling it to deliver construction materials.

This example shows one of the problems with this approach: Porsches are not able to carry and deliver construction materials (in any meaningful sense), but this is a capability that Vehicles are modelled to have. One way to create a more useful model is use subclassing to create specializations of Vehicle; for example Sports Car and Flatbed Truck. Only objects of the class Flatbed Truck need provide a mechanism to deliver construction materials; sports cars, which are ill suited to that sort of work, need only drive fast!

This issue is one of the motivating factors behind prototypes. Unless one can predict with certainty what qualities a set of objects and classes will have in the distant future, one cannot design a class hierarchy properly. All too often the program would eventually need added behaviours, and sections of the system would need to be re-designed (or refactored) to break out the objects in a different way.[citation needed] Experience with early OO languages like Smalltalk showed that this sort of issue came up again and again. Systems would tend to grow to a point and then become very rigid, as the basic classes deep below the programmer's code grew to be simply "wrong". Without some way to easily change the original class, serious problems could arise.[citation needed]

Dynamic languages such as Smalltalk allowed for this sort of change via well-known methods in the classes; by changing the class, the objects based on it would change their behaviour. But in other languages like C++ no such ability exists, and making such changes can actually break other code, a problem known as the fragile base class problem. In general, such changes had to be done very carefully, as other objects based on the same class might be expecting this "wrong" behavior: "wrong" is often dependent on the context.

In Self, and other prototype-based languages, the duality between classes and object instances is eliminated.

Instead of having an "instance" of an object that is based on some "class", in Self one makes a copy of an existing object, and changes it. So Porsche 911 would be created by making a copy of an existing "Vehicle" object, and then adding the drive very fast method. Basic objects that are used primarily to make copies are known as prototypes. This technique is claimed to greatly simplify dynamism. If an existing object (or set of objects) proves to be an inadequate model, a programmer may simply create a modified object with the correct behavior, and use that instead. Code which uses the existing objects is not changed.
...
Рейтинг: 0 / 0
ОБД
    #34790968
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод
Не простой это вопрос. В мумпсе и в лиспе нет типов, при этом структуру объектов (т.е. набор свойств) программист держит в голове. Явное метаописание структуры типа полезно, но проблемы возникают при его модификации - требуется реорганизация БД (правда не всегда).


Вот я и подумал, что метаинформация не первична. Не объект созадется по мета, а наоборот. Тогда не нужны реорганизации.

мод
Модифицируемым вручную - обязательно, самообучаемым - а где брать инфу для обучения ?


Допустим полльзователь ввел новое свойство. Допустим система создает отдельную таблицу - ИД, Свойство.
По ходу дела система на основании статистики объединяет новую таблицу с основной таблицей или нет.

мод
Искал, не нашел, пришлось самому сделать. На реальной эксплуатации хорошо видны все подводные камни "объектного" подхода.
Просто надо наверное не переборщить. Межобъектные отношения надо оставить как есть.
...
Рейтинг: 0 / 0
ОБД
    #34790977
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nkulikov
...


Self c 94 никто не поддерживает.
...
Рейтинг: 0 / 0
ОБД
    #34791303
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовДопустим полльзователь ввел новое свойство.
А куда ? При создании конкретного объекта плохо - остается одно - сначала добавить в метаописание, а потом создавать объект. Получается что метаописание вперед. По крайней мере у меня так.
Сахават ЮсифовМежобъектные отношения надо оставить как есть.
Таковых при ближайшем рассмотрении не обнаружено. Т.е. объект м.б. свойством другого объекта (1:n), а отношение n:m - это всегда новый объект (1:n, 1:m).
...
Рейтинг: 0 / 0
ОБД
    #34791524
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод Сахават ЮсифовДопустим полльзователь ввел новое свойство.
А куда ? При создании конкретного объекта плохо - остается одно - сначала добавить в метаописание, а потом создавать объект. Получается что метаописание вперед. По крайней мере у меня так.
Сахават ЮсифовМежобъектные отношения надо оставить как есть.
Таковых при ближайшем рассмотрении не обнаружено. Т.е. объект м.б. свойством другого объекта (1:n), а отношение n:m - это всегда новый объект (1:n, 1:m).
Объекты - (ИД, {системные свойства})
Собственные свойства - (обектьИД,{свойства})
Приобретенные свойства - ({обектьИД},{свойства})
...
Рейтинг: 0 / 0
ОБД
    #34791734
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Объекты - (ИД, {системные свойства})
Собственные свойства - (обектьИД,{свойства})
Приобретенные свойства - ({обектьИД},{свойства})

Тогда уж так:
x=дать_системное_свойство(объектИД,имя_системного_свойства)
x=простое_свойство(объектИД)
x=свойство_список(объектИД).свойство_элемента_списка(ИДэлемента_списка) - причем вложенность м.б. любая ( обычная структура)
но это все св-ва одного объекта, никаких межобъектных отношений нет.
...
Рейтинг: 0 / 0
ОБД
    #34791830
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Компашку которая разрабатывала Self промежду прочим купил примерно в 2003 году Sun. Чем сильно улучшил свой JIT.

Как мимнимум вы можете получить версию от SUN 2004 года

http://research.sun.com/spotlight/2004-05-24.self.html
...
Рейтинг: 0 / 0
ОБД
    #34792899
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nkulikovКомпашку которая разрабатывала Self промежду прочим купил примерно в 2003 году Sun. Чем сильно улучшил свой JIT.

Как мимнимум вы можете получить версию от SUN 2004 года

http://research.sun.com/spotlight/2004-05-24.self.html
Попробую, спасибо. :)
...
Рейтинг: 0 / 0
ОБД
    #34792900
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод Сахават Юсифов
Объекты - (ИД, {системные свойства})
Собственные свойства - (обектьИД,{свойства})
Приобретенные свойства - ({обектьИД},{свойства})

Тогда уж так:
x=дать_системное_свойство(объектИД,имя_системного_свойства)
x=простое_свойство(объектИД)
x=свойство_список(объектИД).свойство_элемента_списка(ИДэлемента_списка) - причем вложенность м.б. любая ( обычная структура)
но это все св-ва одного объекта, никаких межобъектных отношений нет.

Не, я имел ввиду "приобретенные" совместно и указал на множество {ОбъектИД} и их общие(пробретенные в любви :) множество свойств.
...
Рейтинг: 0 / 0
ОБД
    #34792902
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это и есть межобъектные отношения.
...
Рейтинг: 0 / 0
ОБД
    #34792907
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов nkulikovКомпашку которая разрабатывала Self промежду прочим купил примерно в 2003 году Sun. Чем сильно улучшил свой JIT.

Как мимнимум вы можете получить версию от SUN 2004 года

http://research.sun.com/spotlight/2004-05-24.self.html
Попробую, спасибо. :)
Там только МАС и SOLARIS
...
Рейтинг: 0 / 0
ОБД
    #34793044
тлгдшлщм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе MaxOSX можно запустить на любом x86 c некоторыми ограничениями, а Self под эту платформу есть.
...
Рейтинг: 0 / 0
ОБД
    #34793176
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовЭто и есть межобъектные отношения.
Зачем вводить новое понятие, если понятие Свойство уже определено. Значением св-ва м.б. ИД другого объекта. То, что при этом возникает связь между объектами, так это побочный эффект (которым можно воспользоваться для навигации например).
...
Рейтинг: 0 / 0
ОБД
    #34793210
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовНе, я имел ввиду "приобретенные" совместно и указал на множество {ОбъектИД} и их общие(пробретенные в любви :) множество свойств.
ПМСМ общих св-в не бывает, т.е. св-во всегда принадлежит одному объекту. Например, Количество применения ДСЕ1 в ДСЕ2 - это св-во объекта Применяемость, а не общее св-во ДСЕ1 и ДСЕ2.
...
Рейтинг: 0 / 0
ОБД
    #34795729
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод Сахават ЮсифовНе, я имел ввиду "приобретенные" совместно и указал на множество {ОбъектИД} и их общие(пробретенные в любви :) множество свойств.
ПМСМ общих св-в не бывает, т.е. св-во всегда принадлежит одному объекту. Например, Количество применения ДСЕ1 в ДСЕ2 - это св-во объекта Применяемость, а не общее св-во ДСЕ1 и ДСЕ2.
Ну, я не наставиваю на названиях и т.д.. Просто я думаю, для того, что бы появилось свойство "применяемость", надо что бы были оба объекта в наличии и воля пользователя. Я для себя такие свойства называю свойствами приобретенными через связи (отношения) объектов. А у Вас получается, что эти свойства должны (или может) быть описаны для одного из объектов заранее. Т.е., опять "классы", а не объекты с динамическими свойствами и связями. Я думаю, что связи суть "ленивые", и не надо их описывать заранее.
...
Рейтинг: 0 / 0
ОБД
    #34795742
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тлгдшлщмВ принципе MaxOSX можно запустить на любом x86 c некоторыми ограничениями, а Self под эту платформу есть.
Ну, я же прогу для продажи (полузаказная :) ) пишу, а не исседователь. Я даже от SQLServer не могу отойти, не то чтоб MaxOS запустить на клиенте.
...
Рейтинг: 0 / 0
ОБД
    #34796198
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
:) Возможно, что MS движется в "этом" направлении - .NET FW 3.0, Dependency Properties (в частности, Attached Properties)
...
Рейтинг: 0 / 0
ОБД
    #34796444
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовТ.е., опять "классы", а не объекты с динамическими свойствами и связями.
Если каждый объект будет иметь свой собственный набор св-в, то это полное отсутствие типизации, т.е. хаос. Я придерживаюсь статической типизации, т.е. каждый объект имеет тип и все объекты одного типа один набор св-в. При этом сам тип может модифицироваться.
Сахават ЮсифовЯ думаю, что связи суть "ленивые", и не надо их описывать заранее.
Это возможно только при отсутсвии типизации.
Такой пример: тип Договор имел св-во Поставщик типа строка, потом появился тип Поставщик и в типе Договор св-во Поставщик изменилось на ссылку на объект типа Поставщик. В результате появилась связь Договор->Поставщик.
...
Рейтинг: 0 / 0
ОБД
    #34796509
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод Сахават ЮсифовТ.е., опять "классы", а не объекты с динамическими свойствами и связями.
Если каждый объект будет иметь свой собственный набор св-в, то это полное отсутствие типизации, т.е. хаос.


А зачем нужен тип? ( Я вижу только одно достоинство, предложить пользователю заранее сформированный набор свойств для конструирования нового объекта, т.е. облечить жизнь при воде). Но, для этого эсть необъязательные шаблоны (избыточны (можно выбрать определенные свойства) или наоборот (добавить на ходу пару свойств)) (назвать это типом или классом рука не поднимается).

мод Я придерживаюсь статической типизации, т.е. каждый объект имеет тип и все объекты одного типа один набор св-в. При этом сам тип может модифицироваться.


Ну, посмотрите. Допустим, "Лом" относится к типу "Инструмент". Но, я уверен, что "Лом гнутый" туда уже не попадает или попадает, но не отражает важное свойство объекта. Для того, что бы отразить все нужные свойства всех объектов приходится либо расширять тип до безобразия, либо создавать новые типы-наследники.


Сахават ЮсифовЯ думаю, что связи суть "ленивые", и не надо их описывать заранее.
Это возможно только при отсутсвии типизации.
Такой пример: тип Договор имел св-во Поставщик типа строка, потом появился тип Поставщик и в типе Договор св-во Поставщик изменилось на ссылку на объект типа Поставщик. В результате появилась связь Договор->Поставщик.[/quot]

И это хорошо. :)
...
Рейтинг: 0 / 0
ОБД
    #34796917
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовА зачем нужен тип?
В принципе можно жить вообще без типов (мумпс, лисп, питон, клиппер), но ...
Пусть есть коллекция разных объектов. Если тип можно определить, то понятно что с каждым объектом можно делать, если типов нет, то придется анализировать св-ва, причем имена этих
св-в неизвестны. Т.е. черная кошка в темной комнате.
Сахават Юсифовдобавить на ходу пару свойств
Вот вот - и потом никто и никогда не обнаружит, что у этого оригинального объекта есть пара нестандартных св-в. В этом и проблема.
Сахават Юсифов Для того, что бы отразить все нужные свойства всех объектов приходится либо расширять тип до безобразия, либо создавать новые типы-наследники.
Да, приходится, но это нормальный процесс модификации системы.
...
Рейтинг: 0 / 0
ОБД
    #34796992
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нам не о чем спорить.
Просто я думаю, что система может сама потихоночку классифицировать объекты. Тем более, что свойства выбираются из предопределенного домена свойств. А может и сам пользователь.
...
Рейтинг: 0 / 0
ОБД
    #34797048
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовПросто я думаю, что система может сама потихоночку классифицировать объекты.
Это интересная тема, но нужны критерии близости - численные !.
Сахават Юсифов Тем более, что свойства выбираются из предопределенного домена свойств.
А это не то же самое, что предопределнные типы ? Ведь общий список св-в придется как-то упорядочить.
Сахават Юсифов А может и сам пользователь.
У меня новые типы ессно создает пользователь, но до того.
...
Рейтинг: 0 / 0
ОБД
    #34797101
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод Сахават ЮсифовПросто я думаю, что система может сама потихоночку классифицировать объекты.
Это интересная тема, но нужны критерии близости - численные !.


Близость по ИД свойств (можно задать и количество, что бы не плодить "маленькие" :) типы
Сахават Юсифов Тем более, что свойства выбираются из предопределенного домена свойств.
А это не то же самое, что предопределнные типы ? Ведь общий список св-в придется как-то упорядочить.
[/quot]

Нет. Именно предопределенные (тоже пользователем) свойства. Объект из них собирается.
А ссылки на приобретенные свойства (и сами эти свойства) по другому (через коллекции).
Можно все сделать внешним (приобретенным), но тогда семантика :) слишком сложная получается. А так можно важные вещи предопределить и запретить (логику приложения).
...
Рейтинг: 0 / 0
25 сообщений из 89, страница 2 из 4
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / ОБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]