Re[23]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.11.09 14:54
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>>Сколько проблем с подсчетом ссылок в манагед языках при работе с комом.

G>>Ровно ноль.
А> Угу. Плохо читаешь форум. Когда множество объектов с зависимыми ссылками, и только полная сборка мусора помогает.
А чем полная от неполной отличается в данном случае?
Приведи сссылку на такие проблемы, я ни разу не встречал.
Re[16]: Умирает ли Delphi?
От: BreakPoint  
Дата: 10.11.09 16:24
Оценка:
MC>А когда кривизна инструмента оправдывается требованиями к прямоте рук разработчика — это наводит на мысли.
Прямота рук разработчика — это необходимое требование для того, что бы этим самым разработчиком называться. Если руки кривые — никакие языки, инструменты, платформы уже не помогут.
Re[24]: Умирает ли Delphi?
От: Аноним  
Дата: 10.11.09 16:53
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Аноним, Вы писали:


А>>>>Сколько проблем с подсчетом ссылок в манагед языках при работе с комом.

G>>>Ровно ноль.
А>> Угу. Плохо читаешь форум. Когда множество объектов с зависимыми ссылками, и только полная сборка мусора помогает.
G>А чем полная от неполной отличается в данном случае?
Незарелизенные Ком объекты могут быть и в старших поколенияхи. Сборка может старшие поколения диспозные объекты не трогать.

G>Приведи сссылку на такие проблемы, я ни разу не встречал.

Проблемы сами по себе существуют т.к. в Net нет подсчета ссылок либо ручками через Marshal.ReleaseComObject.
Первая попавшаяся ссылка http://www.relib.com/forums/Topic861992-25-1.aspx#bm868682
Re[25]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.11.09 18:24
Оценка:
Здравствуйте, Аноним, Вы писали:

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


G>>Здравствуйте, Аноним, Вы писали:


А>>>>>Сколько проблем с подсчетом ссылок в манагед языках при работе с комом.

G>>>>Ровно ноль.
А>>> Угу. Плохо читаешь форум. Когда множество объектов с зависимыми ссылками, и только полная сборка мусора помогает.
G>>А чем полная от неполной отличается в данном случае?
А>Незарелизенные Ком объекты могут быть и в старших поколенияхи. Сборка может старшие поколения диспозные объекты не трогать.
И что? Нужно явно освободить — Marshal.ReleaseComObject, если не важно когда освободится, то можно ничего дополнительно не писать.

G>>Приведи сссылку на такие проблемы, я ни разу не встречал.

А> Проблемы сами по себе существуют т.к. в Net нет подсчета ссылок либо ручками через Marshal.ReleaseComObject.
А>Первая попавшаяся ссылка http://www.relib.com/forums/Topic861992-25-1.aspx#bm868682
Там первый ответ — правильный. При ошибке в excel, например при открытии или сохранении, дальнешие команды не обрабатываются, в том числе и Quit.
Сам на такое напарывался, .NET тут не при чем.
Re[26]: Умирает ли Delphi?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 10.11.09 18:45
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Аноним, Вы писали:


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


G>>>Здравствуйте, Аноним, Вы писали:


А>>>>>>Сколько проблем с подсчетом ссылок в манагед языках при работе с комом.

G>>>>>Ровно ноль.
А>>>> Угу. Плохо читаешь форум. Когда множество объектов с зависимыми ссылками, и только полная сборка мусора помогает.
G>>>А чем полная от неполной отличается в данном случае?
А>>Незарелизенные Ком объекты могут быть и в старших поколенияхи. Сборка может старшие поколения диспозные объекты не трогать.
G>И что? Нужно явно освободить — Marshal.ReleaseComObject, если не важно когда освободится, то можно ничего дополнительно не писать.
А в большинстве случаев нужно, что бы выгрузился сразу.
G>>>Приведи сссылку на такие проблемы, я ни разу не встречал.
А>> Проблемы сами по себе существуют т.к. в Net нет подсчета ссылок либо ручками через Marshal.ReleaseComObject.
А>>Первая попавшаяся ссылка http://www.relib.com/forums/Topic861992-25-1.aspx#bm868682
G>Там первый ответ — правильный. При ошибке в excel, например при открытии или сохранении, дальнешие команды не обрабатываются, в том числе и Quit.
G>Сам на такое напарывался, .NET тут не при чем.
Так почему же в нативе все выгружается? Кстати по ссылке ниже смотри дело не в этом.
и солнце б утром не вставало, когда бы не было меня
Re[27]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.11.09 18:52
Оценка:
Здравствуйте, Serginio1, Вы писали:

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


