Re[24]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 01.05.08 21:56
Оценка: -1
Здравствуйте, kuj, Вы писали:

H>>>>Я уже пояснял ссылочкой
Автор: mezon
Дата: 19.01.07
, какого типа конфиги имеются ввиду.


kuj>>>По приведенной ссылке нет ничего про WindowsLive Writer. Заканчивай позориться, hattab.


H>>WLV упомянут, как имеющий конфиги в рабочей папке. Как и BDS2006, VisualStudio и многие другие. Т.ч. не надо песен об идеальном состоянии дел у .Net прилаг.


kuj>Ты действительно так туго думаешь, или только притворяешься? Я уже объяснял пошагово как работает стандартный конфигуратор из System.Configuration.


Да мне пофигу, как он работает. Я тебе примеры конкретных приложений провел. А ты мне все идеалистическую картину мира рисуешь...
Re[24]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 01.05.08 21:59
Оценка: -1 :)
Здравствуйте, gandjustas, Вы писали:

H>>>>Я уже пояснял ссылочкой
Автор: mezon
Дата: 19.01.07
, какого типа конфиги имеются ввиду.


kuj>>>По приведенной ссылке нет ничего про WindowsLive Writer. Заканчивай позориться, hattab.


H>>WLV упомянут, как имеющий конфиги в рабочей папке. Как и BDS2006, VisualStudio и многие другие. Т.ч. не надо песен об идеальном состоянии дел у .Net прилаг.

G>А чем конфиги в рабочей папке не нравятся?
G>Они как раз делалались чтобы приложение можно было обычным копированием перемещать на другой комп и не шаманить с реестром

Настроечные конфиги нравятся всем (и я об этом уже писал). Но конфиг, от правки/потери которого теряется функциональность приложения...
Re[14]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 01.05.08 22:08
Оценка:
Здравствуйте, koandrew, Вы писали:

H>>Наглая ложь . Я сейчас поставил семерку под виртуалку и... Тот же самый IntfClear, в котором проверка разумеется присутствует.


K>А у меня вот другие данные. Приведите ассемблерный код, сгенерённый компилером для этого куска кода — вот тогда и посмотрим... У меня D7 к сожалению нет — ибо не надо оно мне сто лет уже.


Код:
procedure TForm1.Button1Click(Sender: TObject);
Var

 Intf : IUnknown;

begin

 Intf := NIL;
 Intf := NIL;
 Intf := NIL;
 Intf := NIL;

end;


Ему соответствует:
  ...
  lea, eax, [ebp-$04]
  call @IntfClear
  lea, eax, [ebp-$04]
  call @IntfClear
  lea, eax, [ebp-$04]
  call @IntfClear
  lea, eax, [ebp-$04]
  call @IntfClear
  ...


Код _IntfClear:
        MOV     EDX,[EAX]
        TEST    EDX,EDX
        JE      @@1
        MOV     DWORD PTR [EAX],0
        PUSH    EAX
        PUSH    EDX
        MOV     EAX,[EDX]
        CALL    DWORD PTR [EAX] + VMTOFFSET IInterface._Release
        POP     EAX
@@1:
Re[27]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 01.05.08 22:31
Оценка:
Здравствуйте, hattab, Вы писали:

H>>>>>И какова, в таком случае, цена тезисам о том, что .Net от чего-то там оберегает, FxCop'ами ругется, все вусмерть контролит. И это еще противопоставлялось Delphi. Смех да и только.


kuj>>>>Среда не убережет от алгоритмических ошибок, ясное дело. Что не так?


H>>>Твои тезисы. Перечитай, переосмысли.


kuj>>Какие еще мои тезисы? Давай уж конкретно с цитатами.


H>Да тебе бесполезно что-либо цитировать. Я тебя уже тыкал носом в твоиже слова, которые мне объяснить не смог (напоминаю, о минусах сборки мусора на управляемых

типах в Delphi). Ссылку на описание фризов нашел, не поленился, от тебя снова тишина. Оно мне надо так напрягаться Проще с тобой завязать и только. Будь здоров.

Ну-ну. Научись читать сначала и в теме разберись хоть немного.

Во-первых, я никогда и нигде не говорил о минусах или плюсах "сборки мусора на управляемых типах в Delphi".

Во-вторых, я нигде и никогда не утверждал, что FxCop или .NET или Java или что-либо еще избавляют от алгоритмических ошибок. Так что не надо ля-ля.

В-третьих, про фризы я тебе уже русским языком объяснил.
Re[15]: Чем вам всем не угодил Delphi?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 01.05.08 22:36
Оценка:
Здравствуйте, hattab, Вы писали:

<skipped>

Да, похоже ты таки прав. Посыпаю голову пеплом Но я точно помню, что в моём случае было по-другому. Ну да ладно — сейчас для меня это всё равно имеет чисто академический интерес. Но подобная неявная семантика ИМХО не нужна или должна быть хотя бы отключаема, ибо, если речь идёт о DX, там паттерн освобождения следующий:
#define SAFE_RELEASE(p) if(p) { p->Release(); p = NULL; }

Надо ли рассказывать, к чему приведёт прямое применение этого распиаренного на весь СДК способа (кстати этот макрос я взял из DX SDK, который, увы и ах, но только для C/C++) в дельфях?
В общем в сухом остатке мы имеем следующее:

С/С++: приходится внимательно следить за работой с памятью
Delphi: приходится чуть менее внимательно следить за работой с памятью, но при этом следить за интеллектуальными изысками компилятора, дабы не поймать непонятных ошибок
C#/Java:управление памятью нас не волнует (это забота RTL/VM) главное следить за алгоритмом

И ещё — личная просьба — если не трудно — скомпиль тот же код в варианте Release (я надеюсь то, что ты показал, это Debug? ибо в противном случае весь компилерско-оптимизаторский тим надо разгонять к известной матери) и покажи — мне просто любопытно. Заранее благодарю!
[КУ] оккупировала армия.
Re[25]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 01.05.08 22:37
Оценка:
Здравствуйте, hattab, Вы писали:

kuj>>Ты действительно так туго думаешь, или только притворяешься? Я уже объяснял пошагово как работает стандартный конфигуратор из System.Configuration.

H>Да мне пофигу, как он работает. Я тебе примеры конкретных приложений провел.

И что мне примеры твоих конкретных приложений, если ты и сам понятия не имеешь как они устроены? Ты смешон.

H>А ты мне все идеалистическую картину мира рисуешь...


Медитируй http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx до просветления.
Re[8]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 01.05.08 22:42
Оценка: +1
Здравствуйте, misha_irpen, Вы писали:

ДГ>>Я даже больше скажу: в современной визуальной IDE под названием Eclipse формошлёпщик по умолчанию отсутствует.

_>Угу, вот потому его и используют одни "энтузиасты" и нищие фирмы-однодневки. А в корпоративном секторе (где существует такое понятие как срок сдачи проекта) юзают VS, который формошлепщиком оборудован по-умолчанию.

Поржал. Пиши еще.
Re[8]: Чем вам всем не угодил Delphi?
От: Mr.Cat  
Дата: 01.05.08 23:04
Оценка:
Здравствуйте, misha_irpen, Вы писали:
_>Угу, вот потому его и используют одни "энтузиасты" и нищие фирмы-однодневки. А в корпоративном секторе (где существует такое понятие как срок сдачи проекта) юзают VS, который формошлепщиком оборудован по-умолчанию.

_>О какой компактности вообще можно говорить в контексте джавы? Это то же самое что из экономии веса использовать алюминиевые гайки при сборке танков. Так же оправдано.


Дровишки, как обычно, из леса?
Re[9]: Чем вам всем не угодил Delphi?
От: misha_irpen  
Дата: 02.05.08 00:42
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

_>>О какой компактности вообще можно говорить в контексте джавы? Это то же самое что из экономии веса использовать алюминиевые гайки при сборке танков. Так же оправдано.

MC>Дровишки, как обычно, из леса?
Не понял вопроса. Поясню свою точку зрения: по сравнению с размером JRE такая экономия что мертвому припарка. По сравнению с ее требовательности к памяти -- тоже. Хорошо хоть производительность до ума довели, и то дотнет заставил.
Re[9]: Чем вам всем не угодил Delphi?
От: misha_irpen  
Дата: 02.05.08 00:44
Оценка:
Здравствуйте, kuj, Вы писали:

ДГ>>>Я даже больше скажу: в современной визуальной IDE под названием Eclipse формошлёпщик по умолчанию отсутствует.

_>>Угу, вот потому его и используют одни "энтузиасты" и нищие фирмы-однодневки. А в корпоративном секторе (где существует такое понятие как срок сдачи проекта) юзают VS, который формошлепщиком оборудован по-умолчанию.
kuj>Поржал. Пиши еще.
Если есть конкретные возражения -- в студию. Названия компаний, активно использующих этот ваш еклипс для чего-нибудь кроме джавы -- тоже.
Иначе слив засчитывается автоматически.
Re[10]: Чем вам всем не угодил Delphi?
От: Mr.Cat  
Дата: 02.05.08 01:04
Оценка:
Здравствуйте, misha_irpen, Вы писали:
_>Не понял вопроса. Поясню свою точку зрения: по сравнению с размером JRE такая экономия что мертвому припарка.
15 мб. Один раз поставить — и забыть (ну разве что обновлять изредка). Офигеть как много, да?

