Re[44]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 07:47
Оценка:
Здравствуйте, gandjustas, Вы писали:

H>>Здравствуйте, gandjustas, Вы писали:

G>>>Если у объектов есть финализаторы, то они еще некоторое время проживут. Сначала выполнятся финализаторы для всех, а только на следующем проходе их GC уберет все объекты.

H>>Есть гарантия, что финализатор родителя выполнится последним?

G>Нет, а оно вам надо?

По условию задачи: родитель живет, пока жив хоть один дочерний интерфейс.
Re[39]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 07:48
Оценка:
Здравствуйте, gandjustas, Вы писали:

MC>>>В Вашем случае с деревом объектов GC сможет выявить, что дерево целиком недоступно — это раз. Далее он в неопределенном порядке выполнит финализаторы объектов, а потом и освободит память. Соответственно, в финализаторах родители и потомки никак не взаимодействуют.

H>>Вот (неопределенный порядок, невозможность взаимодействия в финализаторах). Значит тут, и таким способом, задачу не решить. Не смертельно, конечно, но не сильно приятно.

G>Теперь приведи 3 причины почему финализаторы должны ввыполняться в определенном порядке.


Я уже писал. Чилды должны умереть раньше, чем родитель.
Re[9]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 07:53
Оценка: +1
Здравствуйте, DOOM, Вы писали:

kuj>>И конечно же негативно сказывается на производительности.

DOO>Это почему? Потому что надо будет поддержку RTTI включить? Ну в дельфи ее просто не выключить

Вообще, в Delphi, RTTI создается только для потомков TPersistent. Для всего прочего, ее нужно включать директивой {$TYPEINFO ON}, и {$METHODINFO ON} для extended RTTI.
Re[35]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 07:54
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Надо их корректно обработать.