G>>Здравствуйте, Аноним, Вы писали:


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


G>>>>Здравствуйте, Аноним, Вы писали:


А>>>>>>>Сколько проблем с подсчетом ссылок в манагед языках при работе с комом.

G>>>>>>Ровно ноль.
А>>>>> Угу. Плохо читаешь форум. Когда множество объектов с зависимыми ссылками, и только полная сборка мусора помогает.
G>>>>А чем полная от неполной отличается в данном случае?
А>>>Незарелизенные Ком объекты могут быть и в старших поколенияхи. Сборка может старшие поколения диспозные объекты не трогать.
G>>И что? Нужно явно освободить — Marshal.ReleaseComObject, если не важно когда освободится, то можно ничего дополнительно не писать.
S>А в большинстве случаев нужно, что бы выгрузился сразу.
С чего ты взял?

G>>>>Приведи сссылку на такие проблемы, я ни разу не встречал.

А>>> Проблемы сами по себе существуют т.к. в Net нет подсчета ссылок либо ручками через Marshal.ReleaseComObject.
А>>>Первая попавшаяся ссылка http://www.relib.com/forums/Topic861992-25-1.aspx#bm868682
G>>Там первый ответ — правильный. При ошибке в excel, например при открытии или сохранении, дальнешие команды не обрабатываются, в том числе и Quit.
G>>Сам на такое напарывался, .NET тут не при чем.
S> Так почему же в нативе все выгружается?
Не все, а там где явно Release вызван, а в случае delphi неявно вызовы втакются, но это не сильно помогает в сложных сценариях.
Re[28]: Умирает ли Delphi?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 10.11.09 18:57
Оценка:
Здравствуйте, gandjustas, Вы писали:


S>>А в большинстве случаев нужно, что бы выгрузился сразу.

G>С чего ты взял?
Очень много вариантов.
G>>>>>Приведи сссылку на такие проблемы, я ни разу не встречал.
А>>>> Проблемы сами по себе существуют т.к. в Net нет подсчета ссылок либо ручками через Marshal.ReleaseComObject.
А>>>>Первая попавшаяся ссылка http://www.relib.com/forums/Topic861992-25-1.aspx#bm868682
G>>>Там первый ответ — правильный. При ошибке в excel, например при открытии или сохранении, дальнешие команды не обрабатываются, в том числе и Quit.
G>>>Сам на такое напарывался, .NET тут не при чем.
S>> Так почему же в нативе все выгружается?
G>Не все, а там где явно Release вызван, а в случае delphi неявно вызовы втакются, но это не сильно помогает в сложных сценариях.
Циклические ссылки?
и солнце б утром не вставало, когда бы не было меня
Re[29]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.11.09 19:10
Оценка:
Здравствуйте, Serginio1, Вы писали:

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



S>>>А в большинстве случаев нужно, что бы выгрузился сразу.

G>>С чего ты взял?
S> Очень много вариантов.
Конекретнее.

G>>>>>>Приведи сссылку на такие проблемы, я ни разу не встречал.

А>>>>> Проблемы сами по себе существуют т.к. в Net нет подсчета ссылок либо ручками через Marshal.ReleaseComObject.
А>>>>>Первая попавшаяся ссылка http://www.relib.com/forums/Topic861992-25-1.aspx#bm868682
G>>>>Там первый ответ — правильный. При ошибке в excel, например при открытии или сохранении, дальнешие команды не обрабатываются, в том числе и Quit.
G>>>>Сам на такое напарывался, .NET тут не при чем.
S>>> Так почему же в нативе все выгружается?
G>>Не все, а там где явно Release вызван, а в случае delphi неявно вызовы втакются, но это не сильно помогает в сложных сценариях.
S>Циклические ссылки?
Дон Бокс написал книгу по разработке COM, там четко описал когда и как вызывать addref и release. Делфи половину сценариев затыкает автогенерным кодом, а половину нет. Мне даже пришлось некоторое время переучиваться работать с COM в делфи после С++.
Re[30]: Умирает ли Delphi?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 10.11.09 19:26
Оценка:
Здравствуйте, gandjustas, Вы писали:

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


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