_>По сравнению с ее требовательности к памяти -- тоже.

Все же к памяти требовательна не сама java, а приложения, да? Вы свято верите, что любое java-приложение можно переписать на C++, например, и оно волшебным образом будет требовать существенно меньше памяти?
Re[23]: Чем вам всем не угодил Delphi?
От: Константин Б. Россия  
Дата: 02.05.08 01:09
Оценка: +2
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, Константин Б., Вы писали:


H>>>Я уже пояснял ссылочкой
Автор: mezon
Дата: 19.01.07
, какого типа конфиги имеются ввиду.


КБ>>Да вот только это единственный конфиг которые лежит в папке Windows Live Writer'a.


H>Так у него и других-то нет (списки поддерживаемых блог-апи не в счет, это таки данные)


— Ты этот конфиг имеешь ввиду
— Нет не этот
— А других нет
— Да других нет

hattab, у вас с головой все в порядке?
Re[8]: Чем вам всем не угодил Delphi?
От: Cyberax Марс  
Дата: 02.05.08 04:42
Оценка:
Здравствуйте, misha_irpen, Вы писали:

ДГ>>И ставить его мне совершенно не интересно, потому как программируя Swing вручную, я получаю гораздо более компактный, структурированный и универсальный код. (По крайней мере, по сравнению с тем, что генерировал JBuilder Enterprise 2007, раза в три компактнее точно).

_>О какой компактности вообще можно говорить в контексте джавы? Это то же самое что из экономии веса использовать алюминиевые гайки при сборке танков. Так же оправдано.
JRE сейчас занимет порядка 7Мб. В JDK7 будет занимать примерно 2Мб (!!). Это много?

По памяти JRE можно тоже достаточно сильно урезать.
Sapienti sat!
Re[28]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 02.05.08 05:40
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>>>Какие еще мои тезисы? Давай уж конкретно с цитатами.


H>>Да тебе бесполезно что-либо цитировать. Я тебя уже тыкал носом в твоиже слова, которые мне объяснить не смог (напоминаю, о минусах сборки мусора на управляемых

kuj>типах в Delphi). Ссылку на описание фризов нашел, не поленился, от тебя снова тишина. Оно мне надо так напрягаться Проще с тобой завязать и только. Будь здоров.

kuj>Ну-ну. Научись читать сначала и в теме разберись хоть немного.


Я с Паскалем 13 лет. Спасибо.

kuj>Во-первых, я никогда и нигде не говорил о минусах или плюсах "сборки мусора на управляемых типах в Delphi".


Я тебе уже показывал твои слова об этом. Больше прыгать не собираюь. Тебе нужно -- ищи.

kuj>Во-вторых, я нигде и никогда не утверждал, что FxCop или .NET или Java или что-либо еще избавляют от алгоритмических ошибок. Так что не надо ля-ля.


Я тебе говорил про потерю ресурсов на dbconnection. Ты мне сказал, что FxCop тебе все покажет. Ы?

kuj>В-третьих, про фризы я тебе уже русским языком объяснил.


Да-да. Ты сказал, что их не может быть (ты хоть по ссылке-то ходил?)
Re[16]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 02.05.08 05:57
Оценка: -1
Здравствуйте, koandrew, Вы писали:

K>Да, похоже ты таки прав. Посыпаю голову пеплом Но я точно помню, что в моём случае было по-другому. Ну да ладно — сейчас для меня это всё равно имеет чисто академический интерес. Но подобная неявная семантика ИМХО не нужна или должна быть хотя бы отключаема, ибо, если речь идёт о DX, там паттерн освобождения следующий:

K>
K>#define SAFE_RELEASE(p) if(p) { p->Release(); p = NULL; }
K>

K>Надо ли рассказывать, к чему приведёт прямое применение этого распиаренного на весь СДК способа (кстати этот макрос я взял из DX SDK, который, увы и ах, но только для C/C++) в дельфях?

Ни к чему страшному не приведет. Ну будут пустые вызовы IntfClear, и что? У меня в коде есть места, где требуется ручное управление количеством ссылок, но проблем от этого у меня нет. По поводу DX. Для существует куча DX-хидеров и даже какие-то наборы компонентов. Вообще, с хидерами особых проблем никогда не было (найти можно все).

K>В общем в сухом остатке мы имеем следующее:


K>С/С++: приходится внимательно следить за работой с памятью

