Переквалификация c#-> ??

User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

M. Ridcully wrote:
crypto5 wrote: ARC не ловит циклические референцы, почитайте ка сами.
А зачем их "ловить"? Из просто делать не надо. Один - strong. Остальные - weak.
И никакой ловли.
Мне порой кажется что я один на этом форуме работаю с кодом в 200+к строк.
Weak reference имеет неприятное свойство в неожиданный момент становуится nil-ом, чем больше в языке таких "особенностей", тем падучей программы и апродуктивный процесс разработки.
In vino Veritas!
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Переквалификация c#-> ??

Post by M. Ridcully »

crypto5 wrote:Мне порой кажется что я один на этом форуме работаю с кодом в 200+к строк.
С вопросами веры спорить сложно :D
Но я вот всё время с недоверием относился к такому дизайну, когда нету чёткого ответа на вопрос: кто владеет данным объектом?
Я вполне допускаю, что где-то такой дизайн может иметь право на существование. Но вот в собственной практике как-то стараюсь держаться от этого подальше.
Ну раз уж зашла речь - можно привести пример, когда это так необходимо?
Мир Украине. Свободу России.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

M. Ridcully wrote:
crypto5 wrote:Мне порой кажется что я один на этом форуме работаю с кодом в 200+к строк.
С вопросами веры спорить сложно :D
Но я вот всё время с недоверием относился к такому дизайну, когда нету чёткого ответа на вопрос: кто владеет данным объектом?
Я вполне допускаю, что где-то такой дизайн может иметь право на существование. Но вот в собственной практике как-то стараюсь держаться от этого подальше.
Ну раз уж зашла речь - можно привести пример, когда это так необходимо?
У тебя есть отношение много ко многим между студентами и профессорами. Кто кем владеет?
In vino Veritas!
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Переквалификация c#-> ??

Post by M. Ridcully »

crypto5 wrote:У тебя есть отношение много ко многим между студентами и профессорами. Кто кем владеет?
А при чём тут reference counting, объекты и т.д.? У меня почему-то сразу нарисовались 3 таблицы в БД.
Ну, или если кому-то вздумается ORM использовать (это до сих пор ещё кто-то делает?), то и профессорами, и студентами владеет кто-то другой. Ну типа HR там, и т.д. Cross-references, разумеется, только weak.
Мир Украине. Свободу России.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

M. Ridcully wrote:
crypto5 wrote:У тебя есть отношение много ко многим между студентами и профессорами. Кто кем владеет?
А при чём тут reference counting, объекты и т.д.? У меня почему-то сразу нарисовались 3 таблицы в БД.
Ну, или если кому-то вздумается ORM использовать (это до сих пор ещё кто-то делает?), то и профессорами, и студентами владеет кто-то другой. Ну типа HR там, и т.д. Cross-references, разумеется, только weak.
Т.е. нужно плодить дополнительную сущность что бы runtime прибил обьекты с кроссылками? Ок.
In vino Veritas!
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Переквалификация c#-> ??

Post by M. Ridcully »

crypto5 wrote:Т.е. нужно плодить дополнительную сущность что бы runtime прибил обьекты с кроссылками? Ок.
Ну вообще-то и по логике странно ограничивать время жизни профессора или студента существованием кроссылок на него.
Всех студентов какого-нить профессора "исламские террористы" (с) взорвут - и ему что, сразу харакири делать?
Харакири делать несложно, но ведь мы же хотим, чтобы если у него новые студенты появятся, чтобы identity прежняя была, так?
Мир Украине. Свободу России.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

M. Ridcully wrote:
crypto5 wrote:Т.е. нужно плодить дополнительную сущность что бы runtime прибил обьекты с кроссылками? Ок.
Ну вообще-то и по логике странно ограничивать время жизни профессора или студента существованием кроссылок на него.
Всех студентов какого-нить профессора "исламские террористы" (с) взорвут - и ему что, сразу харакири делать?
Харакири делать несложно, но ведь мы же хотим, чтобы если у него новые студенты появятся, чтобы identity прежняя была, так?
Да, можно хранить всех профессоров и студентов, пока память не переполнится.
In vino Veritas!
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Переквалификация c#-> ??

Post by M. Ridcully »

crypto5 wrote:Да, можно хранить всех профессоров и студентов, пока память не переполнится.
Ну если в вашей модели и профессора, и студенты живут вечно - тогда хреново, да.
Мне всё-таки кажется, что время жизни и тех, и других лучше как-то из соображений бизнес-логики контролировать.
Но если так уж надо только наличием кроссылок - так ведь это элементарно - заводите третью таблицу - исключительно для подсчёта кроссылок - и будет счастье.
Мир Украине. Свободу России.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

M. Ridcully wrote:
crypto5 wrote:Да, можно хранить всех профессоров и студентов, пока память не переполнится.
Ну если в вашей модели и профессора, и студенты живут вечно - тогда хреново, да.
Мне всё-таки кажется, что время жизни и тех, и других лучше как-то из соображений бизнес-логики контролировать.
Но если так уж надо только наличием кроссылок - так ведь это элементарно - заводите третью таблицу - исключительно для подсчёта кроссылок - и будет счастье.
А что именно эта таблица будет делать?
Ну и еще вопрос, это правда рассматривается как более превосходный инструмент по отношению к jvm, где ни о чем не нужно беспокоится, все само саморазрулится и еще и с выигрышем в производительности?
In vino Veritas!
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: У тебя есть отношение много ко многим между студентами и профессорами. Кто кем владеет?
Студентами владеет контейнер студентов, а профессорами контейнер профессоров. Контейнером владеет сучность, а сучностью дурной программист.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