S>>>>А в большинстве случаев нужно, что бы выгрузился сразу.

G>>>С чего ты взял?
S>> Очень много вариантов.
G>Конекретнее.
Паять (свопинг),ресурсы
G>>>>>>>Приведи сссылку на такие проблемы, я ни разу не встречал.
А>>>>>> Проблемы сами по себе существуют т.к. в Net нет подсчета ссылок либо ручками через Marshal.ReleaseComObject.
А>>>>>>Первая попавшаяся ссылка http://www.relib.com/forums/Topic861992-25-1.aspx#bm868682
G>>>>>Там первый ответ — правильный. При ошибке в excel, например при открытии или сохранении, дальнешие команды не обрабатываются, в том числе и Quit.
G>>>>>Сам на такое напарывался, .NET тут не при чем.
S>>>> Так почему же в нативе все выгружается?
G>>>Не все, а там где явно Release вызван, а в случае delphi неявно вызовы втакются, но это не сильно помогает в сложных сценариях.
S>>Циклические ссылки?
G>Дон Бокс написал книгу по разработке COM, там четко описал когда и как вызывать addref и release. Делфи половину сценариев затыкает автогенерным кодом, а половину нет. Мне даже пришлось некоторое время переучиваться работать с COM в делфи после С++.
А вот насчет наполовину нет можно поподробнее. И как тебе нравится ручное addref и release? Кстати много библиотек на С++ где по умолчанию не нужно делать release и неправильно работает подсчет ссылок. Но это проблема разработчика СОМ. А поведение СОМ должно соответствовать поведению Васика для которого все это было придумано, чему соответствует Delphi. А вот Net под это не приспособлен. При этом если Delphi работает с объектом напрямую,то Net через обертку, что не добавляет ни скорости ни надежности. Поэтому натив лучше работает с нативом чем манагед с нативом. А вообще то и в Net могли бы ввести автоматический подсчет ссылок для объектов поддерживающих IUnknown или наследники специально созданного класса , о чем народ говорит долго и упорно.
Но это уже другая песня.
и солнце б утром не вставало, когда бы не было меня
Re[31]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.11.09 19:42
Оценка:
Здравствуйте, Serginio1, Вы писали:

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


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


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



S>>>>>А в большинстве случаев нужно, что бы выгрузился сразу.

G>>>>С чего ты взял?
S>>> Очень много вариантов.
G>>Конекретнее.
S> Паять (свопинг),ресурсы
Еще конкретнее.

Это вообще общая болезнь при переходе от ручного управления памятью к автоамтическому. Хочется сначала все сразу освобоить, выгрузить и прочее. Со временем отпускает.

G>>Дон Бокс написал книгу по разработке COM, там четко описал когда и как вызывать addref и release. Делфи половину сценариев затыкает автогенерным кодом, а половину нет. Мне даже пришлось некоторое время переучиваться работать с COM в делфи после С++.

S> А вот насчет наполовину нет можно поподробнее.
Вряд ли, сейчас уже не помню, а компилятора под рукой нет.

S>И как тебе нравится ручное addref и release?

Вполне устраивало когда на С++ писал. Особенно завернутое в com-смарт-поинтеры.

S>Кстати много библиотек на С++ где по умолчанию не нужно делать release и неправильно работает подсчет ссылок. Но это проблема разработчика СОМ. А поведение СОМ должно соответствовать поведению Васика для которого все это было придумано, чему соответствует Delphi. А вот Net под это не приспособлен. При этом если Delphi работает с объектом напрямую,то Net через обертку, что не добавляет ни скорости ни надежности. Поэтому натив лучше работает с нативом чем манагед с нативом. А вообще то и в Net могли бы ввести автоматический подсчет ссылок для объектов поддерживающих IUnknown или наследники специально созданного класса , о чем народ говорит долго и упорно.

Смысл этого высказывания остался мне непонятен.
Re[32]: Умирает ли Delphi?
От: Аноним  
Дата: 11.11.09 08:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

S>>>>>>А в большинстве случаев нужно, что бы выгрузился сразу.

G>>>>>С чего ты взял?
S>>>> Очень много вариантов.
G>>>Конекретнее.
S>> Паять (свопинг),ресурсы
G>Еще конкретнее.