K>Delphi: приходится чуть менее внимательно следить за работой с памятью, но при этом следить за интеллектуальными изысками компилятора, дабы не поймать непонятных ошибок
K>C#/Java:управление памятью нас не волнует (это забота RTL/VM) главное следить за алгоритмом

Я еще раз говорю, если ты работаешь с инструментом и не знаешь, как он работает -- ССЗБ. Обвинять компилятор в "интеллектуальных изысках", с твоей стороны, это расписываться в своей некомпетености. Не зная броду -- не лезь в воду.

K>И ещё — личная просьба — если не трудно — скомпиль тот же код в варианте Release (я надеюсь то, что ты показал, это Debug? ибо в противном случае весь компилерско-оптимизаторский тим надо разгонять к известной матери) и покажи — мне просто любопытно. Заранее благодарю!


Попытка по-громче хлопнуть дверью? Код не изменится, я это и без перекомпиляции знаю (но вообще в Delphi нет Debug/Release. под Release можно принимать компиляцию с отключенными проверками и debug info). Но это не проблема оптимизации. В реальном приложении, вполне, могут быть причины для такого кода (это не лучший способ, но тем не менее). Ручного управления подсчетом ссылок ни кто не запрещает.
Re[26]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 02.05.08 06:00
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>>>Ты действительно так туго думаешь, или только притворяешься? Я уже объяснял пошагово как работает стандартный конфигуратор из System.Configuration.

H>>Да мне пофигу, как он работает. Я тебе примеры конкретных приложений провел.

kuj>И что мне примеры твоих конкретных приложений, если ты и сам понятия не имеешь как они устроены? Ты смешон.


Какое мне дело до их устройства? Ты мне сказал, где .Net прилаги хранят свои конфиги. Я тебе привел примеры, когда конфиги храняться не там, где ты указал. О чем ты тут споришь мне не понятно
Re[24]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 02.05.08 06:06
Оценка:
Здравствуйте, Константин Б., Вы писали:

H>>>>Я уже пояснял ссылочкой
Автор: mezon
Дата: 19.01.07
, какого типа конфиги имеются ввиду.


КБ>>>Да вот только это единственный конфиг которые лежит в папке Windows Live Writer'a.


H>>Так у него и других-то нет (списки поддерживаемых блог-апи не в счет, это таки данные)


КБ>- Ты этот конфиг имеешь ввиду

КБ>- Нет не этот
КБ>- А других нет
КБ>- Да других нет

Alt+F7 -- поиск в Far'е. Показал папки приложений имеющих в рабочих папках файлы конфигурации. Я привел пример WLV для господина kuj, в качестве опровержения его слов о том, что .Net приложения хранят свои конфиги в ...AppData... Так понятно? Да, конфиг WLV, это не тот о котором изначально была речь.

КБ>hattab, у вас с головой все в порядке?


Спасибо, все хорошо.
Re[9]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 02.05.08 07:06
Оценка: 1 (1)
Здравствуйте, Cyberax, Вы писали:

C>JRE сейчас занимет порядка 7Мб. В JDK7 будет занимать примерно 2Мб (!!). Это много?


У меня на буке j2re1.4.2_05 -- 42Мб.
Re[29]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 02.05.08 07:39
Оценка:
Здравствуйте, hattab, Вы писали:

kuj>>Во-первых, я никогда и нигде не говорил о минусах или плюсах "сборки мусора на управляемых типах в Delphi".


H>Я тебе уже показывал твои слова об этом. Больше прыгать не собираюь. Тебе нужно -- ищи.


Я тебе цитату два раза приводил, даже жирным выделил, где русским по белому написано, что речь шла не о Делфи.
Ты у нас как в анекдоте про чукчу: чукча не читатель, чукча — писатель.

kuj>>Во-вторых, я нигде и никогда не утверждал, что FxCop или .NET или Java или что-либо еще избавляют от алгоритмических ошибок. Так что не надо ля-ля.


H>Я тебе говорил про потерю ресурсов на dbconnection. Ты мне сказал, что FxCop тебе все покажет. Ы?


Мда, ты хоть понимаешь значение понятия алгоритмическая ошибка? Походу нет... Вот что Delphi делает с мозгами...

kuj>>В-третьих, про фризы я тебе уже русским языком объяснил.


H>Да-да. Ты сказал, что их не может быть (ты хоть по ссылке-то ходил?)


Я тебе объяснил пошагово как они возникают. Свои проблемы со чтением решай сам.
Re[24]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 02.05.08 07:40
Оценка: -1
Здравствуйте, Константин Б., Вы писали:

КБ>hattab, у вас с головой все в порядке?


touché!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.