dotcom wrote:
crypto5 wrote: У тебя есть отношение много ко многим между студентами и профессорами. Кто кем владеет?
Студентами владеет контейнер студентов, а профессорами контейнер профессоров. Контейнером владеет сучность, а сучностью дурной программист.
+4 сучности что бы исправить проблемы менеджмента памяти, Ок.
In vino Veritas!
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: Ну и еще вопрос, это правда рассматривается как более превосходный инструмент по отношению к jvm, где ни о чем не нужно беспокоится, все само саморазрулится и еще и с выигрышем в производительности?
А jvm все "разруливает" сам, и с производительностью все тип-топ? Тогда это действительно вера.
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Переквалификация c#-> ??

Post by M. Ridcully »

crypto5 wrote:Ну и еще вопрос...
Всё, хватит вопросов.
Ты меня обедом накорми - я тебе всё расскажу. :mrgreen:
Мир Украине. Свободу России.
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: +4 сучности что бы исправить проблемы менеджмента памяти, Ок.
Не, одной сучности хватает обычно.
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: Weak reference имеет неприятное свойство в неожиданный момент становуится nil-ом, чем больше в языке таких "особенностей", тем падучей программы и апродуктивный процесс разработки.
Поэтому настоящий программист ничего не должен деаллоцировать. А то не дай бог опять понадобится!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

dotcom wrote:
crypto5 wrote: Ну и еще вопрос, это правда рассматривается как более превосходный инструмент по отношению к jvm, где ни о чем не нужно беспокоится, все само саморазрулится и еще и с выигрышем в производительности?
А jvm все "разруливает" сам, и с производительностью все тип-топ? Тогда это действительно вера.
Вера это упорно игнорировать факты, что да, jvm разруливаем циклические ссылки, а ARC нет, не разруливат, и что да, garbage collectors производительней reference counting.
In vino Veritas!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

dotcom wrote:
crypto5 wrote: Weak reference имеет неприятное свойство в неожиданный момент становуится nil-ом, чем больше в языке таких "особенностей", тем падучей программы и апродуктивный процесс разработки.
Поэтому настоящий программист ничего не должен деаллоцировать. А то не дай бог опять понадобится!
Я так понял вы настоящий программист?
In vino Veritas!
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: Вера это упорно игнорировать факты, что да, jvm разруливаем циклические ссылки, а ARC нет, не разруливат, и что да, garbage collectors производительней reference counting.
Вера в то, что альтернативы jvm не существуют. Бедные программеры пишут кривые программы аппы с ручным или reference counting memory management кодом - это неправильные программисты, наверное?
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: Я так понял вы настоящий программист?
Нет, я не настоящий, чем и горжусь.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

dotcom wrote:
crypto5 wrote: Вера это упорно игнорировать факты, что да, jvm разруливаем циклические ссылки, а ARC нет, не разруливат, и что да, garbage collectors производительней reference counting.
Вера в то, что альтернативы jvm не существуют. Бедные программеры пишут кривые программы аппы с ручным или reference counting memory management кодом - это неправильные программисты, наверное?
Нет, среди них есть и правильные. Еще странные вопросы есть?
In vino Veritas!
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: Нет, среди них есть и правильные. Еще странные вопросы есть?
Да нет, все и так было понятно. С другой стороны, когда вы почитаете что-нибудь за пределами очередной статьи "jvm memory management rulez"? Может, какой-нибудь pet project на Си++ или, не дай бог, под iOS напишите? Разговор будет более контструктивным и без удивлений с вашей стороны.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

dotcom wrote:
crypto5 wrote: Нет, среди них есть и правильные. Еще странные вопросы есть?
Да нет, все и так было понятно. С другой стороны, когда вы почитаете что-нибудь за пределами очередной статьи "jvm memory management rulez"?
Хватит пороть чушь пытаясь скрыть слабость аргументов, я вполне читаю статьи за пределами этой категории.
In vino Veritas!
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: Хватит пороть чушь пытаясь скрыть слабость аргументов, я вполне читаю статьи за пределами этой категории.
Из ваших аргументов это не видно. Об ARC вы удивились в этой конкретной ветке. Иди спать, пожалуйста, в вашем тоне видно желание обидеть, но я пока проигнорирую сей факт.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Переквалификация c#-> ??

Post by crypto5 »

dotcom wrote:
crypto5 wrote: Хватит пороть чушь пытаясь скрыть слабость аргументов, я вполне читаю статьи за пределами этой категории.
Из ваших аргументов это не видно. Об ARC вы удивились в этой конкретной ветке. Иди спать, пожалуйста, в вашем тоне видно желание обидеть, но я пока проигнорирую сей факт.
Ну так приводите контр аргументы, назидательский тон обоснованный только фразами типа "идите почитайте" выглядит слегка неконструктивно.
In vino Veritas!
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Переквалификация c#-> ??

Post by dotcom »

crypto5 wrote: Ну так приводите контр аргументы, назидательский тон обоснованный только фразами типа "идите почитайте" выглядит слегка неконструктивно.
Начните с себя, пожалуйста. Вы сами требуете от других примеров, не приводя ни одного в ответ. Без обид. Спорить о недостатках C++ и ObjC ни разу не видев живого кода, и имея за плечами хоть 200К+ хоть 1М+ кода на Жабе, конструктивизма беседе никак не прибавит. Давайте вместе напишем что-нибудь? :D

Return to “Работа и Карьера в IT”