G>Это вообще общая болезнь при переходе от ручного управления памятью к автоамтическому. Хочется сначала все сразу освобоить, выгрузить и прочее. Со временем отпускает.


Как раз переход от автоматического освобождения ресурсов к ручному. Юсинг не зря придумали.
G>>>Дон Бокс написал книгу по разработке COM, там четко описал когда и как вызывать addref и release. Делфи половину сценариев затыкает автогенерным кодом, а половину нет. Мне даже пришлось некоторое время переучиваться работать с COM в делфи после С++.
S>> А вот насчет наполовину нет можно поподробнее.
G>Вряд ли, сейчас уже не помню, а компилятора под рукой нет.

S>>И как тебе нравится ручное addref и release?

G>Вполне устраивало когда на С++ писал. Особенно завернутое в com-смарт-поинтеры.
С++ это натив. Мы сейчас о манагеде говорим.
S>>Кстати много библиотек на С++ где по умолчанию не нужно делать release и неправильно работает подсчет ссылок. Но это проблема разработчика СОМ. А поведение СОМ должно соответствовать поведению Васика для которого все это было придумано, чему соответствует Delphi. А вот Net под это не приспособлен. При этом если Delphi работает с объектом напрямую,то Net через обертку, что не добавляет ни скорости ни надежности. Поэтому натив лучше работает с нативом чем манагед с нативом. А вообще то и в Net могли бы ввести автоматический подсчет ссылок для объектов поддерживающих IUnknown или наследники специально созданного класса , о чем народ говорит долго и упорно.
G>Смысл этого высказывания остался мне непонятен.
1. Натив лучше справляется с нативом, а Delphi наравне с Basic с IDispatch
2. Ввести в Net автоматический подсчет ссылок для объектов реализующих интерфейс IUnknown или аналог приведенного тобой com-смарт-поинтеры
Re[33]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.11.09 08:17
Оценка:
Здравствуйте, Аноним, Вы писали:

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


S>>>>>>>А в большинстве случаев нужно, что бы выгрузился сразу.

G>>>>>>С чего ты взял?
S>>>>> Очень много вариантов.
G>>>>Конекретнее.
S>>> Паять (свопинг),ресурсы
G>>Еще конкретнее.

G>>Это вообще общая болезнь при переходе от ручного управления памятью к автоамтическому. Хочется сначала все сразу освобоить, выгрузить и прочее. Со временем отпускает.

А> Как раз переход от автоматического освобождения ресурсов к ручному. Юсинг не зря придумали.
Неверно.
От недетерминированного к детерминированному, ресурсы все равно освобождаются рано или поздно. Только "поздно" — не всегда подходит.


А>1. Натив лучше справляется с нативом, а Delphi наравне с Basic с IDispatch

Разверни мысль, желательно с примерами. А то покачто голословное утверждение. Которое в случае COM даже неверно. На .NET c комом работать проще, также проще работать с WinAPI_шными callback_ами.

А>2. Ввести в Net автоматический подсчет ссылок для объектов реализующих интерфейс IUnknown или аналог приведенного тобой com-смарт-поинтеры

Зачем подсчет ссылок если есть GC? Если хочется вызывать addref и release, то для этого есть Marshal.
Re[34]: Умирает ли Delphi?
От: Аноним  
Дата: 11.11.09 12:02
Оценка:
Здравствуйте, gandjustas, Вы писали:


А>>1. Натив лучше справляется с нативом, а Delphi наравне с Basic с IDispatch

G>Разверни мысль, желательно с примерами. А то покачто голословное утверждение. Которое в случае COM даже неверно. На .NET c комом работать проще, также проще работать с WinAPI_шными callback_ами.
Особенно с голым IDispatch
А>>2. Ввести в Net автоматический подсчет ссылок для объектов реализующих интерфейс IUnknown или аналог приведенного тобой com-смарт-поинтеры
G>Зачем подсчет ссылок если есть GC? Если хочется вызывать addref и release, то для этого есть Marshal.
Цитирую тебя. А вот ручками ничего делать не хочется

От недетерминированного к детерминированному, ресурсы все равно освобождаются рано или поздно. Только "поздно" — не всегда подходит.

