Автор Тема: Ассоциативный контейнер в оберонах  (Прочитано 39818 раз)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Ассоциативный контейнер в оберонах
« Ответ #75 : Апрель 08, 2012, 08:02:40 pm »
Кстати в 1С каждый объект имеет свой GUID. Думаю что все коллекции и контейнеры используют его для хеширования и индексации.
В принципе тоже вариант, если памяти не жалко  :)

Madzi

  • Jr. Member
  • **
  • Сообщений: 86
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #76 : Апрель 09, 2012, 06:27:52 am »
И какой вывод?

Как вы считаете, стоит ли дополнить Оберон (не важно какой), интерфейсами с множественным наследованием интерфейсов? Я думаю что это сделать не сильно сложно и особо оберону это не повредит, так как не противоречит его идеологии.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Ассоциативный контейнер в оберонах
« Ответ #77 : Апрель 09, 2012, 07:03:13 am »
Пока я склоняюсь к мысли, что должен быть аналог жабавского Object.
К тому же вынужден признать, что это не проблема языка. Думаю, что при обероновской идеологии Object должен быть введен на уровне фреймворка.  ;)
Множественное наследование привлекательно, но я полный профан в этом вопросе. Я видел мнения и за и против м.н., но общей картины у меня в голове нет  :(

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #78 : Апрель 09, 2012, 12:01:47 pm »
Пока я склоняюсь к мысли, что должен быть аналог жабавского Object.
К тому же вынужден признать, что это не проблема языка. Думаю, что при обероновской идеологии Object должен быть введен на уровне фреймворка.  ;)
Как разные фреймворки в одном проекте будем скрещивать? Я с таким уже сталкивался пару раз.

Множественное наследование привлекательно, но я полный профан в этом вопросе. Я видел мнения и за и против м.н., но общей картины у меня в голове нет  :(
Я ни разу не видел ничего против множественного наследования интерфейсов (не реализаций).
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Ассоциативный контейнер в оберонах
« Ответ #79 : Апрель 09, 2012, 12:20:49 pm »
Вот да... в разных фреймворках проблема остается. Конечно должен быть и фреймворк какой-то базовый (наследование фреймворков ;D)

А по поводу м.н. я читал где-то, в пропагандистской литературе ;), что мол композиция позволяет без него обойтись.
Я м.н. не пользовался, и потому только в теории представляю как им пользоваться.
То что я читал об интерфейсах жабы мне нравится. :)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #80 : Апрель 09, 2012, 12:42:29 pm »
А по поводу м.н. я читал где-то, в пропагандистской литературе ;), что мол композиция позволяет без него обойтись.
Композиция обычно заменяет наследование реализации.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #81 : Апрель 09, 2012, 12:45:50 pm »
Кроме того, множественное наследование интерфейсов не решит проблему с созданием типобезопасных контейнеров. В Обероне ровно один способ реализации типобезопасных контейнеров - внешний препроцессор.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Ассоциативный контейнер в оберонах
« Ответ #82 : Апрель 09, 2012, 12:48:23 pm »
А в жабах оно как?

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #83 : Апрель 09, 2012, 12:50:45 pm »
А в жабах оно как?
На жабах - дженерики.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re: Ассоциативный контейнер в оберонах
« Ответ #84 : Апрель 09, 2012, 01:40:12 pm »
Кроме того, множественное наследование интерфейсов не решит проблему с созданием типобезопасных контейнеров. В Обероне ровно один способ реализации типобезопасных контейнеров - внешний препроцессор.
а в каких случаях нельзя этого сделать?

DIzer

  • Гость
Re: Ассоциативный контейнер в оберонах
« Ответ #85 : Апрель 09, 2012, 02:06:11 pm »
То есть хотелось бы пример типа= для хранения данных которого нельзя построить безопасный контейнер и почему.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #86 : Апрель 09, 2012, 02:23:22 pm »
То есть хотелось бы пример типа= для хранения данных которого нельзя построить безопасный контейнер и почему.
Любой пользовательский контейнер. Ну попробуй реализовать банальный типобезопасный связный список. Чтобы все элементы в нем были, как и положено, одного типа.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #87 : Апрель 09, 2012, 02:36:02 pm »
Как вы считаете, стоит ли дополнить Оберон (не важно какой), интерфейсами с множественным наследованием интерфейсов? Я думаю что это сделать не сильно сложно и особо оберону это не повредит, так как не противоречит его идеологии.

Множественное наследование ставит крест на "быстрой проверке типа", которая в свою очередь является залогом эффективности "message bus". Кроме того, проблему с "типобезопасными" контейнерами это не решит, только улучшит  использование традиционных универсальных контейнеров.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #88 : Апрель 09, 2012, 02:38:46 pm »
Кстати в 1С каждый объект имеет свой GUID. Думаю что все коллекции и контейнеры используют его для хеширования и индексации.
В принципе тоже вариант, если памяти не жалко  :)

У меня есть подозрение, что тамошний GUID имеет корреляцию с адресом объекта (если, конечно, там не перемещающий GC).

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Ассоциативный контейнер в оберонах
« Ответ #89 : Апрель 09, 2012, 02:41:30 pm »
Кстати в 1С каждый объект имеет свой GUID. Думаю что все коллекции и контейнеры используют его для хеширования и индексации.
В принципе тоже вариант, если памяти не жалко  :)

У меня есть подозрение, что тамошний GUID имеет корреляцию с адресом объекта (если, конечно, там не перемещающий GC).
Адреса объектов же могут совпадать в некоторых случаях. Так что GUID там скорее всего просто отдельным полем.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"