DOO>Еще пример (опять жизненный): была у меня проблема в работе VMWare virtual infrastructure client (этот уже на .Net'е писан) — не мог цепляться к удаленной консоли. Клиент говорил, что-то типа: Failed to establish remote MKS connection. Could not read /bla-bla-bla/machine_name.vmx. Молодца. Просто море отладочной информации — а почему он его could not read? Если сам клиент не смог бы, например, показать свойства виртуальной машины без доступа к этому файлу? Вот сидел и гадал. Твоя обработка исключения будет приводить к точно таким же "подробным" диагностическим сообщениям. Чтобы сделать грамотно, надо все-таки знать, как это работает, а не так, что "вот как просто, можно даже ни черта не знать, чтобы пользоваться".
Сомневаюсь что там Remoting был.
Re[19]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 07:54
Оценка:
Здравствуйте, hattab, Вы писали:

___>>А здесь ничего не можешь сказать. Как так?


H>Очень просто. Я знаю о наличии этих штук. Знаю их предназначение и видел демки. Но я с этим не работал лично, поэтому точнее сказать ничего не могу. Есть вопросы -- читай доки/рой гугл.


Вот так у тебя все просто. Сначала выдвинул в качестве аргумента, а потом сказал, что мол я в этом не бум бум и не пойти ли тебе в гугл.
Re[40]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 07:59
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, gandjustas, Вы писали:


MC>>>>В Вашем случае с деревом объектов GC сможет выявить, что дерево целиком недоступно — это раз. Далее он в неопределенном порядке выполнит финализаторы объектов, а потом и освободит память. Соответственно, в финализаторах родители и потомки никак не взаимодействуют.

H>>>Вот (неопределенный порядок, невозможность взаимодействия в финализаторах). Значит тут, и таким способом, задачу не решить. Не смертельно, конечно, но не сильно приятно.

G>>Теперь приведи 3 причины почему финализаторы должны ввыполняться в определенном порядке.


H>Я уже писал. Чилды должны умереть раньше, чем родитель.

Зачем, сферический конь в вакууме? Можешь считать что они умрут одновременно.
Ты же писал что-то такое. Приведи условия реальной задачи, тогда посмотрим как она решается в .NET
Re[26]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 08:02
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Код из статьи
Автор(ы): Игорь Ткачев
Дата: 11.07.2003
Первая часть статьи, рассказывающая о новой технологии межпроцессной коммуникации — Remoting. Это "родная" для .NET Framework технология, использующая все преимущества платформы. В статье разбираются такие тонкие моменты, как работа с контекстом и перехват создания объектов и вызова методов.

G>>>
G>>>// Client.cs

G>>>using System;
G>>>using System.Runtime.Remoting;
G>>>using TestObject;

G>>>namespace Client
G>>>{
G>>>  class Client
G>>>  {
G>>>    [STAThread]
G>>>    static void Main(string[] args)
G>>>    {
G>>>      RemotingConfiguration.Configure("Client.exe.config");

G>>>      Test test = new Test();
G>>>      Console.WriteLine(test.GetAppName()); //Здесь test.GetAppName() вызовется на сервере!!!!
G>>>    }
G>>>  }
G>>>}
G>>>

G>>>Такое на делфи возможно?
DOO>>Такое возможно даже на VBScript. DCOM называется.
G>Какие еще языки поддерживают такуюже легкость работы с COM? Что-то мне кажется что никакие.
G>Если попробовать написать подобное с DCOM на С++ или Delphi, то получится в разы больше кода, не считая автогенерных Proxy и Stub.

В какие разы??? Не смеши. Будет ровно таже -- строчка две и всех делов. Но мы от DCOM отказались именно по причине его настроек безопасности. Сеть работала не с MS-инфраструктурой, посему это был большой геморой.

G>А еще добавитсявозня с DCOM совместимыми типами (Variant и прочие)


В чем та возня? Объекты маршалить можно не напрягаясь, если знать как

DOO>>Вот только вся твоя красота может быть (да точно будет!) обломана настройками безопасности. Ты хоть сможешь это корректно обработать?

G>Remoting можно настроить чтобы он работал через HTTP c помощью SOAP. Все это в конфиге, как на клиенте, так и на сервере

Вот об этих конфигах я и говорил
Re[27]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 08:09
Оценка:
Здравствуйте, hattab, Вы писали:

H>В какие разы??? Не смеши. Будет ровно таже -- строчка две и всех делов. Но мы от DCOM отказались именно по причине его настроек безопасности. Сеть работала не с MS-инфраструктурой, посему это был большой геморой.

А прозрачно для прилодения сделать объект не удаленным, а локальным?
Про поменять протокол и формат сериализации вообще молчу.

G>>А еще добавитсявозня с DCOM совместимыми типами (Variant и прочие)

H>В чем та возня? Объекты маршалить можно не напрягаясь, если знать как
В .NET вообще маршалить не надо, а знать тем более. Главное чтобы передаваемые объекты были сериализуемыми.
Re[28]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 08:10
Оценка:
Здравствуйте, gandjustas, Вы писали:

DOO>>>>Такое возможно даже на VBScript. DCOM называется.

G>>>Какие еще языки поддерживают такуюже легкость работы с COM? Что-то мне кажется что никакие.
DOO>>Да почему — в Дельфях можно было подрубать те же IDispatch'и и превращать программу в какое-то подобие скрипта... Абсолютно аналогично VBScript'у.
G>И получать Runtime error на коде, который выглядит как обычный статический.

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

G>>>Если попробовать написать подобное с DCOM на С++ или Delphi, то получится в разы больше кода, не считая автогенерных Proxy и Stub.

G>>>А еще добавитсявозня с DCOM совместимыми типами (Variant и прочие)
DOO>>В Дельфи можно было этого избежать.
G>Ну да, использовать простые типы

Зачем ты снова говоришь неправду? Ты пробовал и у тебя не получилось?
Re[21]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 08:11
Оценка:
Здравствуйте, hattab, Вы писали:

kuj>>>>Не знаю как оно в Делфи, но в .NET и Java конфиги не имеют такой привычки — куда-то там слетать...


H>>>И юзеры с админами ну прям небожители. Охотно верю.


___>>Ну так какое отношение .Net имеет к админам? Если уж ты такой любитель народных поговорок (впрочем как и я): с дуру можно и х.. сломать"


H>Ситуация, вполне себе, жизненная


Не спорю. Но тем не менее никакого отношения к "пердмету" разговора не имеющая. Или скажем по другому: юзеры/админы относятся к Дельфи/C#-ДотНет также как считать, что пользователи могут залить клавиатуру кофе недостатком клавиатуры.
Re[26]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 08:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Если ты имеешь ввиду программситов, которые используют распределенные объекты, то им незнание не мешает.


Шедевр
Re[19]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 08:15
Оценка:
Здравствуйте, hattab, Вы писали:

___>>Мужики, он против Линукса — налетай


H>Я не против Он мне... В общем, фиолетов.


Это была шутка йумара. Здесь есть ярые поборники оного, впрочем, как и ты Дельфи.
Re[29]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 08:23
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, gandjustas, Вы писали:


DOO>>>>>Такое возможно даже на VBScript. DCOM называется.

G>>>>Какие еще языки поддерживают такуюже легкость работы с COM? Что-то мне кажется что никакие.
DOO>>>Да почему — в Дельфях можно было подрубать те же IDispatch'и и превращать программу в какое-то подобие скрипта... Абсолютно аналогично VBScript'у.
G>>И получать Runtime error на коде, который выглядит как обычный статический.

H>А на своем test.GetAppName() ты думаешь не можешь получить эксепшен? Я думаю ты хотел сказать, что при написании можно ошибиться в имени метода. Если так, это не проблема, ибо Delphi умеет генерить заглушки.

В делфи можно включить режим, когда для каждого объекта, реализующего IDispatch вызовы методов через точку будут оборачиаваться в вызовы Invoke. При синтаксической ошибке в имени метода будет получатся Runtime exception. То что делфи умеет генерить заглушки я знаю.

G>>>>Если попробовать написать подобное с DCOM на С++ или Delphi, то получится в разы больше кода, не считая автогенерных Proxy и Stub.

G>>>>А еще добавитсявозня с DCOM совместимыми типами (Variant и прочие)
DOO>>>В Дельфи можно было этого избежать.
G>>Ну да, использовать простые типы
H>Зачем ты снова говоришь неправду? Ты пробовал и у тебя не получилось?
Я пробовал, у меня получилось и больше не хочу.
Re[27]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 08:24
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, gandjustas, Вы писали:


G>>Если ты имеешь ввиду программситов, которые используют распределенные объекты, то им незнание не мешает.


H>Шедевр


Правда жизни. Сам так работал пару месяцев, пока не изучил что такое Remoting.
Re[9]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 08:29
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, _d_m_, Вы писали:


H>>>Если люди чего-то там не знали/забывали, это характеризует только их, но не инструмент. Если выражаться простым языком: не можешь срать -- не мучай жопу. В управляемых средах, таки, есть место ручной очистке (пусть даже семантически скрываемой) для объектов владеющих ресурсами. Что начнется, когда


___>>В оригинале вобще-то звучит вобще-то "не хочешь срать — не мучай жопу". Разница существенная. В дальнейшем просьба быть точнее, а то минусы буду ставить нещадно!


H>Мне доводилось слышать в моем варианте. А виртуальный фетишь меня не прет, т.ч. хоть обминусись


Это искажение фактов. Так вот и писались библия и евангелия. Каждый человек непременно добавляет свое частное IMHO.

Насчет минусов — ты вообще заметил смайлик? Шутка же. Сам к оценкам отношусь двояко — ставлю когда ну уж совсем нравится или нет. Отрицательные оценки ставлю очень редко. Оценки своих сообщений не смотрю, т.к. во первых, в Outlook Express-е их не видно, во вторых: ибланов много, минусов наставят будь здоров — ну что мне из-за этого настроение портить — не дождутся. Вобщем, живу по совести — остальное все х..ня.
Re[19]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 08:33
Оценка:
Здравствуйте, hattab, Вы писали:

___>>Про Дельфи не скажу, но от поделий Богланд меня что-то воротит. Может вспомним еще угробище под названием Interbase?


H>Есть такая штука: индивидуальная препаратная непереносимость Про интербейс спорить не буду, мне его клон (FB) вполне нравится (но я и с MSSQL (6.5-2000) работал).


FB это уже другая пестня, которая к Богланд уже не имеет никакого отношения.
Re[18]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 08:38
Оценка:
Здравствуйте, Sinclair, Вы писали:

H>>Я привер пример тула. Чего еще? Примеры нужны? Ищи. Только думаю это все в корпоративном секторе, коли на него нацелено...

S>Этот тул нежизнеспособен. Авторы WebSnap не поняли, что такое веб приложения, и как их нужно писать. Еще вопросы?

Мой пост был ответом на вопрос: что у вас для Web. Вопросы?
Re[12]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 08:43
Оценка:
Здравствуйте, Sinclair, Вы писали:

H>>Я провел аналогии с форумными ветками. Ок. Тогда объясни мне, как .Net-разработчик, отчего могут эти фризы возникать на ровном месте. Хотя можешь не рассказывать, ты мне сейчас поведаешь об алгоритмах, проектировании и бла-бла-бла. Я все это слышал много раз. Можем завязать на этом.

S>Ну если захотелось помериться хамилками, то объясни мне, как Дельфи разработчик, отчего в дельфи программах утечки памяти наступают на ровном месте. Ась?

Тут уже приводили пример кода, где, как-бы на ровном месте...

S>Я вот учил ПДД по вот такой дельфийской программе — приходилось перезапускать раз в десять минут из-за чудовищных ликов. А казалось бы — место ровнее некуда.


У меня приятель писал прогу для ПДД еще на DOS'овском паскале. Вери кул. И?
Re[20]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 08:47
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>>>А здесь ничего не можешь сказать. Как так?


H>>Очень просто. Я знаю о наличии этих штук. Знаю их предназначение и видел демки. Но я с этим не работал лично, поэтому точнее сказать ничего не могу. Есть вопросы -- читай доки/рой гугл.


___>Вот так у тебя все просто. Сначала выдвинул в качестве аргумента, а потом сказал, что мол я в этом не бум бум и не пойти ли тебе в гугл.


Конечно просто. Был вопрос: что у вас есть? Я ответил. Я не работаю со всем, что включает в себя Delphi.
Re[41]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 04.05.08 08:50
Оценка:
Здравствуйте, gandjustas, Вы писали:

H>>Я уже писал. Чилды должны умереть раньше, чем родитель.

G>Зачем, сферический конь в вакууме? Можешь считать что они умрут одновременно.
G>Ты же писал что-то такое. Приведи условия реальной задачи, тогда посмотрим как она решается в .NET

Я и так привел условия реальной задачи. Чилды должны умирать раньше парента. Я уже говорил, про попытку кроить задачу под решение. Просто согласиь, что такие моменты ты не контролируешь, и разойдемся спокойно.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.