А введение автоматического подсчета ссылок для определенного класа не непосильная задача.
Есть статическая типизация а для динамиков можно использовать и статическую. правда не знаю как сейчас в C# 4 дела обстоят
Re[24]: Умирает ли Delphi?
От: Denom Украина  
Дата: 11.11.09 12:53
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>В .NET 4 появилась еще одна монада — Continuation, реализуемая классами IObservable\IObserver, которая позволяет писать линейно код, который требует асинхроноого взаимодействия (ожидания событий, асинхронный IO)


А можно по-подробней каким боком IObservable\IObserver связано с continuation?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[15]: Умирает ли Delphi?
От: Denom Украина  
Дата: 11.11.09 13:25
Оценка:
Здравствуйте, hattab, Вы писали:

H>Delphi.NET уже давно закопали, ибо нах никому не нужен. Сейчас ориентир на гетерогенность: MacOS и Linux.


Вместо него есть Delphi Prism — со всеми фишками .NET Framework 4.0
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[25]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.11.09 14:00
Оценка:
Здравствуйте, Denom, Вы писали:

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


G>>В .NET 4 появилась еще одна монада — Continuation, реализуемая классами IObservable\IObserver, которая позволяет писать линейно код, который требует асинхроноого взаимодействия (ожидания событий, асинхронный IO)


D>А можно по-подробней каким боком IObservable\IObserver связано с continuation?


Ну это собственно оно и есть. Только в отличии от боычной реализации, как тут, IObservable\IObserver рассчитаны на обработку асинхронной последовательности входящих значений, а не на обычные значения.

Причем IObservable\IObserver можно свести к варианту из примера.
Re[26]: Умирает ли Delphi?
От: Denom Украина  
Дата: 11.11.09 14:21
Оценка:
Здравствуйте, gandjustas, Вы писали:

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


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


G>>>В .NET 4 появилась еще одна монада — Continuation, реализуемая классами IObservable\IObserver, которая позволяет писать линейно код, который требует асинхроноого взаимодействия (ожидания событий, асинхронный IO)


D>>А можно по-подробней каким боком IObservable\IObserver связано с continuation?


G>Ну это собственно оно и есть. Только в отличии от боычной реализации, как тут, IObservable\IObserver рассчитаны на обработку асинхронной последовательности входящих значений, а не на обычные значения.


G>Причем IObservable\IObserver можно свести к варианту из примера.

Но ведь это не те продолжения которые есть скажем в Scheme или в Scala 2.8?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[16]: Умирает ли Delphi?
От: hattab  
Дата: 11.11.09 15:59
Оценка:
Здравствуйте, Denom, Вы писали:

H>>Delphi.NET уже давно закопали, ибо нах никому не нужен. Сейчас ориентир на гетерогенность: MacOS и Linux.


D>Вместо него есть Delphi Prism — со всеми фишками .NET Framework 4.0


Я в курсе, только ее развитием занимается RemObjects, и к собственно Delphi (т.е. к тому, чем была Delphi.NET) она имеет весьма опосредованное отношение.
Re[27]: Умирает ли Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.11.09 18:56
Оценка:
Здравствуйте, Denom, Вы писали:

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


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


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


G>>>>В .NET 4 появилась еще одна монада — Continuation, реализуемая классами IObservable\IObserver, которая позволяет писать линейно код, который требует асинхроноого взаимодействия (ожидания событий, асинхронный IO)


D>>>А можно по-подробней каким боком IObservable\IObserver связано с continuation?


G>>Ну это собственно оно и есть. Только в отличии от боычной реализации, как тут, IObservable\IObserver рассчитаны на обработку асинхронной последовательности входящих значений, а не на обычные значения.


G>>Причем IObservable\IObserver можно свести к варианту из примера.

D>Но ведь это не те продолжения которые есть скажем в Scheme или в Scala 2.8?

Ну да. Реализация другая, суть та же.
Re: Умирает ли Delphi?
От: AC1D  
Дата: 13.11.09 05:28
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>http://www.tdelphiblog.com/2009/10/delphi-d.html


А>http://jamiei.com/blog/2009/10/time-to-bury-this-is-delphi-dying-nonsense/


А>http://www.isdelphidying.com/


А>http://www.isdelphidead.com/


А>Is Delphi Dying Monitor v1.0


А>Выскажите ваше мнение на этот счет…


Пока институты будут выпускать толпы студентов пишуших только на дельфи он не умрет)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.